Metriken eines Fremdfensters

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Metriken eines Fremdfensters

Beitrag von Hroudtwolf »

Guden Tach leve Leid,


Wie kann man die Metriken eines Fremdfensters (also eines anderen Programmes) bekommen.
Quasi sowas wie WindowWidth() und WindowHeight()

Wenn ich mit GetActiveWindow_() das handle habe fehlt mir nämlich immer die Fensternummer damit dich sowas machen kann:

Code: Alles auswählen

UseWindow(WnNr)
x=WindowWidth()
y=WindowHeigth()
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag von Franky »

Guck dir mal GetWindowRect_() an, da musst du dann aber an den werten noch mit getsystemmetrics rumschrauben, um die dimensionen an zu passen
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Benutzeravatar
nicolaus
Moderator
Beiträge: 1175
Registriert: 11.09.2004 13:09
Kontaktdaten:

Beitrag von nicolaus »

hoffe das hilft dir
wenn du den name des fensters nich weis geht der code nich (mußt du halt noch mal bescheid sagen). Im debugmodus starten und du siehst was du haben willst

Code: Alles auswählen

hwnd = FindWindow_(0, "Der Name des Fensters hier rein")
GetWindowRect_(hwnd,rect.RECT)
Debug "x :" +Str(rect\Left)
Debug "y :" +Str(rect\Top)
Debug "width :" +Str(rect\right-rect\Left)
Debug "height :" +Str(rect\bottom-rect\Top)
SetWindowPos_(hwnd,#HWND_TOP,0,0,500,500,#SWP_SHOWWINDOW)
GetWindowRect_(hwnd,rect.RECT)
Debug "x :" +Str(rect\Left)
Debug "y :" +Str(rect\Top)
Debug "width :" +Str(rect\right-rect\Left)
Debug "height :" +Str(rect\bottom-rect\Top)
gruß nico
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Danke

Beitrag von Hroudtwolf »

Danke fürs hilfreiche posten !
Weitere Hilfen nehme ich denoch gerne an....
Benutzeravatar
nicolaus
Moderator
Beiträge: 1175
Registriert: 11.09.2004 13:09
Kontaktdaten:

Beitrag von nicolaus »

das heist jetzt was? das dir der code von mir noch nich geholfen hat? was brachst du noch?
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag von Franky »

Vielleicht möchte er´s ja so haben: /:->

Code: Alles auswählen

hwnd = GetActiveWindow_()
GetWindowRect_(hwnd,rect.RECT)
Debug "x :" +Str(rect\Left)
Debug "y :" +Str(rect\Top)
Debug "width :" +Str(rect\right-rect\Left)
Debug "height :" +Str(rect\bottom-rect\Top)
SetWindowPos_(hwnd,#HWND_TOP,0,0,500,500,#SWP_SHOWWINDOW)
GetWindowRect_(hwnd,rect.RECT)
Debug "x :" +Str(rect\Left)
Debug "y :" +Str(rect\Top)
Debug "width :" +Str(rect\right-rect\Left)
Debug "height :" +Str(rect\bottom-rect\Top)
Kriegt er aber nicht <)
...
:roll:
....
Sorry, war gestern auf Karneval /:->
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Antworten