|
发表于 2018-11-16 16:50:32
|
显示全部楼层
广东省佛山市
本帖最后由 shuxiang 于 2018-11-16 16:51 编辑
模块版本:6.9
所用系统:XP
命令名称:窗口_句柄取进程路径
BUG描述:无法找到指定dll库文件“psapi.dll”中的输出命令“EnumProcessModulesEx”
我的联系QQ:2292505836
xp中psapi.dll版本是5.1的,是没有EnumProcessModulesEx函数的,所以会出错!
模块源码:
.版本 2
.子程序 窗口_句柄取进程路径, 文本型, 公开, 根据指定窗口句柄获取程序文件路径,失败返回空!
.参数 窗口句柄
.局部变量 局_进程ID
.局部变量 局_所需内存
.局部变量 局_进程句柄
.局部变量 局_模块数组, , , "255"
.局部变量 局_模块路径, 文本型
.局部变量 局_返回路径, 文本型
GetWindowThreadProcessId (窗口句柄, 局_进程ID)
.如果真 (局_进程ID > 0)
局_进程句柄 = OpenProcess (位或 (1024, 16), 0, 局_进程ID)
.如果真 (局_进程句柄 > 0)
.如果真 (EnumProcessModulesEx (局_进程句柄, 局_模块数组 [1], 256, 局_所需内存, #LIST_MODULES_ALL))
局_模块路径 = 取空白文本 (512)
GetModuleFileNameExA (局_进程句柄, 局_模块数组 [1], 局_模块路径, 256)
.如果 (寻找文本 (局_模块路径, “\??\”, , 假) ≠ -1)
局_返回路径 = 子文本替换 (局_模块路径, “\??\”, “”, , , 真)
.否则
局_返回路径 = 局_模块路径
.如果结束
处理事件 ()
.如果真结束
CloseHandle (局_进程句柄)
.如果真结束
处理事件 ()
.如果真结束
返回 (局_返回路径)
|
|