问题标签 [nsdialogs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
494 浏览

nsis - 为 nsis 选择文件夹对话框

我用于我的 nsis 安装程序的皮肤有问题。有没有办法控制不应用皮肤来选择文件夹对话框。我正在使用 Skincrafter 插件来应用这个皮肤。一般来说,如果我在初始化后加载它,它适用于所有页面/内部对话框和子对话框。我不希望浏览文件夹对话框有皮肤。有人可以提供任何建议吗?

0 投票
0 回答
493 浏览

nsis - nsis - 如何将“下一步”按钮设置为默认按钮

我有两个自定义页面。

在第一个自定义页面中,默认按钮(在 上触发<Enter>)是Next按钮。

在第二个自定义页面中,我将默认按钮设置为不同的按钮:

但是当我点击Back返回第一个自定义页面时,默认按钮不再存在Next(即<Enter>不再触发Next)。

如何将第一个自定义页面中的默认按钮设置回Next按钮?

我尝试了以下方法,但它不起作用:

编辑:

代码和文件结构实际上很复杂,但我会尽量简化:

Dialog1.nsh

Dialog2.nsh

0 投票
1 回答
561 浏览

nsis - 使用 NSIS 的条件安装

如果相关软件已经安装,我需要制作一个安装程序,该安装程序也可以作为修复/卸载程序。

我设法制作了一个自定义页面来检查程序是否存在并根据它显示按钮(注册表项的创建仅用于测试目的,应包含在安装过程中)。

例如,如果未安装程序,则会出现安装按钮。

这是执行此操作的代码:

问题是它都是由函数管理的,我无法在其中声明新的页面宏,因此我无法继续通过部分进行正确安装。

我应该如何管理安装程序要采取的不同操作,以便能够像正常安装一样制作用户友好的页面?

我是否应该为每个操作使用自定义页面,因为这听起来有点挑剔和复杂?

0 投票
1 回答
213 浏览

nsis - 如何选择文本框中的文本?

我发现使用 nsDialogs 很容易将焦点设置到特定控件:

但是还有一种方法可以选择该控件中的所有文本,以便当用户开始输入时,已经存在的内容会被覆盖吗?

0 投票
2 回答
196 浏览

nsis - nsDialogs::Show 接受 ENTER 键,即使 UI 中的所有按钮都被破坏

我有一个带有自定义 UI 的小型引导程序,其中包含两个页面,一个用于配置安装,另一个显示用于下载和安装有效负载的进度条。我的问题:如果用户在第二页按 Enter 键,安装程序会退出,即使它没有完成安装。

我从 UI 中删除了所有可以使用的控件:

在 onGuiInit 函数中,第一页现在忽略了 Enter 和空格键,但第二页仍然按 Enter 键退出。除了一些标签、进度条和幻灯片(nsisSlideshow 插件)外,我在该页面上没有其他组件。在后台,我有一个线程可以下载并安装有效负载。

页面声明如下:

所以,长话短说,当我按下回车键时,nsDialogs::Show 函数返回,杀死安装程序。

有什么办法可以阻止它这样做吗?

0 投票
1 回答
239 浏览

checkbox - NSIS 安装程序 nsDialog 复选框没有像我认为的那样出现

我正在向 NSIS 安装程序添加自定义页面,但无法添加复选框。我见过的所有例子看起来都一样,这就是我正在做的事情,但我看不出有什么问题。(我只使用 NSIS 一个小时左右!)。

当页面出现时,复选框不存在:

nsis nsdialog 复选框问题

0 投票
1 回答
87 浏览

installation - 将 OnChange 处理程序附加到现有的文本框控件 NSIS

我正在尝试将 onchange 事件处理程序附加到 NSIS 中现有的安装目录文本框。但是,它似乎永远不会触发。任何想法我怎么能做到这一点?

我使用 Resource hacker 来获取控件 ID,并在显示 MUI_PAGE_DIRECTORY 之前将上述代码添加到 MUI_PAGE_CUSTOMFUNCTION_SHOW。

任何有关在现有控件上触发功能的帮助将不胜感激。

谢谢

0 投票
2 回答
68 浏览

accessibility - 在 nsDialogs 中处理键盘导航

我正在使用 nsDialogs 在我的应用程序的安装程序中创建一个自定义页面,用户可以在其中决定标准安装和便携式安装。

为此,我创建了两个单选按钮控件,NSD_CreateRadioButton以便用户可以在两种安装模式之间做出决定。

在收到盲人用户的反馈后,我想增加通过键盘在这两个单选按钮之间导航的可能性。到目前为止,按下该Tab键直接导航到下方导航栏中的下一个按钮,而不是导航到 . Arrow up/Arrow down没有效果。

如何使用 nsDialogs 为键盘导航添加这种可能性?

0 投票
1 回答
110 浏览

installation - ${NSD_GetText} 返回一个 Empty.string - 我卡住了

我正在尝试使用自定义表单进行安装:

configform.nsdInc:

...... FileWrite $5 "ru-RU" FileClose $5 FunctionEnd

一个主要的 .nsi 脚本:

.........节结束

问题是,我完全无法弄清楚 ${NSD_GetText} 有什么问题,因为它返回一个空字符串。我被困住了!

0 投票
1 回答
165 浏览

nsis - 使用 nsDialogs 自定义现有的 NSIS MUI2 页面

我想在完成页面中包含自定义控件,具体取决于是否设置了 IfRebootFlag,但我不知道为什么其中一些被创建但没有显示。

$hWnd 是每个添加的控件的一个数字!= 0,因此这意味着所有控件都已创建。控件的位置似乎还可以...肯定不在左侧图像的后面,因为左侧坐标足够高,可以将控件放在图像之外

我尝试了几个小时却不明白这可能是问题所在

显示完成页面期间未收到错误消息

编辑:使用 User32::SetWindowPos API 函数解决,以修改自定义控件 Z 顺序