![]() |
1
2
您可以使用工具帮助API来枚举进程,获取它们的完整路径,并将其与所需的进程名进行比较。您需要浏览每个流程的模块列表。列表中的第一个模块是进程可执行文件本身。以下是示例代码:
|
![]() |
2
4
wmic.exe在xp、vista和7上可用,可以做到这一点。但是,它不随Windows XP家庭版一起提供。
如果您也希望支持Windows XP Home,可以使用 EnumProcess 和 GetModuleFileNameEx . 缺点是,如果您不是以管理员身份运行,则无法查询其他用户运行的进程的名称。 QueryFullProcessImageName 可能会在这里完成,但它是Vista+。
如果这还不够,你就需要
Process32First
(斯瓦特的代码)。对于您需要调用的每个进程
Module32First
然后得到
|
![]() |
3
1
您可以编写一个小的C应用程序,它首先调用 Process.GetProcessesByName(String) ,然后检查结果并打印 Id 当主模块时,每个属性的属性。 FileName 等于您要查找的路径。 |
![]() |
4
1
PowerShell可以解决您的问题,如果它内置在Win7中,并且可以在其他OSS上下载。
此脚本将接收一个参数,即您要查找的文件名,并将输出其可执行文件的文件名。 您可以通过执行以下操作从BAT文件调用此命令: powershell-命令“&get process其中-filterscript$.mainmodule.filename-eq%filename%” |
![]() |
Community wiki · 需要改变的用户界面模式? 1 年前 |
![]() |
LITzman · 使用状态处理颜色主题更改 1 年前 |
![]() |
Community wiki · 进程。退出(0):输出消失? 2 年前 |
![]() |
arsaces · 将文本添加到特定文件的末尾 2 年前 |
![]() |
YGranja · 库<图形。h> MinGW-W64缺少 2 年前 |
![]() |
Felipe Palermo · Ctrl键仍被按下,按键事件() 3 年前 |
![]() |
HCJ · win cmd中的批处理脚本循环 3 年前 |