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

函数原型: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#中使用该函数首先导入命名空间:

[c-sharp] view plaincopy
  1. using System.Runtime.InteropServices;

然后写API引用部分的代码,放入 class 内部

[c-sharp] view plaincopy
  1. [DllImport("user32.dll", EntryPoint = "FindWindow")]
  2. private static extern IntPtr FindWindowEx( IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow )

例如:

[c-sharp] view plaincopy
  1. const int BM_CLICK = 0xF5;
  2. IntPtr maindHwnd = FindWindow(null, "QQ用户登录"); //获得QQ登陆框的句柄
  3. if (maindHwnd != IntPtr.Zero)
  4. {
  5. IntPtr childHwnd = FindWindowEx(maindHwnd, IntPtr.Zero, null, "登录");   //获得按钮的句柄
  6. if (childHwnd != IntPtr.Zero)
  7. {
  8. SendMessage(childHwnd, BM_CLICK, 0, 0);     //发送点击按钮的消息
  9. }
  10. else
  11. {
  12. MessageBox.Show("没有找到子窗口");
  13. }
  14. }
  15. else
  16. {
  17. MessageBox.Show("没有找到窗口");
  18. }

FindWindowEx用法相关推荐

  1. WindowsAPI-Findwindow函数和FindWindowEx用法

    1.函数说明: FindWindow,Win32 API函数. FindWindow函数返回与指定字符串相匹配的窗口类名或窗口名的最顶层窗口的窗口句柄.这个函数不会查找子窗口. 2.函数原型: HWN ...

  2. C#关于外挂汉化的一些思考(API函数FindWindow,FindWindowEx,SendMessage)(转)

    这次我们试着运用C#的API函数去修改别的程序的标题文本(适用范围C#) 其实这是FindWindow,FindWindowEx,SendMessage的应用举例之一 也就是所谓的外挂汉化. 附:Wi ...

  3. C# 系统应用之鼠标模拟技术及自动操作鼠标

    游戏程序的操作不外乎两种--键盘输入控制和鼠标输入控制,几乎所有游戏中都使用鼠标来改变角色的位置和方向,本文主要是讲述如何使用C#调用Windows API函数实现鼠标模拟操作的功能.首先通过结合Fi ...

  4. vb FindwindowEx的用法实例

    '添加 Command1 Const WS_CHILD = &H40000000 Const WM_LBUTTONDOWN = &H201 Const WM_LBUTTONUP = & ...

  5. FindWindowEx的用法

    FindWindowEx完整定义如下: HWND FindWindowEx( HWND hwndParent, // 父窗口句柄 HWND hwndChildAfter, // 开始的子窗口句柄,这个 ...

  6. c语言findwindowex函数用法,VB中findwindowex函数的用法?

    FindWindowEx函数 函数功能:在窗口列表中寻找与指定条件相符的第一个子窗口 . 该函数获得一个窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配.这个函数查找子窗口,从排在给定的子窗口后面 ...

  7. Delphi 中 FindWindow 和 FindWindowEx 的语法和用法

    FindWindow( lpClassName,        {窗口的类名} lpWindowName: PChar {窗口的标题} ): HWND;              {返回窗口的句柄; ...

  8. 易语言中findwindowEx的用法

    函数功能 在窗口列表中寻找与指定条件相符的第一个子窗口 . 该函数获得一个窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配.这个函数查找子窗口,从排在给定的子窗口后面的下一个子窗口开始.在查找时不 ...

  9. C# SendMessage用法

    C# SendMessage用法 函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.该函数是应用程序和应用程序之间进行消息传递的主要手段之 ...

最新文章

  1. 若依前后端分离如何写移动端接口_前后端分离实践的架构设计
  2. 【Nginx】Nginx配置文件参数/启动参数详解;启动/停止/重新加载配置命令
  3. CoordinatorLayout使用全解析
  4. 新垣结衣自拍照_如何阻止自拍照出现在iPhone的自拍照专辑中
  5. 支付宝小程序中Navigator和导航栏之间的区别以及用法场景的分析
  6. poj 1226 Substrings kmp 好题,我调试了一晚上啊!!汗
  7. 微信小程序下载文件ios无法预览问题--解决方案
  8. 计算机组成原理——总线标准
  9. 传输层协议、应用层协议
  10. BDD - 介绍 Behavior-Driven Development 行为驱动开发
  11. vue 强制清理浏览器缓存
  12. 用户相关的常用搜索转化率指标
  13. Pytorch搭建EfficientNet网络和Openmax
  14. python陆股通_要闻:11月“陆股通”渠道外资净买入A股579亿元
  15. 路由器的设置(路由模式)
  16. 华科计算机博导刘云生论文,AAAI 2020线上分享 | 华科Oral论文:点云中3D目标检测的鲁棒性...
  17. 《最高人民法院最高人民检察院关于办理组织考试作弊等刑事案件适用法律若干问题的解释》
  18. bootsrap table editable 中文文档
  19. win7旗舰版出现COM Surrogate已停止工作
  20. excel vba 阻塞 先刷新 连接 再 刷新所有透视表

热门文章

  1. CSS 中,为什么绝对定位(absolute)的父级元素必须是相对定位(relative)?
  2. IBatis——初步总结
  3. 仿迅雷官网html模板,jquery css3 animation属性仿迅雷登录页面带幻灯片单页模板
  4. 增强(主动)型基金 被动型基金 smartbeta基金都是什么鬼?
  5. 基于W801和Helix解码库的MP3播放器(W801单片机学习笔记)热血沸腾,流畅播放
  6. oracle创建用户并赋权
  7. JAVA 基础知识梳理
  8. 智云影院V3.6.7缓存版源码
  9. ios 简单系统提示音
  10. DOTA2的英雄是如何打造出来的? DOTA 2美学原则解析