找回密码
 加入
搜索
查看: 14506|回复: 18

[系统综合] 如何通过进程名或者PID获取进程路径[已解决]

 火.. [复制链接]
发表于 2010-11-4 22:07:04 | 显示全部楼层 |阅读模式
本帖最后由 黑色袜子 于 2010-11-5 00:56 编辑

RT,不调用外部程序!!!

问题已经解决代码如下:
#Include <WinAPIEx.au3>
$Pid = ProcessExists("explorer.exe")
MsgBox(0,"",_WinAPI_GetModuleFileNameEx($pid))

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-11-4 22:10:05 | 显示全部楼层
_WinAPI_GetModuleFileNameEx()
 楼主| 发表于 2010-11-4 22:14:25 | 显示全部楼层
回复 2# afan


    能否给个范文!!!不太懂!!!
发表于 2010-11-4 22:16:00 | 显示全部楼层
帮助文档里面有现货
 楼主| 发表于 2010-11-4 22:25:20 | 显示全部楼层
已经解决了!!!群里的风行者帮忙的!!!谢谢了,也谢谢afan

我将代码贴出来提供给不会的网友!!!
#Include <WinAPIEx.au3>
$Pid = ProcessExists("explorer.exe")
MsgBox(0,"",_WinAPI_GetModuleFileNameEx($pid))
发表于 2010-11-5 00:09:43 | 显示全部楼层
如果问题已经解决,请把代码贴在楼顶,方便大家观阅
发表于 2011-12-24 01:43:30 | 显示全部楼层
不错,学习了
发表于 2012-3-26 23:42:30 | 显示全部楼层
很好
找了半天终于找到
学习了
谢谢
发表于 2012-7-15 11:53:55 | 显示全部楼层
回复 1# 黑色袜子
貌似不行,ProcessExists函数返回的是进程的PID,而_WinAPI_GetModuleFileNameEx函数需要的参数是进程的句柄,所有不行。
需要加入 _WinAPI_OpenProcess(0x001F0FFF, True, $ProcessID, False)来获取进程句柄才行

评分

参与人数 1金钱 +10 收起 理由
黑色袜子 + 10 谢谢。想不到2年后还会用到这个问题。

查看全部评分

发表于 2012-7-15 12:12:45 | 显示全部楼层
回复 9# xms77

回复9楼:楼主提供的代码在3361版本上面确实是可行的,至于在3390版本为什么不行,我也不知道原因了。
发表于 2012-7-15 12:59:32 | 显示全部楼层
回复 10# kood481748
3.3.7.15版本就不行了
发表于 2012-10-25 10:52:15 | 显示全部楼层
回复 9# xms77

此胸正解,测试可行
发表于 2013-1-14 16:29:46 | 显示全部楼层
错误: _WinAPI_DuplicateHandle() 已经被定义?

什么情况?
发表于 2013-6-1 00:25:50 | 显示全部楼层
_WinAPI_GetModuleFileNameEx(): 未定义的函数.
MsgBox(0,"",_WinAPI_GetModuleFileNameEx($pid)
为什么显示未定义呢?
发表于 2013-10-21 17:04:02 | 显示全部楼层
可能版本不同所需要的头文件也不同,楼上需要看下帮助文档里这个函数所需的头文件,把它加上
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-22 21:59 , Processed in 0.102022 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表