函数原型:FindWindow(lpszClassName,lpszWindowName)

参数:lpszClassName--窗口类名;lpszWindowName--窗口标题

功能:查找窗口,未找到则返回NULL

SDK中

HWND hwnd = FindWindow(NULL, "计算器");

if(m_pWnd)

{

AfxMessageBox("找到了!");

::PostMessage(hwnd,WM_CLOSE,0,0);//强迫退出

}

MFC中

CWnd * m_pWnd = FindWindow(NULL, "计算器");

if(m_pWnd)

{

AfxMessageBox("找到了!");

::PostMessage(m_pWnd->m_hWnd,WM_CLOSE,0,0);//强迫退出

}

函数原型: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
);

功能:查找子窗口或子控件,未找到则返回NULL

HWND h = FindWindow(NULL, "计算器" );

HWND m_hwnd = FindWindowEx(h, 0, "Button", "Ok" );

HWND m_hwnd = FindWindowEx(h,NULL,NULL,"Ok");

HWND m_hwnd = FindWindowEx(h,NULL,"Button",NULL);

SendMessage(m_hwnd, WM_KEYDOWN, 13, 0x011c0001 );
SendMessage(m_hwnd, WM_KEYDOWN, 13, 0x011c0001 );
SendMessage(m_hwnd, WM_KEYUP, 13, 0xc11c0001 );

其他函数

HWND GetNextWindow(HWND hWnd,UNIT wCmd)

功能:返回z序中的前一个或后一个窗口的句柄

参数:
hWnd:基准窗口句柄
wCmd:指明窗口返回的是前一窗口的句柄还是后一窗口的句柄。该参数可以是下列两个值之一:
GW_HWNDNEXT:返回在给定窗口的下面窗口的句柄。
GW_HWNDPREV:返回在给定窗口的上面窗口的句柄。
GW_HWNDFIRST = 0;
GW_HWNDLAST = 1;
GW_HWNDNEXT = 2;
GW_HWNDPREV = 3;
GW_OWNER = 4;
GW_CHILD = 5;

返回值:如果函数成功,返回值是前一窗口(或后一窗口)的句柄。如果前后窗口不存在,则返回值为NULL。

BOOL EnumChildWindows(HWND hWndParent,WNDENUMPROC lpEnumFunc, LPARAM lParam)

功能:枚举子窗体

参数:

hWndParent 父窗口句柄
lpEnumFunc 回调函数地址
lParam 自定义参数

注意:回调函数的返回值将会影响到这个API函数的行为。如果回调函数返回true,则枚举继续直到枚举完成;如果返回false,则将会中止枚举。

int GetClassName(HWND hWnd, LPTSTR IpClassName, int nMaxCount)

功能:获得指定窗口所属的类的类名

参数:

hWnd:窗口的句柄及间接给出的窗口所属的类。
IpClassName:指向接收窗口类名字符串的缓冲区的指针。
nMaxCount:指定由参数lpClassName指示的缓冲区的字节数。如果类名字符串大于缓冲区的长度,则多出的部分被截断。

返回值:如果函数成功,返回值为拷贝到指定缓冲区的字符个数:如果函数失败,返回值为0。

FindWindow和FindWindowEx的更多相关文章

  1. WinAPI: FindWindow、FindWindowEx - 查找窗口

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

  2. Delphi 中 FindWindow 和 FindWindowEx 找到外部进程,然后发送消息(比如最大化)

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

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

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

  4. Delphi 版FindWindow 和 FindWindowEx 的语法和用法

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

  5. C#根据弹窗标题获取窗体句柄并模拟点击按钮(FindWindow,FindWindowEx,SendMessage)

    任务:将下面弹窗自动关闭 /// <summary> /// 找到窗口 /// </summary> /// <param name="lpClassName& ...

  6. FindWindow和FindWindowEx函数使用

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

  7. Delphi实现获取句柄并发送消息的方法(FindWindow、FindWindowEx、EnumChildWindows、SendMessage)

    Delphi实现获取句柄并发送消息的方法 本文以实例形式详细说明了Delphi获取句柄并发送消息的方法,具体用法说明如下: 查找另外一个窗口的句柄: handle := FindWindow(nil, ...

  8. C#,使用FindWindow和FindWindowEx查找窗体和控件

    函数: // Find Window // 查找窗体 // @para1: 窗体的类名 例如对话框类是"#32770" // @para2: 窗体的标题 例如打开记事本 标题是&q ...

  9. C#使用Windows API 隐藏/显示 任务栏 (FindWindowEx, ShowWindow)

    原文 C#使用Windows API 隐藏/显示 任务栏 (FindWindowEx, ShowWindow) 今天,有网友询问,如何显示和隐藏任务栏? 我这里,发布一下使用Windows API 显 ...

随机推荐

  1. 冲量:momentum

    参见:http://www.jianshu.com/p/58b3fe300ecb,这个博客里有冲量的python实现的代码和讲解 “冲量”这个概念源自于物理中的力学,表示力对时间的积累效应. 在普通的 ...

  2. linux下使用indent整理代码(代码格式化)【转】

    转自:https://blog.csdn.net/jiangjingui2011/article/details/7197069 常用的设置: indent -npro -kr -i8 -ts8 -s ...

  3. ZOJ 3537 Cake(凸包+区间DP)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3537 题目大意:给出一些点表示多边形顶点的位置,如果不是凸多边形 ...

  4. (五)动态SQL

    第一节:if条件 第二节:choose,when和otherwise条件 第三节:where条件 1.自动加上where: 2.如果where子句以and或者or开头,则自动删除第一个and或者or: ...

  5. Android 客户端 okhttp3 与服务器之间的双向验证

    [原文]https://blog.csdn.net/leng_wen_rou/article/details/58596142 本篇是Android 客户端基于okhttp3的网络框架 和后台服务器之 ...

  6. CCF CSP 201609-4 交通规划

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201609-4 交通规划 问题描述 G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自 ...

  7. springboot 零xml集成mybatis-plus

    工程结构 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo ...

  8. Rookey.Frame之菜单设置

    在上一篇博文 Rookey.Frame企业级快速开发框架开源了 中我们介绍了Rookey.Frame极速开发框架的最新更新及开源介绍,后面慢慢介绍该框架的使用方法,本人文笔不好,写得不够好的地方请大家 ...

  9. java异常查看利器之使用 jvmti 的Callback_JVMTI_EVENT_EXCEPTION 事件查看异常

    阅读本文前需要了解什么是jvmti,jvmti全称称之为 JVM Tool Interface,有关jvmti更详细的知识,本文不再详细列出.大家可以借助百度来了解有关它更为详尽的内容. 在开源文件大 ...

  10. myql root用户远程访问

    虚拟机搭建的lnmp开发环境,mysql在虚拟机正常访问,想在物理机通过数据库管理工具Navicat远程登录,方便建表查询等操作.经网上一查,有答案了. [以下是转载]http://www.cnblo ...