我有一个带有自定义 UI 的小型引导程序,其中包含两个页面,一个用于配置安装,另一个显示用于下载和安装有效负载的进度条。我的问题:如果用户在第二页按 Enter 键,安装程序会退出,即使它没有完成安装。
我从 UI 中删除了所有可以使用的控件:
GetDlgItem $1 $HWNDPARENT 1 //(2, and 3)
System::Call `User32::DestroyWindow(i $1)`
在 onGuiInit 函数中,第一页现在忽略了 Enter 和空格键,但第二页仍然按 Enter 键退出。除了一些标签、进度条和幻灯片(nsisSlideshow 插件)外,我在该页面上没有其他组件。在后台,我有一个线程可以下载并安装有效负载。
页面声明如下:
Page Custom Options_Show Options_Leave
Page Custom Progress_Show Progress_Leave
所以,长话短说,当我按下回车键时,nsDialogs::Show 函数返回,杀死安装程序。
有什么办法可以阻止它这样做吗?