Fensterüberwachung - Problem EOutOfResources (handle ungültig)
-
Hallo
ich überwache ein anderes "fremdes" Programmfenster und bekomme nach einiger Zeit immer einen Programmabbruch weil das Handle veraltet sein.
So hohle ich mir das handle :
//--------------------------------------------------------------------------- BOOL CALLBACK ShowAllWindows(HWND hwnd,LPARAM lParam) { char pcWinTitle[256]; AnsiString Titel; if(!GetWindow(hwnd, GW_OWNER)) { GetWindowText(hwnd, pcWinTitle, 255); Titel = pcWinTitle; if ( Titel.AnsiPos("Tisch") != 0 ) Fenster = hwnd; } return true; }
Wie bekomme ich den Fehler weg ?
Pronto451
-
Hallo,
ich habe leider immer noch keine Lösung gefunden. Auch wenn ich mir das handle mit
Fenster = FindWindow(0,Titel.c_str());
geben lasse, läuft es nach einiger Zeit aus und wird ungültig. Eine besondere Systemauslastung oder zu wenige Resourcen können es nicht sein, das habe ich überprüft.
Pronto451
-
Warum holst du dir das Handle nicht genau dann wenn du es brauchst? Da die Fensterhandles von Windows verwaltet werden, weiß man ja nie was damit passiert.
-
Hallo
ich brauche das Handle ständig, da ich den Inhalt des Fernsters überwache.
Selbst wenn ich mir zwischenzeitlicht das handle neu hohle, wird es mit der Zeit ungültig ???Pronto451