Seite 1 von 1
aktuelles desktop?
Verfasst: 31.05.2011 13:10
von delikanli_19_82
hallo leute,
wie kann man feststellen, auf welchem fenster das eigene programm derzeit läuft?
müsste unter win, lin und mac eine lösung finden...
mfg
kurt
Re: aktuelles desktop?
Verfasst: 31.05.2011 13:45
von ts-soft
Siehe Desktop Lib in der Hilfe. Anhand der Fensterposition sollte sich der verwendete Desktop ermitteln lassen.
Re: aktuelles desktop?
Verfasst: 31.05.2011 14:08
von delikanli_19_82
habe ich,
aber man muss die nummer des desktops selbst angeben, um dessen width, height, depth usw zu erhalten.
ich will die nummer des desktops rausbekommen, auf dem sich das programmfenster aktuell befindet.
mir ist nicht klar, wie ich das machen soll.
mfg
kurt
Re: aktuelles desktop?
Verfasst: 31.05.2011 14:20
von TomS
Steht doch eigentlich alles in der Hilfe...
Folgender Code gibt die Nummer des Desktop aus, auf dem sich die linke obere Ecke eines Fenster befindet.
Code: Alles auswählen
Define k.i
Define n.i = ExamineDesktops() - 1
If IsWindow(hWnd)
For k = 0 To n
If WindowX(hWnd) >= DesktopX(k) And WindowX(hwnd) <= DesktopX(k)+DesktopWidth(k) And WindowY(hWnd) >= DesktopY(k) And WindowY(hwnd) <= DesktopY(k)+DesktopHeight(k)
Debug "Das Fenster befindet sich auf Desktop "+Str(k)
EndIf
Next
EndIf
Ein Fenster kann sich aber theoretisch auf allen Desktops befinden.
Aber das kriegst du bestimmt selber hin.
Re: aktuelles desktop?
Verfasst: 31.05.2011 14:42
von ts-soft
delikanli_19_82 hat geschrieben:ich will die nummer des desktops rausbekommen, auf dem sich das programmfenster aktuell befindet.
mir ist nicht klar, wie ich das machen soll.
Du enumerierst durch alle Desktops und vergleichst Deine Fensterkoordinaten mit denen des Desktops, also ob
sich Deines innerhalb dieser Koordinaten befindet. Von den verschiedenen Desktops fängt nur einer mit 0, 0 in der
oberen linken Ecke an
PS: Es können auch negative Werte auftauchen, je nach Desktop-Konfiguration.
Re: aktuelles desktop?
Verfasst: 31.05.2011 15:26
von delikanli_19_82
ich habe aus irgendeinem grund die prozeduren desktopx und desktopy nicht wahrgenommen und bin bei desktopmousex und desktopmousey hengengeblieben, was zu folge hatte, das mir nicht klar war, wie ich die desktops ermitteln soll.
darüber hinaus dachte ich, das es eine api-call geben müsste, das mir mitteilt, auf welchem desktop ich mich gerade befinde.
die vorgestellte methode ist peinlich simpel. danke euch beiden
mfg
kurt