如果我只知道exe文件名,如何在Windows程序中知道进程是否正在运行?有问题的过程是64位的TeamSpeak3 ts3client_win64.exe和32位的ts3client_win32.exe.
我正在使用C++
使用该CreateToolhelp32Snapshot函数创建当前进程表的快照,然后使用Process32First和Process32Next函数迭代快照.您可以通过查看结构的szExeName字段来获取每个可执行文件的名称PROCESSENTRY32.
有关如何使用这些函数的示例,请参阅MSDN示例.
这种方法的优点在于,与任何EnumProcesses基于解决方案的解决方案不同,它不会受到竞争条件的影响:EnumProcesses在您完成枚举流程之后但在开始流程(或阅读流程)之前,流程可能会被破坏我们的流程可执行文件名称).