打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
通过PID获取进程路径|Autoit脚本代码


  1. MsgBox(64,"进程信息","进程路径是:"&Processpath(616))
  2. Func Processpath($iPID)
  3. ;通过API获取指定PID的进程路径
  4. ;官方牛人制作
  5. Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID)
  6. If $aProc[0] = 0 Then Return SetError(1, 0, '')
  7. Local $vStruct = DllStructCreate('int[1024]')
  8. DllCall('psapi.dll', 'int', 'EnumProcessModules', 'hwnd', $aProc[0], 'ptr', DllStructGetPtr($vStruct), 'int', DllStructGetSize($vStruct), 'int_ptr', 0)
  9. Local $aReturn = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', 'hwnd', $aProc[0], 'int', DllStructGetData($vStruct, 1), 'str', '', 'int', 2048)
  10. If StringLen($aReturn[3]) = 0 Then Return SetError(2, 0, '')
  11. Return $aReturn[3]
  12. EndFunc
  13. MsgBox(64,"进程信息","进程路径是:"&Procespath(616))
  14. Func Procespath($pid)
  15. ;通过WMI获取指定PID的进程路径
  16. ;叁恨居士制作
  17. $strComputer = "."
  18. $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "oot\CIMV2")
  19. $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE ProcessId = "&$pid)
  20. For $objItem In $colItems
  21. $cmdpath = $objItem.CommandLine
  22. $exepath = $objItem.ExecutablePath
  23. $path=StringSplit($cmdpath,"\")
  24. if $path[0]<=2 Then
  25. Return $exepath
  26. Else
  27. Return $cmdpath
  28. EndIf
  29. Next
  30. EndFunc
  31. [/language]
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
两个简易VBS脚本结束进程与防止进程启动 - 『VBS作品&程序』 - 非常批处理交流论坛...
监视Rails进程内存泄漏的技巧
23个服务器常见问题处理方法!
shell常用命令
shell 中 父进程 子进程 即异步执行
让Python脚本成为守护进程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服