zoukankan      html  css  js  c++  java
  • innosetup 安装前、卸载前判断是否有进程正在运行

    https://www.cnblogs.com/wainiwann/p/9776716.html

    [Code]
    
    //安装前判断是否有进程正在运行,istask.dll文件与打包的exe文件一起
    function RunTask(FileName: string; bFullpath: Boolean): Boolean;
    external 'RunTask@files:ISTask.dll stdcall delayload';
    function KillTask(ExeFileName: string): Integer;
    external 'KillTask@files:ISTask.dll stdcall delayload';
    
    function InitializeSetup(): Boolean;
    begin
      Result:= true;
      if RunTask('{#MyAppExeName}', false) then
          begin
               if MsgBox('安装程序检测到 {#MyAppName} 正在运行!'#13''#13'单击“是”按钮关闭程序并继续安装;'#13''#13'单击“否”按钮退出安装!', mbConfirmation, MB_YESNO) = IDYES then
                  begin
                  KillTask('{#MyAppExeName}');
                  Result:= true;
                  end
               else
                  Result:= false;
          end
      else Result:= true;
    end;
    
     
    
    // 卸载前判断进程是否在运行
    function RunTaskU(FileName: string; bFullpath: Boolean): Boolean;
      external 'RunTask@{app}/ISTask.dll stdcall delayload uninstallonly';
    function KillTaskU(ExeFileName: string): Integer;
      external 'KillTask@{app}/ISTask.dll stdcall delayload uninstallonly';
    
    function InitializeUninstall(): Boolean;
      begin
        Result:= true;
        if RunTaskU('{#MyAppExeName}', false) then
          begin
            if MsgBox('卸载程序检测到 {#MyAppName} 正在运行!'#13''#13'单击“是”按钮关闭程序并继续卸载;'#13''#13'单击“否”按钮退出卸载!', mbConfirmation, MB_YESNO) = IDYES then
              begin
                KillTaskU('{#MyAppExeName}');
                Result:= true;
              end
            else
              Result:= false;
          end
        else
        Result:= true;
        UnloadDll(ExpandConstant('{app}/ISTask.dll'));
    
      end;
    
  • 相关阅读:
    根据用户输入的工资计算所得税
    ATM取款机数据库设计
    ExecuteNonQuery()
    ExecuteReader()获得数据
    ExecuteScalar ()
    面试题汇总(三)
    面试题汇总(一)
    2019-8最新面试题汇总
    linux下vim 选择文本,删除,复制,粘贴
    TCP和UDP的优缺点及区别
  • 原文地址:https://www.cnblogs.com/xiang--liu/p/12327999.html
Copyright © 2011-2022 走看看