[Code]
function InitializeUninstall(): Boolean; var MainRun: HWND; var MVRun:HWND; begin
// FindWindowByWindowName函數參數為窗口名,即窗口標題,而非進程名。 MainRun := FindWindowByWindowName('主窗口'); MVRun := FindWindowByWindowName('Connector'); if (ScreenRun<>0) or (MVRun<>0) then begin if Msgbox('安裝程序檢測到客戶端正在運行。' #13#13 '單擊“是”關閉進程,繼續卸載,或按“否”退出!', mbConfirmation, MB_YESNO) = idNO then begin Result :=false; // 安裝程序退出 end else begin
// 如果兩個以上的判斷條件,在執行時需要分別再進行判斷 if ScreenRun<>0 then begin PostMessage(MainRun, 18, 0, 0); // 退出主進程 end; if MVRun<>0 then begin PostMessage(MVRun, 18, 0, 0); // 退出Connector進程 end; DelTree(ExpandConstant('{app}'), True, True, True); // 退出進程后刪除安裝位置所有文件夾 Result :=true; // 安裝程序繼續 end; end else begin Result :=true; // 若未檢測到進程,則繼續安裝程序 end; end;