vb.Net 获取窗口句柄
时间: 2023-09-17 12:08:43 浏览: 192
在 VB.NET 中获取窗口句柄可以使用 Windows API 函数 FindWindow 或 FindWindowEx。
FindWindow 函数用于在当前进程中查找具有指定类名和窗口名的顶层窗口。示例代码如下:
```
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
Dim hWnd As IntPtr = FindWindow("窗口类名", "窗口标题")
```
FindWindowEx 函数用于在当前进程中查找具有指定类名和窗口名的子窗口。示例代码如下:
```
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWndParent As IntPtr, ByVal hWndChildAfter As IntPtr, ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
Dim hWnd As IntPtr = FindWindowEx(parentHwnd, IntPtr.Zero, "子窗口类名", "子窗口标题")
```
其中,parentHwnd 是父窗口的句柄,可以通过 FindWindow 函数获取。如果要在所有进程中查找窗口句柄,可以使用 EnumWindows 函数枚举所有顶层窗口,然后使用 GetClassName 和 GetWindowText 函数判断窗口是否符合要求。
阅读全文