老虎版主我是用你的这个代码
http://bbs.hanzify.org/read-htm-tid-59870-page-2.html
1.安装与卸载时检测程序如何改成单击是按钮关闭程序文件,并进入安装界面
2.单击否按钮则退出安装
以下是代码:
#define MyAppName "我的程序"
#define MyAppVersion "2.0.1.1"
#define MyAppPublisher "汉化新世纪"
#define MyAppURL "http://bbs.hanzify.org"
#define MyAppExeName "OneKey.exe"
[Files]
Source: "E:\本地下载\inno编译目录\{app}\ISTask.dll"; DestDir: "{app}"
[Setup]
; 注意: AppId 的值是唯一识别这个程序的标志。
; 不要在其他程序中使用相同的 AppId 值。
; (在编译器中点击菜单“工具 -> 产生 GUID”可以产生一个新的 GUID)
AppId={{93E3FDFE-E40D-43D0-BE5C-515FFA1E4DF7}
AppName=我的程序
AppVersion=1.5
;AppVerName=我的程序 1.5
AppPublisher=我的公司
AppPublisherURL=http://bbs.hanzify.org
AppSupportURL=http://bbs.hanzify.org
AppUpdatesURL=http://bbs.hanzify.org
DefaultDirName={pf}\我的程序
DefaultGroupName=我的程序
OutputDir=E:\本地下载\inno编译目录
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
[Code]
function RunTask1(FileName:string; bFullpath:Boolean):Boolean;
external'RunTask@files:ISTask.dll stdcall delayload';
function KillTask1(ExeFileName:string):Integer;
external'KillTask@files:ISTask.dll stdcall delayload';
function RunTask(FileName:string; bFullpath:Boolean):Boolean;
external'RunTask@{app}\ISTask.dll stdcall uninstallonly';
function KillTask(ExeFileName:string):Integer;
external'KillTask@{app}\ISTask.dll stdcall uninstallonly';
function InitializeSetup():Boolean;
begin
Result:= true;
if RunTask1('OneKey.exe', false)then
begin
if MsgBox('安装程序检测到 OneKey.exe 正在运行!'#13''#13'单击“是”按钮关闭程序;'#13''#13'单击“否”按钮进行强制安装!', mbConfirmation, MB_YESNO)= IDYES then
KillTask1('OneKey.exe');
end;
end;
function InitializeUninstall():Boolean;
begin
Result:= true;
if RunTask('OneKey.exe', false)then
begin
if MsgBox('卸载程序检测到 OneKey.exe 正在运行!'#13''#13'单击“是”按钮关闭程序;'#13''#13'单击“否”按钮进行强制安装!', mbConfirmation, MB_YESNO)= IDYES then
KillTask('OneKey.exe');
UnloadDll(ExpandConstant('{app}\ISTask.dll'));
end
end;