Я прочитал следующий пост. Мой код выглядит точно так же, но не работает:
Inno Setup Проверка работающего процесса
Я скопировал пример с http://www.vincenzo.net/isxkb/index.php?title=PSVince
Но пример также не работает, даже если я изменю код следующим образом:
[Code]
function IsModuleLoaded(modulename: AnsiString): Boolean;
external '[email protected]:psvince.dll stdcall';
Код всегда возвращает false
(программа не запущена, даже работает). Протестировано на Windows 2008 R2 и Windows 7.
На самом деле я хочу проверить, tomcat5.exe
или нет. Так что я думаю, что не могу работать с AppMutex
.
Я также видел https://code.google.com/p/psvince/source/detail?r=5
Но я не могу найти какие-либо факты о совместимости этой DLL.
Полный код:
[Files]
Source: psvince.dll; Flags: dontcopy
[Code]
function IsModuleLoaded(modulename: AnsiString ): Boolean;
external '[email protected]:psvince.dll stdcall';
function InitializeSetup(): Boolean;
begin
if(IsModuleLoaded( 'notepad.exe' )) then
begin
MsgBox('Running', mbInformation, MB_OK);
Result := false;
end
else
begin
MsgBox('Not running', mbInformation, MB_OK);
Result := true;
end
end;