Я работаю над установщиком NSIS и пытаюсь проверить, запущено ли какое-либо приложение перед деинсталляцией. Итак, я использую вызов kernel32::CreateMutexA
. Вот фрагмент:Обнаружить, если экземпляр запущен с kernel32 :: CreateMutexA
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "cmd.exe") i .r1 ?e'
Pop $R0
StrCmp $R0 0 +3
MessageBox MB_USERICON "The application is already running."
Abort
Я положил его в un.onInit
. Проблема в том, что процесс (cmd.exe
здесь) не обнаружен.
Я что-то пропустил?
Tx.
Любое количество экземпляров cmd.exe может работать в системе по нескольким причинам. – Anders
Собственно, 'cmd.exe' был всего лишь примером. – Anonymous