#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, 则函数查找所有的顶层窗口及消息窗口. }