Home
Search
 
What's New
Index
Books
Links
Q & A
Newsletter
Banners
 
Feedback
Tip Jar
 
C# Helper...
 
XML RSS Feed
Follow VBHelper on Twitter
 
 
 
MSDN Visual Basic Community
 
 
 
 
 
TitleKeep track of the foreground application in VB .NET
DescriptionThis example shows how to keep track of the foreground application in VB .NET.
Keywordsforeground application, foreground window, foreground application, GetForegroundWindow
CategoriesAPI, Utilities
 
Recently I wanted a simple program to keep track of what I was doing throughout the day and wrote one in VB 6. Here's a VB .NET version by Kent Finkle.

When the program's Timer fires, the code uses the GetForegroundWindow API function to get the handle of the foreground window. It uses the GetWindowText API function to get the window's caption and displays it and the time in a ListView control.

 
' The hWnd of the most recently found window.
Private m_LastHwnd As Integer

Private Sub tmrGetFgWindow_Tick(ByVal sender As _
    System.Object, ByVal e As System.EventArgs) Handles _
    tmrGetFgWindow.Tick
    ' Get the window's handle.
    Dim fg_hwnd As Long = GetForegroundWindow()

    ' If this is the same as the previous foreground window,
    ' let that one remain the most recent entry.
    If m_LastHwnd = fg_hwnd Then Exit Sub
    m_LastHwnd = fg_hwnd

    ' Display the time and the window's title.
    Dim list_item As System.Windows.Forms.ListViewItem
    list_item = _
        lvwFGWindow.Items.Add(Text:=Now.ToString("h:mm:ss"))
    list_item.SubItems.Add(GetWindowTitle(fg_hwnd))
    list_item.EnsureVisible()
End Sub

' Return the window's title.
Private Function GetWindowTitle(ByVal window_hwnd As _
    Integer) As String
    ' See how long the window's title is.
    Dim length As Integer
    length = GetWindowTextLength(window_hwnd) + 1
    If length <= 1 Then
        ' There's no title. Use the hWnd.
        Return "<" & window_hwnd & ">"
    Else
        ' Get the title.
        Dim buf As String = Space$(length)
        length = GetWindowText(window_hwnd, buf, length)
        Return buf.Substring(0, length)
    End If
End Function
 
 
Copyright © 1997-2010 Rocky Mountain Computer Consulting, Inc.   All rights reserved.
  Updated