- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Brief examination with Spy++ shows that in "Full Screen Mode" the output doesn't go to the normal child window. Instead, QW creates another window, with style WS_POPUP, without title, and with class name AppName//"FullWnd". Mechanics of it are not well documented, of course, so you could start some reverse-engineering :-(.
I guess you can try to FindWindow("AppName"//"FullWnd"C, NULL) to see if there's one; if it is, you're in full screen mode. Perhaps you could subclass the FullWnd window right after you find one *)
Another undocumented trick to toggle fullscreen is to
call ClickMenuQQ(LOC(WinFullScreen))
An alternate approach to subclassing is hooking. It is similar, except that hook procedure (WH_KEYBOARD or WH_MOUSE) is called before the message reaches message loop (thus,before subclassing procedure), and it catches messages for all windows in the thread rather than just one. See SetWindowsHookEx (I posted some examples in the past here, so you could do a Forum search for it).
Jugoslav
*) FindWindow is not reliable if there are several instances of your program running simultaneously -- it will detect if any instance is in full screen. A better approach is to EnumThreadWindows(GetCurrentThreadID()...) and check whether GetClassName of one matches.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for pointing me in the right direction.
I eventually looked for the foreground window and checked if it was a pop up,
then subclassed that window.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page