顶部的NSIS语言选择对话框

时间:2015-04-01 21:52:22

标签: nsis

我在安装程序中使用MUI_LANGDLL_DISPLAY,我需要在顶部显示语言选择对话框,因此不能被其他窗口隐藏。我已经使用以下方式安装了安装程序:

System::Call "user32::SetWindowPos(i $HWNDPARENT, i ${HWND_TOPMOST}, i0, i0, i0, i0, i ${SWP_NOSIZE}|${SWP_NOMOVE})"

我看了LangDLL.c,对话似乎是用:

创建的
DialogBox(g_hInstance, MAKEINTRESOURCE(IDD_DIALOG), 0, DialogProc);

但我不知道如何继续。

我可以使用不同HWND的系统调用来使语言选择对话框位于顶部吗?

1 个答案:

答案 0 :(得分:0)

DialogBox创建一个模态对话框,因此没有简单的方法可以使用System插件与它进行交互。

您可以尝试使用Resource Hacker编辑LangDll.dll并添加WS_EX_TOPMOST扩展样式。如果这不起作用,那么您必须重新编译LangDll并在SetWindowPos中添加对WM_INITDIALOG的调用...