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;
    
  • 相关阅读:
    python之路---23 模块 os sys pickle json
    Fiddler抓包【7】_次要功能和第三方插件
    Fiddler抓包【6】_Fiddler Script
    Fiddler抓包【5】_Fiddler过滤
    Fiddler抓包【4】_重定向AutoResponder
    Fiddler抓包【3】_设置断点修改
    Fiddler抓包【2】_捕获设置
    Fiddler抓包【1】_介绍及界面概述
    CSS常见兼容问题以及解决办法
    webpack入门文档教程
  • 原文地址:https://www.cnblogs.com/xiang--liu/p/12327999.html
Copyright © 2011-2022 走看看