title image


Smiley Re: herausfinden, ob ein bestimmtes Programm gerade läuft
Option Explicit Declare Function EnumWindows Lib "user32" _ (ByVal lpEnumFunc As Long, _ ByVal lParam As Long) As Long Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" _ (ByVal hWnd As Long, _ ByVal lpString As String, _ ByVal cch As Long) As Long Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" _ (ByVal hWnd As Long) As Long Sub Main() ShowAllWindowsEnd Sub Public Sub ShowAllWindows() EnumWindows AddressOf CallbackEnumWindowsProc, 0&End Sub Public Function CallbackEnumWindowsProc(ByVal hWnd As Long, ByVal lParam As Long) As Long ' Callback Prozedur, die von Windows95/NT für jedes Fenster aufgerufen wird. Dim sBuffer As String Dim lBuffLen As Long Dim RetVal As Long ' ' Windows-Handle ausgeben ' Debug.Print "hWnd:" & hWnd; ' ' Der Windows-Handle ist eindeutig. ' Wir benutzen ihn hier, um zusätzlich den Text in der Titelzeile auszugeben. ' ' Textlänge ermitteln und Buffer in der passenden Größe bereitstellen: ' lBuffLen = GetWindowTextLength(hWnd) sBuffer = String$(lBuffLen, " ") & vbNullChar  ' ' Fenstertext holen: ' RetVal = GetWindowText(hWnd, sBuffer, lBuffLen) If RetVal 0 Then ' Fenstertext wurde zurückgegeben sBuffer = Left(sBuffer, RetVal) Debug.Print ", Fenstertitel: " & sBuffer Else ' Fenstertext ist nicht verfügbar. Debug.Print ", Fenstertitel: - unbekannt -" End If  ' ' Signalisieren, daß Windows95/NT mit dem nächsten Fenster weitermachen soll: ' Wenn wir hier "False" angeben, wird der Callback abgebrochen. ' CallbackEnumWindowsProc = TrueEnd FunctionErläuterungen:Der Funktion EnumWindows wird beim Aufruf die Adresse der Callback-Funktion CallbackEnumWindowsProc() übergeben. Windows ruft dann die Callback - Funktion für jedes Fenster auf und übergibt ihr den Windows-Handle hWnd.Der zweite Parameter lParam (hier 0&) ist optional und wird von Windows einfach durchgereicht.Viel Erfolg!Thomas Prötzschcu
Thomas Prötzsch

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: