比如,某窗口在失去焦点时,能查到该窗口句柄,当该窗口获得焦点时,就查不到该窗口的句柄,请问这是怎么回事?
我用GetForegroundWindow查找

解决方案 »

  1.   

    getforegroundwindow为获得焦点的窗体的句柄。
    你的程序在某窗口获得焦点时用这个函数反而查不出句柄,真是奇怪。
    建议使用enumwindows函数
      

  2.   

    什么窗体有这种可能吗?
    或者你用Private Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As Long
      

  3.   

    或者用EnumDesktopWindows
    EnumWindows来遍历查找
      

  4.   

    用FindWindow直接查找即可
    和焦点没关系
      

  5.   

    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