在设置期间,我记录来自用户的输入,例如正在创建的Windows服务的名称.卸载此服务时,我需要知道用户最初输入的服务名称.
在卸载期间获取服务名称的最佳方法是什么?
最符合您要求的似乎是处理RegisterPreviousData事件方法,并从内部调用SetPreviousData函数,您可以在其中存储字符串值在自定义键下.要恢复以前存储的数据,您可以调用GetPreviousData函数.
这是一个简单的用法示例:
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
[Code]
var
UserPage: TInputQueryWizardPage;
procedure InitializeWizard;
begin
UserPage := CreateInputQueryPage(wpWelcome, 'Caption', 'Description', '');
UserPage.Add('Service name:', False);
end;
procedure RegisterPreviousData(PreviousDataKey: Integer);
begin
SetPreviousData(PreviousDataKey, 'ServiceName', UserPage.Values[0]);
end;
function InitializeUninstall: Boolean;
var
ServiceName: string;
begin
ServiceName := GetPreviousData('ServiceName', '');
if ServiceName <> '' then
MsgBox('The value entered before: ' + ServiceName, mbInformation, MB_OK);
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
946 次 |
| 最近记录: |