C# FindWindowEx用法

C# FindWindowEx用法2010-11-2809:51:18|  分类: 程序编程|字号 订阅 函数功能:该函数获得一个窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数查找子窗口,从排在给定的子窗口后面的下一个子窗口开始。在查找时不区分大小写。   函数原型:HWNDFindWindowEx(HWNDhwndParent,HWNDhwndChildAfter

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


2010-11-28 09:51:18|  分类: 程序编程|字号 订阅

 函数功能:该函数获得一个窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数查找子窗口,从排在给定的子窗口后面的下一个子窗口开始。在查找时不区分大小写。

    函数原型:HWND FindWindowEx(HWND hwndParent,HWND hwndChildAfter,LPCTSTR lpszClass,LPCTSTR lpszWindow);

    参数:

    hwndParent:要查找子窗口的父窗口句柄。

    如果hwnjParent为NULL,则函数以桌面窗口为父窗口,查找桌面窗口的所有子窗口。

    Windows NT5.0 and later:如果hwndParent是HWND_MESSAGE,函数仅查找所有消息窗口。

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

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

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

C#中使用该函数首先导入命名空间:
using System.Runtime.InteropServices;

然后写API引用部分的代码,放入 class 内部
[DllImport(“user32.dll”, EntryPoint = “FindWindow”)]
private static extern IntPtr FindWindowEx( IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow )

例如:

const int BM_CLICK = 0xF5;   
IntPtr maindHwnd = FindWindow(null, “QQ用户登录”); //获得QQ登陆框的句柄   
if (maindHwnd != IntPtr.Zero)   
{   
    IntPtr childHwnd = FindWindowEx(maindHwnd, IntPtr.Zero, null, “登录”);   //获得按钮的句柄   
    if (childHwnd != IntPtr.Zero)   
    {   
        SendMessage(childHwnd, BM_CLICK, 0, 0);     //发送点击按钮的消息   
    }   
    else  
    {   
        MessageBox.Show(“没有找到子窗口”);   
    }   
}   
else  
{   
    MessageBox.Show(“没有找到窗口”);   
}

 

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138257.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hexdump命令_pg_dump命令

    hexdump命令_pg_dump命令有时候需要查看一些二进制文件的内容,比如二进制文件中包含的某些字符串。这个时候可以用hexdump工具看查看。常用参数:hexdump-C-nlength-sskipfile_name-C定义了导出的格式,-sskip指定了从文件头跳过多少字节,或者说是偏移量,默认是十进制。如果是0x开头,则是十六进制。-n指定了导出多少长度如果是寻找文本内容,则经常在后

    2025年12月5日
    7
  • MapReduce InputFormat之FileInputFormat

    一:简单认识InputFormat类InputFormat主要用于描述输入数据的格式,提供了以下两个功能:1)、数据切分,按照某个策略将输入数据且分成若干个split,以便确定MapTask的个数即Mapper的个数,在MapReduce框架中,一个split就意味着需要一个MapTask;2)为Mapper提供输入数据,即给定一个spli…

    2022年4月6日
    40
  • nginx转发https到http

    nginx转发https到http微信小程序和公众号,要求外链的页面或API必须使用https。https意味着需要证书,在测试阶段,很不方便,因此部署的测试站点都是http。于是尝试在现有的https站点中,用nginx转发请求到只有http的测试站点。方法众所周知,在nginx.conf中添加一个转发规则。 server{ listen80; server_name服务器IP; 。。。 } server{ listen443ssl; server

    2022年10月19日
    8
  • 社区服务O2O第四谈:创业者们的玩法

    社区服务O2O第四谈:创业者们的玩法

    2021年8月27日
    59
  • loadrunner11基础使用「建议收藏」

    loadrunner11基础使用「建议收藏」装好Loadrunner后要用管理员权限打开,不然可能会报错win10可以装lr12和12.5,但是无法激活成功教程,最大并发50人,还只有7天试用期,7天过了要重新装loadrunner11中主要就是三个模块:VuGen:创建/编辑脚本,脚本录制和脚本增强Controller:运行负载测试,性能场景的设计和性能指标的分析及指标监控Analysis:分析测试结果,性能结果分析,出报告VuGen:创建/编辑脚本主要就是页面中四个按钮,主要用前两个按钮,新建脚本和打开现有脚本。点击新建脚本,选择Web

    2022年10月9日
    2
  • 学计算机的男生喜欢什么样的女生,it男喜欢什么样的女孩

    学计算机的男生喜欢什么样的女生,it男喜欢什么样的女孩喜欢什么样的女孩子每个男生的定义都不一样,有些男生更喜欢性感魅惑的御姐范儿气质,当然,也有很多男生偏向甜美可爱风格的。那么it男喜欢什么样的女孩子呢?来源:图虫作者:79054344888189459虽然很多花心的男生喜欢的女孩子的类型是不固定的,而且一般都是见一个爱一个的,但实际上很多男生的心里对于自己喜欢的女孩子的类型是很清楚的,所以就算有女生喜欢他们,他们也不反感,但是接受却是一件困难的事情…

    2022年7月25日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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