Alle Windows auflisten

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Noa

Betreff: Alle Windows auflisten

BeitragMi, Jan 28, 2009 12:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo allerseits,

ich hätte da mal ein Problem bzw. Frage: Kann mir jemand eine Funktion schreiben, die alle auf dem Desktop sichtbaren Window-Handles zurückgibt?
Ich denke mal das geht nur über die WinApi aber damit hatte ich wenig Erfolg: Hab es mit EnumWindows, EnumChildWindows, GetWindow versucht aber alle haben mir immer nur einen Handle zurückgeliefert und nicht die Liste aller Handles. Vielleicht hab ich auch einen Denkfehler dabei. Leider gibt es kein gutes Tutorial wie man WinApi in Blitzmax verwendet und ich bin auch in WinApi nicht wirklich bewandert, von daher sind Fehler meinerseits durchaus möglich.

Im Voraus schonmal Danke für die Hilfe ^^.
 

Sliver

BeitragMi, Jan 28, 2009 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Sind die Fenster nicht Childs vom Desktop?

Noa

BeitragMi, Jan 28, 2009 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab ich auch versucht, allerdings immer nur ein Handle zurückbekommen, daher wäre ein Beispiel wirklich hilfreich ^^.

Suco-X

Betreff: ....

BeitragMi, Jan 28, 2009 16:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]


Strict

Const BUF_MAX:Int = 1024


Extern "win32"
   Function EnumWindows(proc:Byte Ptr, lParam:Int)
   Function GetWindowTextW(hWnd:Int, buf:Short Ptr, nMaxCount:Int)
End Extern


Function WindowTitle:String(hwnd:Int)
   Local mem:Short Ptr, txt:String
   
   mem = New Short[BUF_MAX]
   
   GetWindowTextW(hwnd, mem, BUF_MAX)
   txt = String.fromWString(mem)
   
   Return txt
End Function



Function Proc:Int(hwnd:Int, lparam:Int)"win32"
   Print "HWND: "+hwnd+" | Title: "+WindowTitle(hwnd)
   Return True
End Function


EnumWindows(proc, 0)



EnumWindows funktioniert doch wunderbar (Hier jedenfalls).
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

Suco-X

Betreff: ....

BeitragFr, Jan 30, 2009 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Tja, da wo ich herkomme hatte noch niemand die Respektlosigkeit jemanden 2 Tage unbeantwortet stehen zu lassen der 15 Minuten seiner eigenen Zeit geopfert hat um einem anderen zu helfen. Wenn das deine Art von Höflichkeit ist werde ich dich bei weiteren Fragen natürlich gerne unterstützen.
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

Noa

BeitragMo, Feb 16, 2009 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke vielmals, es funktioniert tadellos.

Tut mir leid, dass ich nicht eher reagiert habe, habe nicht bemerkt, dass noch jemand auf der Thema geantwortet hatte.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group