0 1 0
分享排行榜
修正错误贡献榜
已审核词条 未审核词条
子程序名返回值类型公开备 注
进程_PID取路径文本型 解决了一个句柄泄漏问题
参数名类 型参考可空数组备 注
PID整数型进程ID
变量名类 型静态数组备 注
handle整数型 
a文本型 
buf文本型 
handle = OpenProcess (1024, 假, PID)
如果真 (handle = 0)
handle = 进程_强力打开进程 (1024, 假, PID)
buf = 取空白文本 (512)
如果真 (GetProcessImageFileNameA (handle, buf, 512) = 0)
返回 (“”)
CloseHandle (handle)
buf = DOS路径转换_ (buf)
buf = 删首尾空 (buf)
如果 (buf = “”)
返回 (“-”)
a = buf
a = 子文本替换 (a, “\Device\HarddiskVolume6”, “H:”, , , )
a = 子文本替换 (a, “\Device\HarddiskVolume5”, “G:”, , , )
a = 子文本替换 (a, “\Device\HarddiskVolume4”, “F:”, , , )
a = 子文本替换 (a, “\Device\HarddiskVolume3”, “E:”, , , )
a = 子文本替换 (a, “\Device\HarddiskVolume2”, “D:”, , , )
a = 子文本替换 (a, “\Device\HarddiskVolume1”, “C:”, , , )
返回 (a)

子程序名返回值类型公开备 注
DOS路径转换_文本型 
参数名类 型参考可空数组备 注
txt文本型
变量名类 型静态数组备 注
buf_文本型 
buf字节集 
size整数型 
数组字节集0
驱动器数目整数型 
n整数型 
逻辑驱动器文本型0
DOS设备文本型0
局_数据文本型 
size = GetLogicalDriveStringsA (0, { })
buf = 取空白字节集 (size)
GetLogicalDriveStringsA (size, buf) ' 获取逻辑驱动器文本
数组 = 分割字节集 (buf, { 0 }, )
驱动器数目 = 取数组成员数 (数组) - 1
如果真 (驱动器数目 > 0)
重定义数组 (逻辑驱动器, 假, 驱动器数目)
重定义数组 (DOS设备, 假, 驱动器数目)
计次循环首 (驱动器数目, n)
buf = 数组 [n]
buf [取字节集长度 (buf)] = 0
逻辑驱动器 [n]到文本 (buf)
buf_ = 取空白文本 (260)
QueryDosDeviceA (逻辑驱动器 [n], buf_, 260)
DOS设备 [n] = buf_
计次循环尾 ()
n = 0
计次循环首 (驱动器数目, n)
局_数据 = 文本_取右边 (txt, “\Device\”, , )
局_数据 = “\Device\”文本_取左边 (局_数据, “\”, , )
如果真 (局_数据 = DOS设备 [n])
' 把路径中类似于 \Device\HarddiskVolume1 的部分用 C:、D:等对应代替
txt = 子文本替换 (txt, DOS设备 [n], 逻辑驱动器 [n], 0, 1, )
返回 (txt)
跳出循环 ()

计次循环尾 ()
返回 (txt)
DLL命令名返回值类型公开备 注
GetLogicalDriveStringsA整数型 _系统取所有磁盘盘符 获取一个字串,其中包含了当前所有逻辑驱动器的根驱动器路径 装载到lpBuffer的字符数量(排除空中止字符)。如缓冲区的长度不够,不能容下路径,则返回值就变成要求的缓冲区大小。零表示失败。会设置GetLastError
DLL库文件名:
kernel32
在DLL库中对应命令名:
GetLogicalDriveStringsA
参数名类 型传址数组备 注
缓冲器长度整数型lpBuffer字串的长度
缓冲区字节集用于装载逻辑驱动器名称的字串。每个名字都用一个NULL字符分隔,在最后一个名字后面用两个NULL表示中止(空中止);


词条作者信息
项目部004 -  一个月只活跃几分钟
使用例程
参与校正错误的易友
评论列表   发现违规评论、广告、刷屏,请点击举报(有奖)
2019-9-14 06:26zknet
目前在使用中发现一个文件,路径识别有时会有错误!<br>会识别为 R:2\ 其实盘符是 Y:\
  • Copyright © ijingyi.com All Rights Reserved.