惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
G
Google Developers Blog
L
LangChain Blog
Y
Y Combinator Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
博客园 - Franky
V
Visual Studio Blog
小众软件
小众软件
月光博客
月光博客
A
About on SuperTechFans
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
The Blog of Author Tim Ferriss
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MongoDB | Blog
MongoDB | Blog
Jina AI
Jina AI
美团技术团队
量子位

博客园 - Max Woods

Delphi XE8,C++ Builder XE8,RAD Studio XE8 官方 ISO 文件下载,附激活工具 PC 安装MAC InnoSetup能够实现“安装细节描述”界面吗? 在Unicode版Inno Setup中使用ISSkin Inno Setup使用技巧 用非管理员权限启动主程序,并用管理员权限启动子程序,导致WM_COPYDATA消息发送失败的问题 Inno setup 安装*.inf文件_示例 自动安装驱动程序代码 自动安装驱动程序 windows xp/7命令提示符强制结束指定进程 Delphi 如何让程序获取权限结束指定进程? Windows下如何枚举所有进程 使用MFC提供的Http类下载和上传文件 如何在安装程序中判断操作系统是否是64位 inno innosetup安装之前关闭进程 INNO安装卸载自动结束进程插件使用 Inno Setup 卸载前关闭进程或服务 x86 x64 Windows下提升进程权限 《Windows核心编程》学习笔记(9)– 在win7或者vista系统下提升一个进程的运行权限
INNO setup安装卸载钱判断进程中是否在运行总结
Max Woods · 2014-12-01 · via 博客园 - Max Woods

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

[files]

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

[Code]
//安装前判断是否有进程正在运行
function IsModuleLoaded(modulename: String ): Boolean;
external 'IsModuleLoaded@files:psvince.dll stdcall setuponly';
function InitializeSetup(): boolean;
var
IsAppRunning: boolean;
begin
Result:= true;
IsAppRunning:= IsModuleLoaded('WordTutor.exe');
while IsAppRunning do
begin
if MsgBox('快乐背单词正在运行,请先关闭它!', mbConfirmation, MB_OKCANCEL) = IDOK then
IsAppRunning:= IsModuleLoaded('WordTutor.exe')
else
begin
IsAppRunning:= false;
Result:= false;
end;
end;
end;

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

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

[code]

function IsModuleLoadedU(modulename: String ): Boolean;
external 'IsModuleLoaded@{app}\psvince.dll stdcall uninstallonly';
function InitializeUninstall(): boolean;
var
IsAppRunning: boolean;
begin
Result:= true;
IsAppRunning:= IsModuleLoadedU('WordTutor.exe');
while IsAppRunning do
begin
if MsgBox('快乐背单词正在运行,请先关闭它!', mbConfirmation, MB_OKCANCEL) = IDOK then
IsAppRunning:= IsModuleLoadedU('WordTutor.exe')
else
begin
IsAppRunning:= false;
Result:= false;
end;
end;
end;