Przeczytałem następujący wpis. Mój kod wygląda dokładnie tak samo, ale nie działa:Jak sprawdzić z inno-setup, jeśli proces jest uruchomiony na Windows 2008 r2 64bit?
Inno Setup Checking for running process
skopiowałem przykład z http://www.vincenzo.net/isxkb/index.php?title=PSVince
Ale przykład Doe nie działało, nawet jeśli mogę zmienić kod tak:
[Code]
function IsModuleLoaded(modulename: AnsiString): Boolean;
external '[email protected]:psvince.dll stdcall';
Kod zawsze zwraca wartość false (program nie działa, nawet jeśli jest uruchomiony). Testet w Windows 2008 R2 i Windows 7
W rzeczywistości chcę sprawdzić, czy tomcat5.exe jest uruchomiony, czy nie. Więc myślę, że nie mogę pracować z AppMutex.
Wszelkie pomysły?
UPDATE Widziałem https://code.google.com/p/psvince/source/detail?r=5 Ale nie mogę znaleźć żadnych faktów na temat zgodności tego DLL.
KOD Kompletna ISS:
[Setup]
AppName=PSVince
AppVerName=PSVince 1.0
DisableProgramGroupPage=true
DisableStartupPrompt=true
OutputDir=.
OutputBaseFilename=testpsvince
Uninstallable=false
DisableDirPage=true
DefaultDirName={pf}\PSVince
[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;
poprosił także o Inno grup dyskusyjnych [Setup] (http://news.jrsoftware.org/read/article.php?id=95589&group=jrsoftware.innosetup#95589). – Deanna
Tak, zgadza się. Dziękuję za odpowiedź usenet. Widziałem już r5-commit z psvince, ale nie mogłem znaleźć faktów na temat kompatybilności. –
Deanna Próbowałem Bugfixa z r5-commit z psvince. W rzeczywistości zrób "IsModuleLoaded (" app.exe ") lub IsModuleLoaded2 (" app.exe ")" i wydaje się, że działa. jeśli napiszesz to jako odpowiedź, zaakceptuję to. –