展开全部
.版本 2
.程序集 窗口程序集1
.子程序 _按钮1_被单击
信息框 (进程名取路径 (), 0, )
.子程序 进程名取路径, 文本型
.局部变量 hSnapShot, 整数型
.局部变量 End, 整数型
.局部变量 buffer, PROCESSENTRY32
.局部变量 buf, 文本型
.局部变量 hProcess, 整数型
.局部变量 hbuf, 整数型, , "255"
.局部变量 pid, 整数型
hSnapShot = CreateToolhelp32Snapshot (2, 0)
buffer.dwSize = 296
End = Process32First (hSnapShot, buffer)
.判断循环首 (End ≠ 0)
.如果真 (到大写 (到文本 (buffer.szExeFile)) = 到大写 (编辑框1.内容))
pid = buffer.th32ProcessID
跳出循环 ()
.如果真结束
End = Process32Next (hSnapShot, buffer)
.判断循环尾 ()
CloseHandle (hSnapShot)
hProcess = OpenProcess (1024, 假, pid)
buf = 取空白文本 (255)
' 第一种
GetProcessImageFileName (hProcess, buf, 255)
buf = DOS路径转换_ (buf)
' 第二种
' GetModuleFileNameExA (hProcess, 模块句柄 [1], buf, 255)
' GetLongPathNameA (buf, buf, 255)
CloseHandle (hProcess)
返回 (删尾空 (buf))
.子程序 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, DOS设备 [n], , 真) ≠ -1)
' 把路径中类似于 \Device\HarddiskVolume1 的部分用 C:、D:等对应代替
txt = 子文本替换 (txt, DOS设备 [n], 逻辑驱动器 [n], 0, 1, 假)
返回 (txt)
跳出循环 ()
.如果真结束
.计次循环尾 ()
.如果真结束
返回 (txt)
.程序集 窗口程序集1
.子程序 _按钮1_被单击
信息框 (进程名取路径 (), 0, )
.子程序 进程名取路径, 文本型
.局部变量 hSnapShot, 整数型
.局部变量 End, 整数型
.局部变量 buffer, PROCESSENTRY32
.局部变量 buf, 文本型
.局部变量 hProcess, 整数型
.局部变量 hbuf, 整数型, , "255"
.局部变量 pid, 整数型
hSnapShot = CreateToolhelp32Snapshot (2, 0)
buffer.dwSize = 296
End = Process32First (hSnapShot, buffer)
.判断循环首 (End ≠ 0)
.如果真 (到大写 (到文本 (buffer.szExeFile)) = 到大写 (编辑框1.内容))
pid = buffer.th32ProcessID
跳出循环 ()
.如果真结束
End = Process32Next (hSnapShot, buffer)
.判断循环尾 ()
CloseHandle (hSnapShot)
hProcess = OpenProcess (1024, 假, pid)
buf = 取空白文本 (255)
' 第一种
GetProcessImageFileName (hProcess, buf, 255)
buf = DOS路径转换_ (buf)
' 第二种
' GetModuleFileNameExA (hProcess, 模块句柄 [1], buf, 255)
' GetLongPathNameA (buf, buf, 255)
CloseHandle (hProcess)
返回 (删尾空 (buf))
.子程序 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, DOS设备 [n], , 真) ≠ -1)
' 把路径中类似于 \Device\HarddiskVolume1 的部分用 C:、D:等对应代替
txt = 子文本替换 (txt, DOS设备 [n], 逻辑驱动器 [n], 0, 1, 假)
返回 (txt)
跳出循环 ()
.如果真结束
.计次循环尾 ()
.如果真结束
返回 (txt)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询