Jump to content
Posted 13 December 2012 - 05:54 PM
Posted 13 December 2012 - 10:10 PM
Edited by Ectara, 13 December 2012 - 10:12 PM.
Posted 14 December 2012 - 08:40 PM
Posted 14 December 2012 - 09:53 PM
Posted 14 December 2012 - 10:31 PM
Posted 14 December 2012 - 11:16 PM
Posted 15 December 2012 - 10:25 PM
Nothing you can give PeekMessage will make it hang, so without being able to see the code it's probably one of a couple things:
while (PeekMessage(&amp;msg, NULL, 0, 0, PM_REMOVE | PM_QS_PAINT | PM_QS_...))
InputProc(msg.hwnd, msg.message, msg.wParam, msg.lParam);
Still makes the program hang. It never recieves input
You don't have to call it, but even if you only explicitly create one window things like COM or plugins (if you allow those) can create other windows that run on the same thread. Without a (Windows) DispatchMessage, any messages picked off the queue intended for them will never make it to their WndProc, unless you do it manually. It also does other stuff like translate unicode messages for non-unicode WndProcs and vice versa. It's not anything you couldn't do yourself though.
Does this not imply that there's no need to call DispatchMessage in a PeekMessage loop?
Edited by adeyblue, 15 December 2012 - 10:28 PM.