安装软件前,检查该软件是否正在运行,如果正在运行,则提示用户,需要先关闭,然后才能进一步按照。解决方法
发布时间:2010-06-05 13:14:34 文章来源:www.iduyao.cn 采编人员:星星草
安装软件前,检查该软件是否正在运行,如果正在运行,则提示用户,需要先关闭,然后才能进一步按照。
IS(Inno Setup,我用的是5.2.2)是一款免费的制作安装包的工具,关于它的具体介绍和如何制作安装包(用向导一步一步很容易上手的)我就不介绍了。在这里,只介绍两个方面的内容:
1. 安装软件前,检查该软件是否正在运行,如果正在运行,则提示用户,需要先关闭,然后才能进一步按照。
2. 卸载软件的时候,检查该软件是否正在运行,如果正在运行,则要关闭才能进行卸载。
在IS中,有[code]段,该段是用来编写pascal脚本的。
这里,主要用到FindWindowByWindowName这个函数,该函数通过窗口标题来获取其句柄,本来想用FindWindowByClassName,但现在的窗口类有些难找,用spy++,查出的是一些afx…之类的。具体用法可以查看IS帮助文档。
在IS编写脚本中,有两个函数很重要,InitializeSetup, InitializeUninstall,大家从字面应该可以看出是什么意思了,分别是安装前,安装后执行的动作。
所以,我们的脚本应该写在这里。
另外,[code]段可以放在IS脚本的最后部分。
这里还是直接给出代码,代码倒不怎么难,抛砖引玉了,希望大家对于安装制作有更好的方法。
[Code]
var
HasRun:HWND;
function InitializeSetup():Boolean;
begin
Result := true;
HasRun := FindWindowByWindowName('你的窗口标题');
while HasRun<>0 do
begin
if MsgBox('安装程序检测到你的应用程序正在运行。' #13#13 '您必须先关闭它然后单击“是”继续安装,或按“否”退出!', mbConfirmation, MB_YESNO) = idNO then
begin
Result := false;
HasRun := 0;
end
else
begin
Result := true;
HasRun := FindWindowByWindowName('你的窗口标题');
end;
end;
end;
function InitializeUninstall(): Boolean;
begin
HasRun := FindWindowByWindowName('你的窗口标题');
if HasRun<>0 then
begin
MsgBox('卸载程序检测到你的应用程序正在运行。' #13#13 '请先退出你的应用程序,然后再进行卸载!', mbError, MB_OK);
Result := false;
end
else
Result := true;
end;
------解决方案--------------------
哦 谢谢
------解决方案--------------------
能不能查看是否存在安装进程?
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
求几个好项目的源码,和书籍
求源码下载地址或者直接发到我邮箱:hp8952@126.com
j2ee的书籍
看pdf文档老是看不进去,反正在电脑上面看...
-
求个JAVA老师
求个JAVA老师 本人QQ 279773998 请老师带带我吧!渴望!
谢谢!
------解决方案--------------------
天呀,大师们都没...
-
JSF中文API
谁有中文的API?
------解决方案--------------------
帮顶!!!!!!!!
------解决方案--------------------
友情帮顶!没有!
----...
-
深圳java QQ群19989818
主要讨论JAVA技术和行业信息,欢迎有兴趣者加入!
群号:19989818
------解决方案--------------------
人...
-
为什么JSP空间比ASP空间要贵那么多?
RT
为什么JSP空间比ASP空间要贵那么多?
------解决方案--------------------
因为jsp里面并不...
-
大四毕业非计算机专业,培训马上就结束了,要找工作了求前辈指导!
[align=left][size=14px][b]大学是个吉林的211学校,学校很一般没啥名...
-
我妹子今年高考645分,河南的,却不知道报哪个学校,哪个专业
如题。。。。。。。
------解决方案--------------------
卖萌来了?
自...
-
不明白,求解答???
<body>
<%
Cookie[] cookies = request.getCookies();
%>
<h1 align="center">
CookieePage
</h1...
-
有点自卑 想换工作了
一起毕业的没程序基础的 在达内培训后现在工资都5000多了, 看看自己的3000多的工资,虽然刚毕业,但还是有点不...
-
如何对某个字段加密,是指反编译后无法看到该字符串内容?
跟人合作,要我写一个JAR包,里面有个链接的方法,但是不能让对方看到这个链接的...