我正在使用 DirectX10 游戏引擎,但遇到了与 DirectX 无关的问题:P 问题是在包含引擎的 DLL 中,有时会调用 DialogBox,就像您在普通 win32 中所做的那样. 唯一的区别是我使用加载 DLL 时得到的 HMODULE 而不是 HINSTANCE。
一切似乎都运行良好,如果我使用 F10 (Visual C++ 2008) 单步执行我的代码,我什至可以看到它正在通过我的 DlgMessageProc 函数并执行它应该执行的所有操作。唯一奇怪的是没有显示任何对话框,并且突然间它跳出消息循环并继续执行其余代码???
奇怪的是,从我的 DLL 中调用 MessageBox 时我遇到了同样的问题,我没有收到任何错误,一切似乎都工作正常,但没有显示窗口,代码也没有停止(与消息框一样正常)
有趣的是,我有一本书的一些代码与我使用相同的基本架构,如果我编译一切都很好?
所以我的问题是,如果我希望能够从我的 Dll 中显示 MessageBoxes 和 Dialogs,是否有任何隐藏选项、pragama 注释或其他我应该看的东西?