在InstallScript中禁用“下一步”按钮

时间:2011-09-01 09:21:22

标签: installshield installscript customdialog

使用InstallShield - InstallScript项目:

我制作了一个用于浏览文件的自定义对话框。

在对话框初始化中,我想禁用“下一步”按钮。

我成功禁用了此对话框上的其他按钮,但安装向导的任何按钮除外:取消,下一步和后退。

我使用了函数_WinSubEnableControl或EnableWindow。

2 个答案:

答案 0 :(得分:2)

它对我有用:

   function
     HWND    hwndDlg, hwndNext;
     ...
   begin
     ...
     hwndDlg = CmdGetHwndDlg( strDialogName );
     hwndCtrl = GetDlgItem(hwndDlg, NEXT);
     EnableWindow(hwndCtrl, FALSE);
     ...
   end;

如果您认为没有用,请发布您的代码。

答案 1 :(得分:1)

禁用按钮的代码应该在调用SdGeneralInit之后。 如果你之前(像我一样),它的变化将不会坚持下去。

对SdGeneralInit的调用显式启用了“下一步”按钮,这就是为什么它不适用于“下一步”按钮但是对于对话框中的其他自定义按钮有效。

看起来应该是这样的:

case DLG_INIT:    

    SdGeneralInit( szDlg, hwndDlg, 0, szSdProduct );

    hDlgHandle = CmdGetHwndDlg(szDlg);          
    hNextButton = GetDlgItem(hDlgHandle, 1); // 1 is the id for the next button.            
    EnableWindow(hNextButton, FALSE);