c# - 阻止 WM_QUIT

标签 c# c++ winapi pinvoke message-queue

快速提问。

我有一个通过 PInvoke 使用 native DLL 的应用程序,这个 DLL 可能会调用 PostQuitMessage()。

如何避免? (因为我的应用程序不应该关闭)

我试过 AddMessageFilter,但它没有触发 WM_QUIT。

最佳答案

是的,IMessageFilter 无法工作。 WM_QUIT 使 GetMessage() 函数返回 FALSE。它永远不会调用消息过滤器,消息循环会立即退出。覆盖 WndProc() 或取消 OnFormClosing() 也不会起作用。我能想到的唯一解决方法是 Detours禁用 PostQuitMessage()。这需要一些 C/C++ 技能。

关于c# - 阻止 WM_QUIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2348696/

相关文章:

c# - PrintDocument.PrinterSettings.PrinterName\\servername\printername 不可用

c# - 如何在 C# 中对 Lucene.net 中的结果进行排序?

c# - 如何通知异常并继续

c# - 异常(exception) list

c++ - 在 OpenGL 立方体上显示多个纹理,c++ GLFW

c++ - 创建文件 : direct write operation to raw disk "Access is denied" - Vista, Win7

c# - 仍然需要没有 Required 属性的整数属性

C++ 模板参数和偏特化 : strong or weak typing?

c++ - 告诉 Windows 处理除一条消息以外的所有消息

从像素缓冲区创建 HBITMAP 然后渲染