FindWindow和FindWindowEx「建议收藏」

FindWindow和FindWindowEx「建议收藏」函数型:HWNDFindWindow(LPCTSTRIpClassName,LPCTSTRIpWindowName);IpClassName:指向一个指定了类名的空结束字符串或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobaIAddAtom函数产生的全局成员。该成员为16位,必须位于lpClassName的低16位,高位必须为0。如果为NULL,

大家好,又见面了,我是你们的朋友全栈君。

函数型:HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName);

IpClassName :指向一个指定了类名的空结束字符串或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobaIAddAtom函数产生的全局成员。该成员为16位,必须位于lpClassName的低16位,高位必须为0。如果为NULL,将会寻找任何与lpWindowName参数匹配的窗口,IpWindowName:指向一个指定了窗口名(窗口标题)的空结束字符串。如果该参数为空,则为所有窗口全匹配。

返回值:如果函数成功,返回值为具有指定类名和窗口名的窗口句柄;如果函数失败,返回值为NULL。

函数原型:HWND FindWindowEx(HWND hwndParent,HWND hwndChildAfter,LPCTSTR lpszClass,LPCTSTR lpszWindow);
hwndParent:要查找子窗口的父窗口句柄。如果hwndParent为NULL,则函数以桌面窗口为父窗口,查找桌面窗口的所有子窗口。

hwndChildAfter :子窗口句柄。查找从在Z序中的下一个子窗口开始。子窗口必须为hwndPareRt窗口的直接子窗口而非后代窗口。如果HwndChildAfter为NULL,查找从hwndParent的第一个子窗口开始。如果hwndParent 和 hwndChildAfter同时为NULL,则函数查找所有的顶层窗口及消息窗口。

lpszClass:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobaIAddAtom函数产生的全局成员。该成员为16位,必须位于lpClassName的低16位,高位必须为0。

lpszWindow:指向一个指定了窗口名(窗口标题)的空结束字符串。如果该参数为 NULL,则为所有窗口全匹配。
返回值:如果函数成功,返回值为具有指定类名和窗口名的窗口句柄。如果函数失败,返回值为NULL。

注意点:
FindWindow 查找顶级窗口,不搜索子窗口。而FindWindowEx则是查找一个窗口的子窗口。
相同点:都是只查找一次,找到返回窗口句柄,找不到返回NULL。 都可与while构成循环。

简单例子
void Test()  
{  
    HWND hParentwnd = NULL;  
	hParentwnd = FindWindow(NULL, TEXT("ParentWnd"));
    while(true)  
    {   
		HWND hwnd = NULL;  
        HWND hwndTmp = ::FindWindowEx(hParentwnd, hwnd, NULL, TEXT("ChildWnd"));  
        
        if(!hwndTmp)
        {
            break;//没找到
        }
        else  
        {  
           //do some work
        } 
    }  
}  


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138102.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • MAC下安装yarn方法

    MAC下安装yarn方法国内用户推荐使用脚本方式安装,快

  • SSL协议简介

    SSL协议简介最近在看《密码学与网络安全》相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL。在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识。1、密码学的相关概念密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。明文(plaintext):发送人、接受人和任何访问消息的人都能理解的消息。密文(ciphertext):明…

  • pytorch dropout用法

    pytorch dropout用法链接:https://www.zhihu.com/question/67209417/answer/302434279刚踩的坑,差点就哭出来了TT.—我明明加了一百个dropout,为什么结果一点都没变使用F.dropout(nn.functional.dropout)的时候需要设置它的training这个状态参数与模型整体的一致.比如: Cla…

  • pycharm是下载社区版本的还是专业版本_pycharm激活成功教程版汉化包

    pycharm是下载社区版本的还是专业版本_pycharm激活成功教程版汉化包pycharm产品主页:https://www.jetbrains.com/pycharm/

  • pycharm 格式化代码[通俗易懂]

    pycharm 格式化代码[通俗易懂]有时候将空格键和tab键混用,在windows上没什么事情,但是如果移动到linux就会有问题,所以我们在移动到linux上之前要先格式化一下代码:ctrl+alt+L可以格式化,但是和锁屏快捷键冲突。 也可以,先选中代码,使用快捷键 ctrl+alt+i 。 …

  • torch.nn.Conv1d及一维卷积详解[通俗易懂]

    近日在搞wavenet,期间遇到了一维卷积,在这里对一维卷积以及其pytorch中的API进行总结,方便下次使用之前对二维卷积是比较熟悉的,在初次接触一维卷积的时候,我以为是一个一维的卷积核在一条线上做卷积,但是这种理解是错的,一维卷积不代表卷积核只有一维,也不代表被卷积的feature也是一维。一维的意思是说卷积的方向是一维的。下边首先看一个简单的一维卷积的例子(batchsize是1,也只…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号