Windows 在VB.NET中将焦点更改为另一个窗口
我正在使用VB.NET,需要激活某个窗口。这可能吗?如果是这样,怎么做?您将需要使用Win32 API来完成此操作 首先,通过调用获取其句柄来找到要放在前面的窗口,然后使用API将其放在前台Windows 在VB.NET中将焦点更改为另一个窗口,windows,vb.net,.net-2.0,Windows,Vb.net,.net 2.0,我正在使用VB.NET,需要激活某个窗口。这可能吗?如果是这样,怎么做?您将需要使用Win32 API来完成此操作 首先,通过调用获取其句柄来找到要放在前面的窗口,然后使用API将其放在前台 包含这些方法的声明。有两种解决方案,一种使用Windows API,另一种使用纯VB.Net 您可以使用setforegroundindow(iHandle) 使用FindWindow获取窗口句柄的示例 Public Declare Function SetForegroundWindow Lib "use
包含这些方法的声明。有两种解决方案,一种使用Windows API,另一种使用纯VB.Net
setforegroundindow(iHandle)
Public Declare Function SetForegroundWindow Lib "user32.dll" (ByVal hwnd As Integer) As Integer
Public Declare Auto Function FindWindow Lib "user32.dll" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Dim hWnd As Integer
hWnd = FindWindow(strClassName, strWindowCaption)
If hWnd > 0 Then
SetForegroundWindow(hWnd)
End If
Dim hWnd As IntPtr
Dim inputProcess = GetActiveAppProcess()
hWnd = GetActiveAppProcess().MainWindowHandle
AppActivate(inputProcess.Id)
'you can also use SetForegroundWindow
'SetForegroundWindow(inputProcess..MainWindowHandle)
SendKeys.Send("^v")