Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Fremde Application richtig minimieren/maximieren

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.03.2006, 06:56 Uhr
NaCkHaYeD



Hi,

verfolge schon seit langem euer Forum. Nun hätte ich eine Frage.

Voraussetzung: Es muss eine fremde Application minimiert/maximiert werden, bzw. der zweite Weg in den Hintergrund/Vordergrund gebracht werden.
Das funzt auch schon relativ gut, wenn nicht ein Popup/Fragedialog innerhalb der externen App offen ist, dann bringe ich sie in den minimiert Zustand, bzw. ich setze sie in den Hintergrund, der Weg retour bringt mir auch wieder die App, jedoch ohne den Fragedialog, da ich bis dato nicht das richtige Handle erwische. Dadurch kann man bei der App auch nichts mehr steuern, da ein verstecktes Fenster den Fokus hat. Würde ich per Windows Taskmanager auf die App gehen, so erscheint mir dieses Popup. Darum meine Frage, wie erwische ich das richtige/wichtige Handle beim wiederherstellen.

Problematik: FindWindow scheidet aus, da ich nur auf den Titel losgehen könnte, einen eindeutigen Klassennamen hat die App nicht. Titel möchte ich nicht, da ich nicht weiss ob dies im Unicode mit Chinesisch funzt.

Momentanstand:
Ich starte EnumWindows, hole mit GetWindowThreadProcessID eine ProcessID, erzeuge mit OpenProcess ein Handle, enumeriere es mit EnumProcessModules, hole mir die Basisinfos per GetModuleBaseName und schaue ob es sich um die richtige Exe-Datei handelt. Dann selektiere ich noch per:
if (IsWindow(hwnd) &&
(IsIconic(hwnd) || IsZoomed(hwnd) && IsWindowVisible(hwnd))) den Fenster Handle und führe ein SetForegroundWindow aus.

Zusatz: Habe ich ein Handle gefunden, breche ich ab. (hoffe es ist richtig)

Jetzt die wichtige Frage: Wie bekomme ich das Handle von diesem wichtige Fenster, das im Vordergrund ist, Microsoft bekommt es ja auch. Muss man hier noch irgendwie die Z-Index Folge durchwülen, wenn ja wie.

Danke
Thomas
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.03.2006, 10:43 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


prüf noch mit IsChild, wenn das etwas zurückgibt, ists "nur" ein childwindow. (z.b popup)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: