Anfängerfragen zum Programmieren mit PureBasic.
roherter
Beiträge: 1407 Registriert: 10.04.2005 18:58
Kontaktdaten:
Beitrag
von roherter » 15.06.2006 18:07
Wie kann ich herausbekommen ob ein anderes Programm ein fenster öffnet,dh. ein Programm welches nicht über mein Programm gestartet wurde.
Findwindow kenne ich aber das hilft mir hier ja noch nicht weiter!
Purebasic 5.0 32bit und 64 bit
I'm back from hell
PBZecke
Beiträge: 399 Registriert: 02.09.2004 17:34
Beitrag
von PBZecke » 15.06.2006 18:20
Vieleicht doch, mit Findwindow findest Du das handle des Hauptfensters der
Anwendung, und mit FindWindowEx suchst Du dann nach deren Childwindows
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden...
AND51
Beiträge: 5220 Registriert: 01.10.2005 13:15
Beitrag
von AND51 » 15.06.2006 18:31
Ich kenne EnumWindows_() nicht, denke aber das man damit alle Windows durchgehen kann und würde ähnlich wie PBKlette arbeiten: Speicher doch alle Fenster in einer LinkedList und vergleiche laufend!
Jilocasin
Beiträge: 665 Registriert: 13.05.2006 16:04
Kontaktdaten:
Beitrag
von Jilocasin » 15.06.2006 18:49
> ich kenne EnumWindows_() nicht
jetzt schon:
Code: Alles auswählen
Procedure.l EnumProcedure(WindowHandle.l,Parameter.l)
Shared EnumHandle.l
Shared EnumName.s
Title.s = Space(200)
GetWindowText_(WindowHandle,@Title,200)
If FindString(Title,EnumName,1)
EnumHandle = WindowHandle
ProcedureReturn 0 ; stoppt die suche
Else
EnumHandle = 0
ProcedureReturn 1 ; lässt sie weiterlaufen
EndIf
EndProcedure
Procedure FindWindow(Name.s)
Shared EnumName
Shared EnumHandle
EnumName = Name
EnumWindows_(@EnumProcedure(),0)
ProcedureReturn EnumHandle
EndProcedure
Debug FindWindow("PureBasic")