Advertisement
2002ASP VB function enhancement #504

Find Any Window

Sometimes you need to find a window using the API Call findwindow , but what if this windows caption changes you can't find that same window all the time. With this function you can find any window just by knowing a few letters in the caption. This will return the windows' hWnd , also includes a function that will grab the windows caption. This is something that will be useful to alot of programmers. Updated! 2.23.01

AI

AI Summary: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.

Source Code
original-source
Public Function GetCaption(ByVal lhWnd As Long) As String
Dim sA As String, lLen As Long
 
 lLen& = GetWindowTextLength(lhWnd&)
 sA$ = String(lLen&, 0&)
 Call GetWindowText(lhWnd&, sA$, lLen& + 1)
 GetCaption$ = sA$
End Function
Public Function FindAnyWindow(frm As Form, ByVal WinTitle As String, Optional ByVal CaseSensitive As Boolean = False) As Long
Dim lhWnd As Long, sA As String
lhWnd& = frm.hwnd
Do Until lhWnd& = 0
 DoEvents
 
 sA$ = GetCaption(lhWnd&)
 If InStr(IIf(CaseSensitive = False, LCase$(sA$), sA$), IIf(CaseSensitive = False, LCase$(WinTitle$), WinTitle$)) Then FindAnyWindow& = lhWnd&: Exit Do Else FindAnyWindow& = 0
 
 lhWnd& = GetNextWindow(lhWnd&, 2)
Loop
End Function
Original Comments (3)
Recovered from Wayback Machine