У меня есть следующий сценарий: мне нужно определить определенную программу, запущенную в Windows, прежде чем я смогу выполнить свою программу, например, моя программа должна знать, действительно ли LogMeIn установлен и запущен, I использовали некоторые подходы, такие как перечисление процессов с использованием psapi.dll, но я думаю, что имя процесса может измениться на этапе установки и конфигурации, поэтому я не знаю, как убедиться, что я всегда могу найти этот процесс независимо от этого. Я использую некоторые тесты на основе следующих фрагментов кода: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682623(v=vs.85).aspxИдентификация запущенной программы в Windows
Другой подход заключается в использовании кода реестра, но я обнаружил, что он также может быть изменен, и он не является стандартным.
«EnumProcesses» - это тот подход, который я бы тоже принял. Я не понимаю, в чем проблема. Если имя программы изменилось, это уже не та самая программа. Ты мало что можешь с этим поделать. Альтернативой является проверка файловой системы/реестра. Опять же, это тоже может измениться. –
По * имени процесса * Вы имеете в виду имя * .exe *, а не имя приложения? – hmjd
Я использую имя приложения itsef. и идея всегда обнаруживает, что logMein и другие работают неважно, работает ли программа с измененным именем или ключом реестра изменений и т. д. Я пытаюсь определить наиболее стандартный подход, чтобы связать правильный PID и действовать соответственно. – willyMon