[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('安装程序检测到客户端正在运行。' ## '单击“是”关闭进程,继续卸载,或按“否”退出!', mbConfirmation, MB_YESNO) = idNO then
begin
Result :=false; // 安装程序退出
end else
begin
     // 如果两个以上的判断条件,在执行时需要分别再进行判断
if ScreenRun<>0 then
begin
PostMessage(MainRun, , , ); // 退出主进程
end;
if MVRun<>0 then
begin
PostMessage(MVRun, , , ); // 退出Connector进程
end;
DelTree(ExpandConstant('{app}'), True, True, True); // 退出进程后删除安装位置所有文件夹
Result :=true; // 安装程序继续
end;
end else
begin
Result :=true; // 若未检测到进程,则继续安装程序
end;
end;

Inno setup卸载前退出进程、删除文件夹的更多相关文章

  1. Inno Setup 卸载前关闭进程或服务 x86 x64

    1.32位程序的PSVince.dll插件方法. [Setup] AppName=PSVince AppVerName=PSVince 1.0 DisableProgramGroupPage=true ...

  2. inno setup 安装前判断进程是否存在,以及停止相应进程<转>

    打包的时候遇到了这样的需求:假似用户都是傻瓜                  式操作,如果更新安装程序的时候,之前的老程序还在运行这个时候如果你去提示让用户吧老程序手动退掉也不现实. 所以当遇到这种 ...

  3. Inno Setup 系列之安装、卸载前检测进程运行情况并关闭相应进程

    需求 最近用 Inno Setup 做一个exe,可是在安装之前要停止正在运行的相应进程或者在卸载之前要停止正在运行的相应进程,可是发现它自身的方法不能满足要求,最后经过度娘的耐心帮助下终于在网上找到 ...

  4. Inno Setup 安装、卸载前检测进程或服务

    [转载]Inno Setup 安装.卸载前检测进程或服务 (2015-04-24 17:37:20) 转载▼ 标签: 转载   原文地址:Inno Setup 安装.卸载前检测进程或服务作者:一去丶二 ...

  5. Inno setup 卸载时删除程序文件夹(文件)

    Inno setup 卸载时删除程序文件夹(文件) //删除所有配置文件以达到干净卸载的目的 procedure CurUninstallStepChanged(CurUninstallStep: T ...

  6. Inno Setup 安装前卸载原程序

    Inno Setup 安装前卸载原程序 分类: Install Setup 2013-02-02 15:53 2315人阅读 评论(0) 收藏 举报 很多時候我們需要在安裝文件之前卸載原有的程序而不是 ...

  7. INNO安装卸载自动结束进程插件使用

    [Code] //安装前判断是否有进程正在运行,istask.dll文件与打包的exe文件一起function RunTask(FileName: string; bFullpath: Boolean ...

  8. INNO SETUP卸载程序中加入自定义窗体

    原文:INNO SETUP卸载程序中加入自定义窗体 [Setup] AppName=My Program AppVerName=My Program v.1.2 DefaultDirName={pf} ...

  9. win10删除文件夹时需要管理员授权或拒绝访问(无权访问权限修改)

    win10 用户:我自己就是电脑主人,凭啥我没有自己电脑文件夹的权限? 微软:对不起,您是电脑硬件的主人,但是电脑系统的主人是我!你只不过是个用户而已. win10 用户:我cao你...[哔-] 对 ...

随机推荐

  1. python- 如何return返回多个值

    函数的return 语句只能返回一个值,可以是任何类型. 因此,我们可以“返回一个 tuple类型,来间接达到返回多个值 ”. 例:   x 除以 y 的余数与商的函数 def    F1 ( x, ...

  2. CSS 垂直居中5种方法

    利用 CSS 来实现对象的垂直居中有许多不同的方法,比较难的是选择那个正确的方法.我下面说明一下我看到的好的方法和怎么来创建一个好的居中网站. 使用 CSS 实现垂直居中并不容易.有些方法在一些浏览器 ...

  3. php讲中文json数据编码

    <?php function show_jsonmsg($data){ if(is_array($data)){ $return = $data; }else{ $return = array( ...

  4. 转:说说JSON和JSONP

    前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socke ...

  5. XML新手入门 创建构造良好的XML(1)

    XML新手入门 创建构造良好的XML(1) 2009-03-19 09:24 Kay Whatley IBM Developerworks 我要评论(0) 字号:T | T 本文描述了构建良好的XML ...

  6. shonc项目中的设计资讯模块 php 字符串操作与正则表达式 strip_tags preg_match

    问题:当description 内容要求description的值选用资讯内容的前50个汉字.资讯内容可能有图片. 此时需要对输出的内容进行处理 php 正则表达式处理,编辑器输出的内容 只取图片: ...

  7. drupal7创始人root忘记密码的解决办法

    在index.php中的drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);之后加入 require_once 'includes/password.inc'; echo ...

  8. Number Steps

    Number Steps Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  9. git 的一些使用和命令

    http://git.oschina.net/progit/2-Git-%E5%9F%BA%E7%A1%80.html(pro git)   git branch  (展示本地当前的所有分支,以及当前 ...

  10. Windows服务安装完成后自动启动

    public ServiceInstaller() { //... Installer code here this.AfterInstall += new InstallEventHandler(S ...