Atitit,通过pid获取进程文件路径 java php c#.net版本大总结
1. 通过PID获取进程路径的几种方法2
1.1. GetModuleFileNameEx 想获得进程可执行文件的路径最常用的方法是通过GetModuleFileNameEx函数获得可执行文件的模块路径这个函数从Windows NT 4.0开始到现在的Vista系统都能使用,向后兼容性比较好。2
1.2. 第二种方法是GetProcessImageFileName函数,这个函数在Windows XP及其以后的系统中都能使用,使用此函数返回的路径不是通常的系统盘符,如"C:\...",而是驱动层的表示方式"\Device\HarddiskVolume1\...",所以使用起来不是很方便。2
1.3. 第三种方法是使用Windows Vista新增的函数QueryFullProcessImageName,由于是Vista新增的,所以兼容性不好。2
2. 使用powershell 相等于调用System.Diagnostics.Process2
2.1. Get-Process -id 6712 -FileVersionInfo2
2.1.1. -FileVersionInfo3
2.2. C#.net版本3
2.3. Note3
3. 获取加载的dll模块列表 Get-Process -id 6712 -Module3
4. 参考10
1.1. GetModuleFileNameEx 想获得进程可执行文件的路径最常用的方法是通过GetModuleFileNameEx函数获得可执行文件的模块路径这个函数从Windows NT 4.0开始到现在的Vista系统都能使用,向后兼容性比较好。
1.2. 第二种方法是GetProcessImageFileName函数,这个函数在Windows XP及其以后的系统中都能使用,使用此函数返回的路径不是通常的系统盘符,如"C:\...",而是驱动层的表示方式"\Device\HarddiskVolume1\...",所以使用起来不是很方便。
1.3. 第三种方法是使用Windows Vista新增的函数QueryFullProcessImageName,由于是Vista新增的,所以兼容性不好。
2. 使用powershell 相等于调用System.Diagnostics.Process
2.1. Get-Process -id 6712 -FileVersionInfo
PS C:\Windows\winsxs\amd64_microsoft-windows-gpowershell-exe_31bf3856ad364e35_6.1.7600.16385_none_94861149bb66249c> Get-Process -id 6712 -FileVersionInfo
ProductVersion FileVersion FileName
-------------- ----------- --------
C:\eclipse\eclipse.exe
2.1.1. -FileVersionInfo
获取进程中运行的程序的文件版本信息。
在 Windows Vista 以及更高版本的 Windows 上,必须使用“以管理员身份运行”选项打开 Windows PowerShell,才能对您不具有所有权的进程使用此参数。
使用此参数等效于获取每个进程对象的 MainModule.FileVersionInfo 属性。如果使用此参数,则 Get-Process 返回 FileVersionInfo 对象 (System.Diagnostics.FileVersionInfo),而非进程对象。因此,不能通过管道将命令输出传递到需要进程对象的 cmdlet(例如 Stop-Process)。
作者:: 绰号:老哇的爪子 ( 全名::Attilax akbar al rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:[email protected]
2.2. C#.net版本
//根据名称获取进程 Process[] ps = Process.GetProcessesByName("NameStr"); foreach (Process p in ps) { //输出进程路径 Console.WriteLine(p.MainModule.FileName); }
2.3. Note
需要先设置权限RemoteSigned前面有空格与set-ExecutionPolicy 隔开
set-ExecutionPolicy RemoteSigned
3. 获取加载的dll模块列表 Get-Process -id 6712 -Module
PS C:\Windows\winsxs\amd64_microsoft-windows-gpowershell-exe_31bf3856ad364e35_6.1.7600.16385_none_94861149bb66249c> Get-Process -id 6712 -Module
Size(K) ModuleName FileName
------- ---------- --------
316 eclipse.exe C:\eclipse\eclipse.exe
1700 ntdll.dll C:\Windows\SYSTEM32\ntdll.dll
1152 kernel32.dll C:\Windows\system32\kernel32.dll
432 KERNELBASE.dll C:\Windows\system32\KERNELBASE.dll
1000 USER32.dll C:\Windows\system32\USER32.dll
412 GDI32.dll C:\Windows\system32\GDI32.dll
56 LPK.dll C:\Windows\system32\LPK.dll
808 USP10.dll C:\Windows\system32\USP10.dll
636 msvcrt.dll C:\Windows\system32\msvcrt.dll
2000 COMCTL32.dll C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.18837_none_fa3b1e3d17594757\COMCTL32.dll
452 SHLWAPI.dll C:\Windows\system32\SHLWAPI.dll
184 IMM32.DLL C:\Windows\system32\IMM32.DLL
1060 MSCTF.dll C:\Windows\system32\MSCTF.dll
72 eclipse_1608.dll C:\eclipse\plugins\org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20150204-1316\eclipse_1608.dll
876 ADVAPI32.dll C:\Windows\system32\ADVAPI32.dll
124 sechost.dll C:\Windows\SYSTEM32\sechost.dll
1204 RPCRT4.dll C:\Windows\system32\RPCRT4.dll
48 VERSION.dll C:\Windows\system32\VERSION.dll
344 uxtheme.dll C:\Windows\system32\uxtheme.dll
2060 ole32.dll C:\Windows\system32\ole32.dll
60 CRYPTBASE.dll C:\Windows\system32\CRYPTBASE.dll
8552 jvm.dll C:\eclipse\jre\bin\server\jvm.dll
36 WSOCK32.dll C:\Windows\system32\WSOCK32.dll
308 WS2_32.dll C:\Windows\system32\WS2_32.dll
32 NSI.dll C:\Windows\system32\NSI.dll
236 WINMM.dll C:\Windows\system32\WINMM.dll
28 PSAPI.DLL C:\Windows\system32\PSAPI.DLL
840 MSVCR100.dll C:\Windows\system32\MSVCR100.dll
60 verify.dll C:\eclipse\jre\bin\verify.dll
160 java.dll C:\eclipse\jre\bin\java.dll
88 zip.dll C:\eclipse\jre\bin\zip.dll
13860 SHELL32.dll C:\Windows\system32\SHELL32.dll
60 profapi.dll C:\Windows\system32\profapi.dll
96 CRYPTSP.dll C:\Windows\system32\CRYPTSP.dll
284 rsaenh.dll C:\Windows\system32\rsaenh.dll
120 USERENV.dll C:\Windows\system32\USERENV.dll
104 net.dll C:\eclipse\jre\bin\net.dll
1036 AcSpi64.dll C:\Windows\system32\AcSpi64.dll
860 OLEAUT32.dll C:\Windows\system32\OLEAUT32.dll
68 WTSAPI32.dll C:\Windows\system32\WTSAPI32.dll
452 WINHTTP.dll C:\Windows\system32\WINHTTP.dll
400 webio.dll C:\Windows\system32\webio.dll
1200 PROPSYS.dll C:\Windows\system32\PROPSYS.dll
340 mswsock.dll C:\Windows\system32\mswsock.dll
28 wship6.dll C:\Windows\System32\wship6.dll
1884 SETUPAPI.dll C:\Windows\system32\SETUPAPI.dll
216 CFGMGR32.dll C:\Windows\system32\CFGMGR32.dll
104 DEVOBJ.dll C:\Windows\system32\DEVOBJ.dll
156 IPHLPAPI.DLL C:\Windows\system32\IPHLPAPI.DLL
44 WINNSI.DLL C:\Windows\system32\WINNSI.DLL
68 dhcpcsvc6.DLL C:\Windows\system32\dhcpcsvc6.DLL
96 dhcpcsvc.DLL C:\Windows\system32\dhcpcsvc.DLL
68 nio.dll C:\eclipse\jre\bin\nio.dll
84 NLAapi.dll C:\Windows\system32\NLAapi.dll
84 napinsp.dll C:\Windows\system32\napinsp.dll
100 pnrpnsp.dll C:\Windows\system32\pnrpnsp.dll
364 DNSAPI.dll C:\Windows\system32\DNSAPI.dll
44 winrnr.dll C:\Windows\System32\winrnr.dll
152 mdnsNSP.dll C:\Program Files\Bonjour\mdnsNSP.dll
28 wshtcpip.dll C:\Windows\System32\wshtcpip.dll
32 rasadhlp.dll C:\Windows\system32\rasadhlp.dll
332 fwpuclnt.dll C:\Windows\System32\fwpuclnt.dll
672 swt-win32-4430.dll C:\eclipse\configuration\org.eclipse.osgi\869\0\.cp\swt-win32-4430.dll
604 comdlg32.dll C:\Windows\system32\comdlg32.dll
452 WINSPOOL.DRV C:\Windows\system32\WINSPOOL.DRV
1388 WININET.dll C:\Windows\system32\WININET.dll
12 Normaliz.dll C:\Windows\system32\Normaliz.dll
2120 iertutil.dll C:\Windows\system32\iertutil.dll
1372 urlmon.dll C:\Windows\system32\urlmon.dll
1460 CRYPT32.dll C:\Windows\system32\CRYPT32.dll
60 MSASN1.dll C:\Windows\system32\MSASN1.dll
96 dwmapi.dll C:\Windows\system32\dwmapi.dll |
请发表评论