0

我有以下场景,我需要先检测在 Windows 中运行的特定程序,然后才能执行我的程序,例如我的程序需要知道 LogMeIn 是否实际安装并运行才能继续,我使用了一些方法,例如使用 psapi 枚举进程.dll 但我认为进程名称可能会在安装和配置阶段发生变化,所以我不知道如何确保我可以始终独立于此找到进程。我正在使用基于以下代码片段的一些测试:http: //msdn.microsoft.com/en-us/library/windows/desktop/ms682623 (v=vs.85).aspx

另一种方法是使用注册表代码,但我发现它也可以修改并且它不是标准的。

4

1 回答 1

0

如果您要跟踪的程序是窗口化的(因此显示了一个窗口)并且窗口标题是您预测的。您可以使用EnumWindows函数。如果标题发生了变化,但在不同的运行中仍然有一些相同的单词,您可以使用正则表达式来查看名称是否与您想要的匹配。例子:

LogMeIn 正在运行...

2012-03-27:LogMeIn

这两个字符串共享一个通用且明确的名称,因此您可以知道这将是您要查找的内容。您可以将此推理应用于 EnumProcess 方法

于 2012-03-27T16:10:50.350 回答