杉宫竹苑工作室

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2323|回复: 0

INNO setup安装卸载钱判断进程中是否在运行总结

[复制链接]
发表于 2015-2-6 10:49:35 | 显示全部楼层 |阅读模式

正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.安装前判断进程中是否有程序在运行。

  1. [files]

  2. ; 安装前判断进程,dll文件放在inno的安装目录中
  3. Source: compiler:psvince.dll; Flags: dontcopy noencryption

  4. [Code]
  5. //安装前判断是否有进程正在运行
  6. function IsModuleLoaded(modulename: String ): Boolean;
  7. external 'IsModuleLoaded@files:psvince.dll stdcall setuponly';
  8. function InitializeSetup(): boolean;
  9. var
  10. IsAppRunning: boolean;
  11. begin
  12. Result:= true;
  13. IsAppRunning:= IsModuleLoaded('WordTutor.exe');
  14. while IsAppRunning do
  15. begin
  16. if MsgBox('快乐背单词正在运行,请先关闭它!', mbConfirmation, MB_OKCANCEL) = IDOK then
  17. IsAppRunning:= IsModuleLoaded('WordTutor.exe')
  18. else
  19. begin
  20. IsAppRunning:= false;
  21. Result:= false;
  22. end;
  23. end;
  24. end;
复制代码




2.卸载前判断进程中是否在运行。

  1. // 卸载前判断进程是否在运行.与安装相同的dll文件和需要打包的安装文件放在一起,也就是和.exe文件一起

  2. [code]

  3. function IsModuleLoadedU(modulename: String ): Boolean;
  4. external 'IsModuleLoaded@{app}\psvince.dll stdcall uninstallonly';
  5. function InitializeUninstall(): boolean;
  6. var
  7. IsAppRunning: boolean;
  8. begin
  9. Result:= true;
  10. IsAppRunning:= IsModuleLoadedU('WordTutor.exe');
  11. while IsAppRunning do
  12. begin
  13. if MsgBox('快乐背单词正在运行,请先关闭它!', mbConfirmation, MB_OKCANCEL) = IDOK then
  14. IsAppRunning:= IsModuleLoadedU('WordTutor.exe')
  15. else
  16. begin
  17. IsAppRunning:= false;
  18. Result:= false;
  19. end;
  20. end;
  21. end;
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SgzyStudio

GMT+8, 2024-5-8 05:37 , Processed in 0.145944 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表