FindWindow和FindWindowEx函数使用
FindWindow(lpClassName, {窗口的类名}lpWindowName: PChar {窗口的标题} ): HWND; {返回窗口的句柄; 失败返回 0}//FindWindowEx 比 FindWindow 多出两个句柄参数: FindWindowEx(Parent: HWND; {要查找子窗口的父窗口句柄}Child: HWND; {子窗口句柄}ClassName: PChar; {}WindowName: PChar {} ): HWND; { 如果 Parent 是 0, 则函数以桌面窗口为父窗口, 查找桌面窗口的所有子窗口; 如果 是 HWND_MESSAGE, 函数仅查找所有消息窗口; 子窗口必须是 Parent 窗口的直接子窗口; 如果 Child 是 0, 查找从 Parent 的第一个子窗口开始; 如果 Parent 和 Child 同时是 0, 则函数查找所有的顶层窗口及消息窗口. }函数原型: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。 使用示例1:IntPtr ptrResult = FindWindow(null, "test");IntPtr ptrRadioButtonbox = FindWindowEx(ptrResult, IntPtr.Zero, "Button", "&8位");IntPtr ptrStartBtn = FindWindowEx(ptrResult, IntPtr.Zero, null, "确定");使用示例2:
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://www.cnblogs.com/marszhw/p/11087886.html
FindWindow和FindWindowEx函数使用相关推荐
- FindWindow、FindWindowEx、EnumWindows、EnumChildWindows使用详解
FindWindow 函数原型:HWND FindWindow(LPCSTR lpClassName,LPCSTR lpWindowName); C#.NET声明如下: [DllImport(&quo ...
- python pywin32 相同句柄_如何利用Python和win32编程避免重复性体力劳动(一)——开始、FindWindow和FindWindowEx...
请移步至这里以获得更加的排版和阅读体验,谢谢您 本系列文章假设各位看官对python是足够熟悉的,但却不太了解win32编程. 嘛..其实我也没学过win32编程,脸请各位看官随意招呼. 需求:最近因 ...
- 如何利用Python和win32编程避免重复性体力劳动(一)——开始、FindWindow和FindWindowEx
本博客正逐步迁移至OrangeCube四次元 请移步至这里以获得更加的排版和阅读体验,谢谢您 本系列文章假设各位看官对Python是足够熟悉的,但却不太了解win32编程. 嘛..其实我也没学过win ...
- Windows API一日一练(41)FindWindowEx函数
当你想控制一个现有的窗口程序时,就需要获取那个程序的窗口句柄.比如有一些黑客软件需要查找到窗口,然后修改窗口的标题.在外挂流行的今天,惊奇地发现它们也可以修改输入窗口的文字.这其中,就需要使用到Fin ...
- c语言findwindowex函数用法,VB中findwindowex函数的用法?
FindWindowEx函数 函数功能:在窗口列表中寻找与指定条件相符的第一个子窗口 . 该函数获得一个窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配.这个函数查找子窗口,从排在给定的子窗口后面 ...
- FindWindowEx函数
当你想控制一个现有的窗口程序时,就需要获取那个程序的窗口句柄.比如有一些黑客软件需要查找到窗口,然后修改窗口的标题.在外挂流行的今天,惊奇地发现它们也可以修改输入窗口的文字.这其中,就需要使用到Fin ...
- Windows API一日一练 41 FindWindowEx函数
当你想控制一个现有的窗口程序时,就需要获取那个程序的窗口句柄.比如有一些黑客软件需要查找到窗口,然后修改窗口的标题.在外挂流行的今天,惊奇地发现它们也可以修改输入窗口的文字.这其中,就需要使用到 Fi ...
- VB.net 进程通信中FindWindow、FindWindowEX、SendMessage函数的理解
目录 一.代码背景 二.主要工具 三.函数解析 1.FindWindow: 2. FindWindowEx: 3.SendMessage: 四.具体代码示例: 1.第一部分功能: A.接收端: B.发 ...
- windows中使用Findwindow函数与FindWindowEx函数来实现自动控制、触发第三方软件事件的方法...
FindWindow 用来根据类名和窗口名来得到窗口句柄的.但是这个函数不能查找子窗口,也不区分大小写. 如果要从一个窗口的子窗口中查找需要使用FindWindowEX. 如果要搜索的外部程序的窗口标 ...
最新文章
- 不再受限于数据集和硬件,下一代 ML 软件如何构建?
- PyTorch GPU安装指南 (Ubuntu 16.04 anaconda cuda8.0 cuDNN6.0)
- 微软发布Azure Pipelines,开源项目可无限制使用CI/CD
- c++11特性move和forward区别
- 【经验分享】为什么后台取到的时间和前台差8个小时?
- ios应用提交审核出现的问题总结
- 伴随矩阵,可逆矩阵相关思路分析之一
- Elastic 技术栈之 Filebeat
- JAX-RPC学习笔记(1)-Hello World!
- 啥是数据湖?老子(zǐ)告诉你 | 凌云时刻
- 天梯赛L2-10:排座位
- python实现移除某文件夹下所有文件
- 对机器学习实战第二章内容的思考
- D.背单词的小智(二分)
- C# C++ 互操作:C++向C#输出不定长数组或指针的实现
- 海思Hi3519A 基础入门教程
- SpringAMQP-Basic Queue、Work Queue、Fanout、Direct、Topic
- 为什么要学计算机排比句,计算机等级考试上机应试技巧
- 国内最优质的10个小众网站,你知道几个?
- 02优先队列和索引优先队列-优先队列-数据结构和算法(Java)