Я использую innosetup для создания установки для моего приложения Windows. Перед началом установки мне нужно проверить, запущено ли уже приложение или нет. Я использовал следующий код, который не работает должным образом.
const
WM_CLOSE = 16;
Function InitializeSetup : Boolean;
var winHwnd: longint;
retVal : boolean;
strProg: string;
begin
Result := true;
try
strProg := 'myApp.exe';
winHwnd := FindWindowByWindowName(strProg);
Log('winHwnd: ' + inttostr(winHwnd));
if winHwnd <> 0 then
retVal:=postmessage(winHwnd,WM_CLOSE,0,0);
if retVal then begin
MsgBox('Window is not running', mbInformation, MB_OK);
Result := True
end
else begin
MsgBox('Window still open', mbInformation, MB_OK);
Result := False;
end;
except
end;
end;
Здесь winHwnd всегда имеет значение 0. Пожалуйста, дайте мне знать, что не так с этим кодом.
Спасибо,
Манжу