什么窗体有这种可能吗? 或者你用Private Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As Long
或者用EnumDesktopWindows EnumWindows来遍历查找
用FindWindow直接查找即可 和焦点没关系
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Sub Command1_Click() Debug.Print FindWindow(vbNullString, "form1")'form1为待寻找窗体标题名 Debug.Print Form1.hWnd End Sub
你的程序在某窗口获得焦点时用这个函数反而查不出句柄,真是奇怪。
建议使用enumwindows函数
或者你用Private Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As Long
EnumWindows来遍历查找
和焦点没关系
Private Sub Command1_Click()
Debug.Print FindWindow(vbNullString, "form1")'form1为待寻找窗体标题名
Debug.Print Form1.hWnd
End Sub