Inno Setup 检测程序是否在运行 多国语言版
根据窗口类名来查找程序是否在运行。
如果改窗口类名,在我博客里有。
[CustomMessages]
english.InstallCaption = The installer detects that xxx is running.%n%nYou need to close it then click“Yes” go on installing, or click “No” exit installation.
chinesesimp.InstallCaption = 安装程序检测到xxx正在运行。%n%n您必须先关闭它然后单击“是”继续安装,或按“否”退出!
english.UnistallCaption = The uninstaller detects that the xxx is running,please close it first!
chinesesimp.UnistallCaption = 卸载程序检测到xxx正在运行,请先关闭它!
;安装或卸载时判断客户端是否正在运行
[Code]
function InitializeSetup(): Boolean;
var
IsRunning: Integer;
begin
Result :=true; //安装程序继续
IsRunning:=FindWindowByClassName('xxxMainForm');//检查程序是否正在运行
while IsRunning<>0 do begin
if Msgbox(ExpandConstant('{cm:InstallCaption}'), mbConfirmation, MB_YESNO) = idNO then begin
Result :=false; //安装程序退出
IsRunning :=0;
end else begin
Result :=true; //安装程序继续
IsRunning:=FindWindowByClassName('xxxMainForm');
end;
end;
end;
function InitializeUninstall(): boolean;
var
IsRunning: Integer;
begin
Result:= true;
IsRunning:= FindWindowByClassName('xxMainForm');
begin
if IsRunning<>0 then begin
MsgBox(ExpandConstant('{cm:UnistallCaption}'), mbConfirmation, MB_OK);
Result:= false;
end else begin
Result:= true;
end;
end;
end;