我在安装程序中使用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的系统调用来使语言选择对话框位于顶部吗?
答案 0 :(得分:0)
DialogBox
创建一个模态对话框,因此没有简单的方法可以使用System插件与它进行交互。
您可以尝试使用Resource Hacker编辑LangDll.dll并添加WS_EX_TOPMOST
扩展样式。如果这不起作用,那么您必须重新编译LangDll并在SetWindowPos
中添加对WM_INITDIALOG
的调用...