Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0216: Ist das eigene Fenster gerade aktiv

 von 

Beschreibung 

Ob nun das eigene Fenster das aktive Fenster schlechthin ist, läßt sich hiermit ausloten.

Schwierigkeitsgrad:

Schwierigkeitsgrad 1

Verwendete API-Aufrufe:

GetActiveWindow

Download:

Download des Beispielprojektes [1,82 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Project1.vbp -------------
'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Timersteuerelement "Timer1"

Option Explicit

Private Declare Function GetActiveWindow Lib _
        "user32" () As Long

Dim bFocus As Boolean

Private Sub Form_Load()
    Timer1.Interval = 50
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
    Dim hWnd As Long
    
    hWnd = GetActiveWindow
    
    If hWnd = Me.hWnd Then
        If bFocus = False Then
            bFocus = True
            Me.Caption = "Aktives Fenster"
        End If
    Else
        If bFocus = True Then
            bFocus = False
            Me.Caption = "Nicht aktiv"
        End If
    End If
End Sub
'---------- Ende Formular "Form1" alias Form1.frm  ----------
'-------------- Ende Projektdatei Project1.vbp --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 6 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von zoQl am 17.03.2007 um 16:09

??? Und wie kann ich das unter VB2005 ermitteln....please help!!!

Thanks

Kommentar von zoQl am 14.03.2007 um 23:19

Und wie ermittle ich das unter VB2005?
Danke

Kommentar von Robert Kurzawa am 08.04.2004 um 10:59

Mit VB5 Win98 funktioniert auch! (aber "Abschicken" functioniert nicht immer)

Kommentar von Sascha am 04.09.2003 um 13:27

Nett...
Und hier das ganze als winzige Funktion

Private Declare Function GetActiveWindow Lib "user32" () As Long

Public Function FensterAktiv(ByVal hwnd As Long) As Boolean
IIf GetActiveWindow = hwnd, FensterAktiv = True, FensterAktiv = False
End Function


im code dann z.B.

If FensterAktiv(me.hwnd) Then
...
Else
...
endif

Kommentar von kheinzz@gmx.de am 31.08.2003 um 21:51

ja aber wie erhalte ich den tietel des aktuellen fensters ?
Dies Programm zeigt nur das er selber aktiv oder nicht aktiv ist.

das wäre leichter zu programieren gewesen, denke ich.

also wie erhalte ich den tietel des akt. fensters ?

Kommentar von Andy am 02.10.2001 um 00:59

Auch auf andere
Anfragen
Perfekt!!!!!!!!!
Ansonsten Sorry
meinerseits ....