找回密码
 加入
搜索
查看: 8995|回复: 7

[系统综合] [已解决]通过AU3获取进程路径,不要WMI等

  [复制链接]
发表于 2010-4-5 12:29:01 | 显示全部楼层 |阅读模式
本帖最后由 jycel 于 2010-4-5 14:01 编辑

网吧刚换成了无盘,发现使用不了WMI一用就报错
下面是通过wmi获取所有进程的PID、名称及路径,有法用AU3实现么?
目的就是获取指定进程的路径
$objWMIService = ObjGet("winmgmts:\\.\root\CIMV2:win32_process")
$colItems = $objWMIService.instances_
For $objItem In $colItems
$Pid =  "Pid: " & $objItem.ProcessId         
$Name = "Name: " & $objItem.Name 
$path = "Path: " & $objItem.executablepath
        MsgBox(0,'',$Pid&@LF _ 
        &$Name&@LF _ 
        &$path)
Next

评分

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

查看全部评分

发表于 2010-4-5 13:05:02 | 显示全部楼层
$iPid=ProcessExists("explorer.exe")
MsgBox(0,"",_GetModuleFileNameEx($iPid))
Func _GetModuleFileNameEx($_Pid)
        $_Hwnd=DllCall("Kernel32.dll","hwnd","OpenProcess","dword",0x0400+0x0010,"int",0,"dword",$_Pid)        
        $_Return=DllCall("Psapi.dll","long","GetModuleFileNameEx","hwnd",$_Hwnd[0],"long",0,"str",0,"long",255)        
        DllCall("Kernel32.dll","int","CloseHandle","hwnd",$_Hwnd[0])        
        If StringInStr($_Return[3],"") Then Return $_Return[3]
        Return ""
EndFunc

评分

参与人数 2威望 +1 金钱 +75 贡献 +1 收起 理由
jycel + 50 + 1
afan + 1 + 25

查看全部评分

 楼主| 发表于 2010-4-5 13:51:23 | 显示全部楼层
谢谢!马上测试下!
发表于 2013-10-31 15:12:26 | 显示全部楼层
感谢2楼的代码。学习了
发表于 2014-5-6 12:29:39 | 显示全部楼层
终于可以看了,等得蛋疼啊。
发表于 2014-5-6 12:29:52 | 显示全部楼层
感谢2楼的代码。学习了
发表于 2015-1-15 19:23:51 | 显示全部楼层
感谢2楼的代码。学习了
发表于 2015-5-19 11:06:18 | 显示全部楼层
谢谢二楼的代码。正好需要
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-24 08:04 , Processed in 0.083922 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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