feal87
feal87

Reputation: 947

Blocking WM_QUIT

Quick question.

I have an app that use a native DLL through PInvoke, this DLL may call a PostQuitMessage().

How can I avoid it? (as my app should not close)

I tried AddMessageFilter, but it doesn't trigger the WM_QUIT.

Upvotes: 1

Views: 1121

Answers (2)

John Knoeller
John Knoeller

Reputation: 34128

PostQuitMessage() will have no effect if you call from a thread that doesn't own any windows.

Upvotes: 0

Hans Passant
Hans Passant

Reputation: 941217

Yup, IMessageFilter cannot work. WM_QUIT makes the GetMessage() function return FALSE. It never gets around to calling the message filter, the message loop immediately exits. Overriding WndProc() or canceling OnFormClosing() won't work either. The only workaround I can think of is Detours to disable PostQuitMessage(). That requires some C/C++ skillz.

Upvotes: 3

Related Questions