在VB中使用FindWindowEx函數需要導入Windows API的相關函數聲明,并且需要使用Declare語句將函數聲明為外部函數。
以下是一個使用FindWindowEx函數的示例代碼:
Option Explicit
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWndParent As Long, ByVal hWndChildAfter As Long, ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub Command1_Click()
Dim hWndParent As Long
Dim hWndChild As Long
Dim className As String
Dim windowName As String
' 設置父窗口句柄
hWndParent = 0 ' 0表示桌面窗口
' 設置子窗口類名和窗口名稱
className = "Notepad"
windowName = "新建文本文檔.txt - 記事本"
' 使用FindWindowEx函數查找子窗口
hWndChild = FindWindowEx(hWndParent, 0, className, windowName)
' 檢查查找結果
If hWndChild <> 0 Then
' 找到了子窗口
MsgBox "找到了子窗口!句柄為:" & hWndChild
Else
' 沒有找到子窗口
MsgBox "未找到子窗口!"
End If
End Sub
在上面的示例代碼中,我們使用了FindWindowEx函數來查找一個名為"新建文本文檔.txt - 記事本"的記事本子窗口。首先,我們需要設置父窗口句柄,這里我們設置為0,表示桌面窗口。然后,我們設置了子窗口的類名為"Notepad",窗口名稱為"新建文本文檔.txt - 記事本"。最后,我們調用FindWindowEx函數來查找子窗口,并根據返回的句柄進行處理。
請注意,在使用FindWindowEx函數時,需要確保傳遞給函數的字符串參數正確、區分大小寫,并且窗口名稱必須完全匹配才能找到正確的窗口。