黑色袜子 发表于 2010-11-4 22:07:04

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

本帖最后由 黑色袜子 于 2010-11-5 00:56 编辑

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

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

afan 发表于 2010-11-4 22:10:05

_WinAPI_GetModuleFileNameEx()

黑色袜子 发表于 2010-11-4 22:14:25

回复 2# afan


    能否给个范文!!!不太懂!!!

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))

kood481748 发表于 2010-11-5 00:09:43

如果问题已经解决,请把代码贴在楼顶,方便大家观阅

shuangsexing 发表于 2011-12-24 01:43:30

不错,学习了

stwcb2007 发表于 2012-3-26 23:42:30

很好
找了半天终于找到
学习了
谢谢

xms77 发表于 2012-7-15 11:53:55

回复 1# 黑色袜子
貌似不行,ProcessExists函数返回的是进程的PID,而_WinAPI_GetModuleFileNameEx函数需要的参数是进程的句柄,所有不行。
需要加入 _WinAPI_OpenProcess(0x001F0FFF, True, $ProcessID, False)来获取进程句柄才行

kood481748 发表于 2012-7-15 12:12:45

回复 9# xms77

回复9楼:楼主提供的代码在3361版本上面确实是可行的,至于在3390版本为什么不行,我也不知道原因了。

xms77 发表于 2012-7-15 12:59:32

回复 10# kood481748
3.3.7.15版本就不行了

loveauto 发表于 2012-10-25 10:52:15

回复 9# xms77

此胸正解,测试可行

流沙枫 发表于 2013-1-14 16:29:46

错误: _WinAPI_DuplicateHandle() 已经被定义?

什么情况?

mikezunya 发表于 2013-6-1 00:25:50

_WinAPI_GetModuleFileNameEx(): 未定义的函数.
MsgBox(0,"",_WinAPI_GetModuleFileNameEx($pid)
为什么显示未定义呢?

时空之门 发表于 2013-10-21 17:04:02

可能版本不同所需要的头文件也不同,楼上需要看下帮助文档里这个函数所需的头文件,把它加上
页: [1] 2
查看完整版本: 如何通过进程名或者PID获取进程路径[已解决]