hollice 发表于 2019-11-28 18:40:37

在win10下怎么获取到svchost.exe的路径

本帖最后由 hollice 于 2019-11-28 19:55 编辑

请教一下大哥们,在win10下怎么获取到svchost.exe的路径,我获取到的总是空白,在au3中怎么利用这个QueryFullProcessImageName

229989799 发表于 2019-11-28 20:28:15

不知道你说的是不是这个。。帮助文件看到的。

_WinAPI_GetProcessFileName
检索指定进程可执行文件的完全有效路径.


#include <WinAPIProc.au3>
_WinAPI_GetProcessFileName ( [$iPID = 0] )


参 数
$iPID [可选] 进程 PID. 默认 0, 为当前进程.

返 回 值
成功: 返回文件的完整路径.
失败: @error 设置 为非 0 值.

参 考 资 料
点击 GetModuleFileNameEx 搜索 MSDN 文档库.

函 数 示 例

#include <WinAPIProc.au3>

Local $iID = ProcessExists('SciTE.exe')

If $iID Then
    ConsoleWrite(_WinAPI_GetProcessFileName($iID) & @CRLF)
EndIf


hollice 发表于 2019-11-28 23:06:35

这个不行,在win10下获取不到系统进程的路径

floor6ggg 发表于 2020-1-4 22:30:17

今天翻看旧贴,有一个2008年的qin147的帖子,可以帮到你………………

http://www.autoitx.com/thread-3899-1-1.html

宝物沉锅底!!!!……………………

floor6ggg 发表于 2020-1-4 22:33:36

本帖最后由 floor6ggg 于 2020-1-4 22:39 编辑

原帖的代码相当强大!!!!!!
我稍稍修改了一下,方便查看你想要的结果
$objWMIService = ObjGet("winmgmts:\\.\root\CIMV2:win32_process")
$colItems = $objWMIService.instances_

$i=0
For $objItem In $colItems
      If $objItem.Name ='svchost.exe' Then
                $Pid ="Pid: " & $objItem.ProcessId         
                $Name = "Name: " & $objItem.Name
                $path = "Path: " & $objItem.executablepath
                consolewrite($i&@tab&''&@tab&$Pid&@tab         &$Name&@tab         &$path&@crlf)
                $i +=1
      EndIf
Next

测试的结果
+>执行环境:
+>      CPU构架:      X64
+>      系统构架:      X64
+>      系统语言:      0804
+>      键盘布局:      00000804
+>      内存总量:      16308MB
+>      内存剩余:      11796MB
+>      操作系统:      WIN_81
+>      AU3版本:      3.3.14.3
+> ============================================
>运行 AU3Check (3.3.14.3)开始目录:D:\autoit3
+>22:25:43 AU3Check 完成:0
>运行:(3.3.14.3):D:\autoit3\autoit3_x64.exe "C:\Users\XP\Desktop\test.au3"   
0                Pid: 544      Name: svchost.exe      Path: C:\Windows\system32\svchost.exe
1                Pid: 928      Name: svchost.exe      Path: C:\Windows\system32\svchost.exe
2                Pid: 1120      Name: svchost.exe      Path: C:\Windows\system32\svchost.exe
3                Pid: 1176      Name: svchost.exe      Path: C:\Windows\system32\svchost.exe
...............................................中间省略70多条记录......................................................
80                Pid: 2784      Name: svchost.exe      Path: C:\Windows\System32\svchost.exe
81                Pid: 16176      Name: svchost.exe      Path: C:\Windows\system32\svchost.exe
82                Pid: 9064      Name: svchost.exe      Path:
83                Pid: 15448      Name: svchost.exe      Path: C:\Windows\system32\svchost.exe
+>22:25:44 AutoIt3.exe 完成::0
+>22:25:45 ACNWrapper 完成..
>退出代码: 0      运行时间: 2.751 秒



floor6ggg 发表于 2020-1-4 22:37:42

没有用到你想要的QueryFullProcessImageName函数

计算机的基本信息
Windows版本
Windows 10专业版

另外一个win7系统也测试成功

试试看吧,希望能帮助到你………………………………

hollice 发表于 2020-1-6 16:24:24

本帖最后由 hollice 于 2020-1-6 16:33 编辑

floor6ggg 发表于 2020-1-4 22:37
没有用到你想要的QueryFullProcessImageName函数

计算机的基本信息

谢谢您。
页: [1]
查看完整版本: 在win10下怎么获取到svchost.exe的路径