论坛风格切换切换到宽版
  • 1816阅读
  • 2回复

已解决:如何在inno安装时让两条判断同时生效? [复制链接]

上一主题 下一主题
离线wszjf
 

发帖
27
金钱
270
威望
27
只看楼主 倒序阅读 0 发表于: 2016-09-24
现状与想要达到的效果(1或2有1条达到即可):
1.两条判断,先判断程序是否正在运行时,点“取消”按钮,安装过程不退出,继续后面的过程。
请教:如何修改为点“取消”按钮时安装过程退出。
2.两条判断,先判断是否已经安装原版时,判断程序是否正在运行无效。




// 安装时判断程序是否正在运行
function IsModuleLoaded(modulename: String ): Boolean;
external 'IsModuleLoaded@files:psvince.dll stdcall';


function InitializeSetup(): boolean;
var
IsAppRunning: boolean;
begin
Result:= true;
IsAppRunning:= IsModuleLoaded('Photoshop.exe'); //程序文件名
while IsAppRunning do
begin
if MsgBox('检测到“Photoshop”正在运行!'#13#13'先关闭“Photoshop”再点击“确定”,'#13'本安装过程将继续!', mbConfirmation, MB_OKCANCEL) = IDOK then
IsAppRunning:= IsModuleLoaded('Photoshop.exe') //程序文件名
else
begin
IsAppRunning:= false;
Result:= false;


// 检测是否已经安装原版
begin
Result := true;
if not RegValueExists(HKLM32, 'SOFTWARE\Ulead Systems\Adobe Photoshop\19.0\Installer','Path') then
begin
MsgBox('检测到您的系统内没有安装“Photoshop原版”,请先安装原版,再安装此插件。', mbInformation, MB_OK);
Result := False;
end;
end;
end;
end;
end;

离线wanfu

发帖
2728
金钱
12110
威望
1211
只看该作者 1 发表于: 2016-09-26
离线wszjf

发帖
27
金钱
270
威望
27
只看该作者 2 发表于: 2016-09-27
回 1楼(wanfu) 的帖子
wanfu:参见下列帖子:http://bbs.hanzify.org/read-htm-tid-173526.html (2016-09-26 12:51) 

再次感谢wanfu版主,问题已解决!