Ab wann ist ein Fenster geschlossen?
-
Hallo,
und zwar kopiere ich jede 100ms ein Fenster-DC in eine Datei. Jetzt kann es sein, dass das Fenster geschlossen wird - und damit das Handle nicht mehr gültig ist - und ich ebenfalls ein Leeres(schwarzes) DC bekomme.
Jetzt will ich es aber nicht zum schwarzen DC kommen lassen!! Wie kann ich also am BEsten abfragen, ob das Handle noch "In Ordnung ist"?
-
IsWindow
-
So wollte das jetzt übre einen Hook machen: Der Hook erhält zwar Messages, aber die WM_CLOSE / DESTROY kommt nichtan? evt. sieht jemand von euch einen Fehler:
int g_nType; HOOKPROC g_hkprc; HHOOK g_hhook; HINSTANCE hInst = (HINSTANCE)GetWindowLong(m_TableBuffer.pt.hWnd, GWL_HINSTANCE); g_hhook = SetWindowsHookEx( WH_CALLWNDPROC, CallWndProc, hInst, 0 ); LRESULT WINAPI CallWndProc(int nCode, WPARAM wParam, LPARAM lParam) { PCWPSTRUCT pStruct = ((PCWPSTRUCT)lParam); if( pStruct->message == WM_DESTROY || pStruct->message == WM_QUIT || pStruct->message == WM_CLOSE ) { OutputDebugString( "Yes!!" ); } if( pStruct->message == WM_COMMAND ) { if( LOWORD(pStruct->wParam) == IDCANCEL ) { OutputDebugString( "Yes22!!" ); } } return CallNextHookEx( g_hhook, nCode, wParam, lParam); }
-
Hi, Hab es mit IsWindow ausprobiert. Ist nicht "sauber" genug.