Titel des aktiven Fensters

Anfängerfragen zum Programmieren mit PureBasic.
Angelo
Beiträge: 102
Registriert: 20.02.2010 14:47
Wohnort: Berlin

Titel des aktiven Fensters

Beitrag von Angelo »

Hallo,

ich habe MS-Word geöffnet und die Titelzeile des Word-Fensters lautet beispielsweise "test.doc - Microsoft Word". Wie kann ich dann mittles PB diese Titelzeile auslesen? Mit PB-Funktionen wie GetWindowTitle() geht es ja nicht, weil diese Funktionen sich auf PB-Anwendungen beziehen. Mit den Api-Befehlen GetForegroundWindow() zur handle-Bestimmung und anschließendem GetWindowText() bin ich auch nicht weitergekommen (das durch GetForegroudWindow ausgespuckte Handle stimmt nicht mit dem Handle überein, welches FindWindow_(0, "test.doc - Microsoft Word") liefert). Wäre toll, wenn irgendjemand noch eine Idee hat.
PB 5.50; Win 7
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Titel des aktiven Fensters

Beitrag von RSBasic »

Vielleicht hilft dieser Code weiter:

Code: Alles auswählen

EnableExplicit

Procedure.s GetForegroundWindowTitle()
  Protected hwnd
  Protected Length
  Protected *Buffer
  
  hwnd=FindWindow_("OpusApp",#Null)
  Length = GetWindowTextLength_(hwnd)+1
  *Buffer = AllocateMemory(Length)
  GetWindowText_(hwnd,*Buffer,Length)
  
  ProcedureReturn PeekS(*Buffer)
EndProcedure

MessageRequester("","Titel: "+GetForegroundWindowTitle(),0)
Bzw. versuch mal mit dem Klassenname "OpusApp". (Getestet mit Word 2003)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Angelo
Beiträge: 102
Registriert: 20.02.2010 14:47
Wohnort: Berlin

Re: Titel des aktiven Fensters

Beitrag von Angelo »

Vielen Dank, RSBasic! - Dein Code funktioniert einwandfrei. Den Klassennamen für Word kannte ich nicht. :oops:
Wieder etwas dazu gelernt! :D
PB 5.50; Win 7
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Titel des aktiven Fensters

Beitrag von RSBasic »

Um beispielsweise den Klassennamen zu ermitteln, kann ich dir folgende Anwendungen empfehlen, falls du weitere Sachen in diese Richtung machen möchtest:
ShoWin: http://www.rsbasic.de/temp/ShoWin.exe
WinSpy: http://www.rsbasic.de/temp/WinSpy.exe
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Angelo
Beiträge: 102
Registriert: 20.02.2010 14:47
Wohnort: Berlin

Re: Titel des aktiven Fensters

Beitrag von Angelo »

Super!
PB 5.50; Win 7
Antworten