//;判断进程是否存在
function IsAppRunning(const FileName : string): Boolean;
var
FSWbemLocator: Variant;
FWMIService : Variant;
FWbemObjectSet: Variant;
begin
Result := false;
FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');
FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', '');
FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name="%s"',[FileName]));
Result := (FWbemObjectSet.Count > 0);
FWbemObjectSet := Unassigned;
FWMIService := Unassigned;
FSWbemLocator := Unassigned;
end;
//安装的时候判断进程是否存在
function InitializeSetup(): Boolean;
begin
Result := IsAppRunning('{#MyAppExeName}');
if Result then
begin
MsgBox('程序正在运行,请先关闭程序后再重试! ', mbError, MB_OK);
result:=false;
end
else
begin
result := true;
if FileOrDirExists(ExpandConstant('{localappdata}\FF\UserDataDefault')) then
DelTree(ExpandConstant('{localappdata}\FF\UserDataDefault'), True, True, True);
end;
end;
//卸载的时候判断进程是否存在
function InitializeUninstall(): Boolean;
begin
Result := IsAppRunning('{#MyAppExeName}');
if Result then
begin
MsgBox('程序正在运行,请先关闭程序后再重试! ', mbError, MB_OK);
result:=false;
end
else
begin
result := true;
end;
end;