FindWindow只能找顶层窗口(top-level)

如果你的窗口不是在最顶层,就要先找到该窗口的顶层窗口,再用FindWindowEx一级一级往下找,找到你要的窗口为止。

注意FindWindowEx的第一个参数必须要设,否则windows就把桌面当作父窗口了,此时FindWindowEx的作用和FindWindow是一样的。

 

附FindWindowEx API的第一个参数的说明:

HWND FindWindowEx(

    HWND hwndParent, // handle to parent window
    HWND hwndChildAfter, // handle to a child window
    LPCTSTR lpszClass, // pointer to class name
    LPCTSTR lpszWindow // pointer to window name
   ); 
 

Parameters

hwndParent

Identifies the parent window whose child windows are to be searched.
If hwndParent is NULL, the function uses the desktop window as the parent window. The function searches among windows that are child windows of the desktop.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
函数功能 在窗口列表中寻与指定条件相符的第一个子窗口 。 该函数获得一个窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数查窗口,从排在给定的子窗口后面的下一个子窗口开始。在查时不区分大小写。 参数; (1)hwndParent:要查的子窗口所在的父窗口的句柄(如果设置了hwndParent,则表示从这个hwndParent指向的父窗口中搜索子窗口)。 如果hwndParent为 0 ,则函数以桌面窗口为父窗口,查桌面窗口的所有子窗口Windows NT5.0 and later:如果hwndParent是HWND_MESSAGE,函数仅查所有消息窗口。 (2)hwndChildAfter :子窗口句柄。查从在Z序中的下一个子窗口开始。子窗口必须为hwndParent窗口的直接子窗口而非后代窗口。如果HwndChildAfter为NULL,查从hwndParent的第一个子窗口开始。如果hwndParent 和 hwndChildAfter同时为NULL,则函数查所有的顶层窗口及消息窗口。 (3)lpszClass:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobaIAddAtom函数产生的全局成员。该成员为16位,必须位于lpClassName的低16位,高位必须为0。 (4)lpszWindow:指向一个指定了窗口名(窗口标题)的空结束字符串。如果该参数为 NULL,则为所有窗口全匹配。 返回值 Long,到的窗口的句柄。如未到相符窗口,则返回零。会设置GetLastError 如果函数成功,返回值为具有指定类名和窗口名的窗口句柄。如果函数失败,返回值为NULL。 若想获得更多错误信息,请调用GetLastError函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值