3

ユーザーがフォルダー選択ページに到達したときにのみメッセージボックスを表示しようとしています。セットアップの最初にメッセージボックスを表示する実際のコードは次のとおりです。

[code]
var ApplicationPath: string;

function GetAppPath(Param: String): String;
begin
RegQueryStringValue(HKLM, 'SOFTWARE\XXX\XXX', 'Install Dir', ApplicationPath)
  if ApplicationPath = '' then
    begin
    MsgBox('Install folder non found', mbError, MB_OK);
    result:=ApplicationPath;
    end
    else
    MsgBox('Install folder found in "' + ApplicationPath + '". NOTE: close the program before proceeding.', mbInformation, MB_OK);
    result:=ApplicationPath;
    end;
end.

次のようなものが必要です:

If (PageId = wpSelectDir) then... [上記のコードを実行]

しかし、本当にどうすればいいのかわかりません。助けてくれてありがとう。

4

1 に答える 1

2

これに理想的なイベントはCurPageChanged. ディレクトリの選択ページが表示されているときに、この方法でコードを実行できます。

[Code]
procedure CurPageChanged(CurPageID: Integer);
var
  AppPath: string;
begin
  if (CurPageID = wpSelectDir) then
  begin
    // this will query the string value in registry; if that succeed and the
    // value is read, then the message box about success is shown, otherwise
    // the error message box about failure is shown
    if RegQueryStringValue(HKLM, 'SOFTWARE\XXX\XXX', 'Install Dir', AppPath) then
      MsgBox('Installation folder found...', mbInformation, MB_OK)
    else
      MsgBox('Installation folder not found...', mbError, MB_OK);
  end;
end;
于 2013-02-21T16:49:31.237 に答える