FindWindows FindWindowsEx 函数

来源:互联网 发布:mac子弹头最火的色号 编辑:程序博客网 时间:2024/05/20 14:20

#include "stdafx.h"

#include <windows.h>
int main(int argc, char* argv[])
{
// 查找标题为“无标题 - 记事本”的窗口 
// 也可以使用类名来查找,如::FindWindow("Notepad", NULL);        
HWND hWnd = ::FindWindow(NULL, "无标题 - 记事本");
if(hWnd != NULL)
{
// 向目标窗口发送WM_CLOSE消息
::SendMessage(hWnd, WM_CLOSE, 0, 0);
}
return 0;

}

要事先打开一个记事本,用::FindWindows(NULL,"无标题 - 记事本"),意思是查找标题为“无标题 - 记事本”的窗口,注意,这个标题必须完全一样,就连“ - ”两边的空格都要有。而用 ::FindWindow("Notepad", NULL);  则没要求

如果找到,返回的是记事本程序主窗口句柄,否则返回NULL

(可以试试把notepad改成其他名字)

HWND FindWindow(  LPCTSTR lpClassName,  // class name  LPCTSTR lpWindowName  // window name);
FindWindow函数用来查找窗口类名称和窗口标题与指定字符串相匹配的窗口

//FindWindowEx 比 FindWindow 多出两个句柄参数:FindWindowEx(  Parent: HWND;     {要查找子窗口的父窗口句柄}  Child: HWND;      {子窗口句柄}  ClassName: PChar; {}  WindowName: PChar {}): HWND;{如果 Parent 是 0, 则函数以桌面窗口为父窗口, 查找桌面窗口的所有子窗口;如果  是 HWND_MESSAGE, 函数仅查找所有消息窗口;子窗口必须是 Parent 窗口的直接子窗口;如果 Child 是 0, 查找从 Parent 的第一个子窗口开始;如果 Parent 和 Child 同时是 0, 则函数查找所有的顶层窗口及消息窗口.}








原创粉丝点击