Aktives Fenster herausfinden

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Skywalker
Beiträge: 77
Registriert: 22.09.2004 23:35

Aktives Fenster herausfinden

Beitrag von Skywalker »

Hallo zusammen,

folgendes Problem steht an:

Habe Temporär mehrere Fenster geöffnet, wobei sich mindestens eines davon per Timer von selbst schließen kann.
Bei diesen Fenster soll die aktuelle Position auf dem Desktop gespeichert werden,
so das es bei erneuten Aufruf wieder an der letzten Position steht. Das funktioniert auch.

Allerdings ist es so, das mittels WindowX/WindowY ja nur die Positionen des
aktuellen Fensters ermitelt werden können. Leider gibt es ja in PB noch kein WindowX(Handle).

Deshalb mache ich das besagte Fenster temporär mittels UseWindow() zum aktuellen, merke mir die Position und schließe es.
Allerdings möchte ich danach wieder das eigentliche TOP-Window zum aktiven machen. Wie kann ich also vorher herausfinden, welches Fenster das aktuelle ist?

Obwohl mir die obige Lösung nicht so recht gefällt (Brauche echt ein WindowX/Y(Handle) ), fällt mir im Moment keine andere Lösung ein.

Gruß
Thomas
Benutzeravatar
Skywalker
Beiträge: 77
Registriert: 22.09.2004 23:35

Beitrag von Skywalker »

Manchmal sollte man noch etwas warten, bevor man Postet.
Aktives Fenster kann mittels

handle=GetActiveWindow_()

herausgefunden werden. Wenn ich aber nun UseWindow(handle)
benutze, stürzt das Programm ab. :-(
Benutzeravatar
Skywalker
Beiträge: 77
Registriert: 22.09.2004 23:35

Beitrag von Skywalker »

:freak:

Vergesst es. Habe SetActiveWindow_(hWnd) gefunden und damit geht es.

Ist schon komisch, da sitzt man Stunden vor einem Problem und kaum postet man ins Forum findet sich die Lösung von alleine. :mrgreen:

Schönen Sonntag noch.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Skywalker hat geschrieben:Manchmal sollte man noch etwas warten, bevor man Postet.
Aktives Fenster kann mittels

handle=GetActiveWindow_()

herausgefunden werden. Wenn ich aber nun UseWindow(handle)
benutze, stürzt das Programm ab. :-(
LOL ist doch klar ein handle ist ja nicht das was UseWindow erwartet. Ein handle ist beispielsweise der rückgabewert von WindowID() und ist nicht #Window. UseWindow erwartet das PB interne handle aber nicht das von Windows.

Außerdem hätte ich GetForegroundWindow_() vorgeschlagen, was auch nur das handle zurückliefert. Tut mir leid, aber mit PB internen Befehlen wirst du kaum etwas an dem Fremdfenster ändern können ;) .
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@Skywalker

gut selbst erarbeitet...
Skywalker hat geschrieben:Ist schon komisch, da sitzt man Stunden vor einem Problem und kaum postet man ins Forum findet sich die Lösung von alleine. :mrgreen:
deswegen labern einige von uns ihre Frauen/Freundinnen/Mütter mit Programmier-Problemen voll.
allein das drüber reden erleichtert oft die Lösung :wink:
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten