FindWindow: Unterschied zwischen den Versionen

Aus API-Wiki
Wechseln zu: Navigation, Suche
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
 
Die API-Funktion [[FindWindow]] sucht ein Fenster mittels 2 Parameter und gibt deren Fensterhandle zurück.
 
Die API-Funktion [[FindWindow]] sucht ein Fenster mittels 2 Parameter und gibt deren Fensterhandle zurück.
  
<code vb>
+
<syntaxhighlight lang="vb">
  
 
Declare Function FindWindow Lib "user32" _
 
Declare Function FindWindow Lib "user32" _
Zeile 9: Zeile 9:
 
                 ByVal lpWindowName As String) As Long  
 
                 ByVal lpWindowName As String) As Long  
  
</code>
+
</syntaxhighlight>
  
  
Zeile 31: Zeile 31:
 
Der Aufruf ist simpel. In diesem Beispiel wird das Fenster des Windows Taschenrechners gesucht.
 
Der Aufruf ist simpel. In diesem Beispiel wird das Fenster des Windows Taschenrechners gesucht.
  
<code vb>
+
<syntaxhighlight lang="vb">
 
Dim Handle As Long
 
Dim Handle As Long
 
   Handle = FindWindow(vbNullString, "Rechner")
 
   Handle = FindWindow(vbNullString, "Rechner")
Zeile 43: Zeile 43:
 
   End If
 
   End If
  
</code>
+
</syntaxhighlight>
  
  
 
==Hinweise==
 
==Hinweise==
  
Diese Funktion findet immer nur das erste Fenster mit dem angegebenen Titel oder Klassennamen. Sind nun zwei Fenster mit gleichem Titel geöffnet, so kann die Funktion nur das erste Fenster finden.
+
Diese Funktion findet immer nur das erste Fenster mit dem angegebenen Titel oder Klassennamen. Sind zwei Fenster mit gleichem Titel geöffnet, so liefert die Funktion das erste gefundene Fenster.
  
 
==Betriebsystem==
 
==Betriebsystem==
Zeile 78: Zeile 78:
 
*[http://www.activevb.de/tipps/vb6tipps/tipp0567.html ActiveVB Tipp 0567]<br>
 
*[http://www.activevb.de/tipps/vb6tipps/tipp0567.html ActiveVB Tipp 0567]<br>
 
*[http://www.activevb.de/tipps/vb6tipps/tipp0573.html ActiveVB Tipp 0573]<br>
 
*[http://www.activevb.de/tipps/vb6tipps/tipp0573.html ActiveVB Tipp 0573]<br>
*[http://support.microsoft.com/?kbid=107689 ''Microsoft Knowledge-Base KB107689'' - HOWTO: Programmatically Disable Microsoft Excel Control Menu Commands] <br>
 
*[http://support.microsoft.com/?kbid=129388 ''Microsoft Knowledge-Base KB129388'' - INFO: How Null String Pointers Behave in Visual Basic] <br>
 
*[http://support.microsoft.com/?kbid=153025 ''Microsoft Knowledge-Base KB153025'' - FIX: Microsoft Excel 95 Doesn't Respond Correctly to GetObject] <br>
 
*[http://support.microsoft.com/?kbid=153463 ''Microsoft Knowledge-Base KB153463'' - HOWTO: Close Applications from Visual Basic] <br>
 
*[http://support.microsoft.com/?kbid=168204 ''Microsoft Knowledge-Base KB168204'' - HOWTO: Kill an Application with System Menu Using VB] <br>
 
*[http://support.microsoft.com/?kbid=168768 ''Microsoft Knowledge-Base KB168768'' - VBA: Assigning Word Styles to the PowerPoint Slide Master] <br>
 
*[http://support.microsoft.com/?kbid=172369 ''Microsoft Knowledge-Base KB172369'' - Viewer Quit Method Does Not Close Viewer (PPT97)] <br>
 
*[http://support.microsoft.com/?kbid=176391 ''Microsoft Knowledge-Base KB176391'' - HOWTO: Programmatically Close a Single Instance of a Windows-Based Program] <br>
 
*[http://support.microsoft.com/?kbid=185730 ''Microsoft Knowledge-Base KB185730'' - HOWTO: Prevent multiple instances of a 32-bit VB application] <br>
 
*[http://support.microsoft.com/?kbid=186431 ''Microsoft Knowledge-Base KB186431'' - HOWTO: Bring an Application Window to the Top with Focus] <br>
 
*[http://support.microsoft.com/?kbid=210500 ''Microsoft Knowledge-Base KB210500'' - HOWTO: Make Microsoft Access Windows Stay on Top of Other Windows (ACC2000)] <br>
 
*[http://support.microsoft.com/?kbid=210605 ''Microsoft Knowledge-Base KB210605'' - HOWTO: Determine If a Specific Windows Program Is Running (ACC2000)] <br>
 
*[http://support.microsoft.com/?kbid=213502 ''Microsoft Knowledge-Base KB213502'' - HOWTO: Disable Microsoft Excel Control Menu Commands programmatically (XL2000)] <br>
 
*[http://support.microsoft.com/?kbid=238245 ''Microsoft Knowledge-Base KB238245'' - HOWTO: Call the ShellExecute Windows API Function (WD2000)] <br>
 
*[http://support.microsoft.com/?kbid=242308 ''Microsoft Knowledge-Base KB242308'' - HOWTO: Find a Window Handle from an Instance Handle] <br>
 
*[http://support.microsoft.com/?kbid=258511 ''Microsoft Knowledge-Base KB258511'' - HOWTO: Obtain the Window Handle for an Office Automation Server] <br>
 
*[http://support.microsoft.com/?kbid=290150 ''Microsoft Knowledge-Base KB290150'' - HOWTO: Hide and Unhide the Windows Taskbar programmatically (OFFXP)] <br>
 
 
 
  
 
==Quelle(n)==
 
==Quelle(n)==

Aktuelle Version vom 7. Oktober 2016, 22:22 Uhr

Die API-Funktion FindWindow sucht ein Fenster mittels 2 Parameter und gibt deren Fensterhandle zurück.

Declare Function FindWindow Lib "user32" _
                 Alias "FindWindowA" ( _
                 ByVal lpClassName As String, _
                 ByVal lpWindowName As String) As Long


Parameter

lpClassName

Gibt den Klassennamen an, nach der gesucht wird. Ist der Klassennamen unwichtig, so wird vbNullString verwendet.

lpWindowName

Gibt den Fensternamen an, nach dem Gesucht wird. Ist der Fenstername unwichtig, so wird vbNullString verwendet.


Rückgabewerte

Die Funktion gibt einen wert vom Typ long zurück und beinhaltet das Handle des gefundenen Fensters. Wurde das Fenster nicht gefunden, so ist der Wert 0.



Beispiel

Der Aufruf ist simpel. In diesem Beispiel wird das Fenster des Windows Taschenrechners gesucht.

Dim Handle As Long
   Handle = FindWindow(vbNullString, "Rechner")

   If Handle <> 0 Then
      MsgBox "Der Windows-Rechner ist geladen!", vbInformation, "Fenster gefunden!"

   Else
      MsgBox "Der Windows-Rechner ist nicht geladen!", vbInformation, "Fenster nicht gefunden!"

   End If


Hinweise

Diese Funktion findet immer nur das erste Fenster mit dem angegebenen Titel oder Klassennamen. Sind zwei Fenster mit gleichem Titel geöffnet, so liefert die Funktion das erste gefundene Fenster.

Betriebsystem

Die Funktion ist unter folgenden Betriebssystemen funktionsfähig:

  • Windows NT 4.0
  • Windows NT 5.0 (2000)
  • Windows XP (ab SP2)
  • Windows Vista (nur x64)


Verweise

Quelle(n)

http://msdn.microsoft.com/en-us/library/ms633499.aspx