徐建岗网络管理 2020-02-21
Windows.h是计算机中的一个头文件。Windows.h是一个最重要的头文件,它包含了其他Windows头文件,这些头文件的某些也包含了其他头文件。这些头文件定义了Windows的所有资料型态、函数调用、资料结构和常数识别字,它们是Windows文件中的一个重要部分。C/C++ 程序在源文件前面写 #include <windows.h>即可。
FindWindow函数
该函数可以通过窗口类名或者窗口标题名来查找特定窗口句柄,返回值是窗口的句柄(在Windows中,句柄是一个系统内部数据结构的引用。例如当你操作一个窗口,或说是一个Delphi窗体时,系统会给你一个该窗口的句柄,系统会通知你:你正在操作142号窗口,就此你的应用程序就能要求系统对142号窗口进行操作——移动窗口、改变窗口大小、把窗口最小化等等。实际上许多Windows API函数把句柄作为它的第一个参数,如GDI(图形设备接口)句柄、菜单句柄、实例句柄、位图句柄等,不仅仅局限于窗口函数。换句话说,句柄是一种内部代码,通过它能引用受系统控制的特殊元素,如窗口、位图、图标、内存块、光标、字体、菜单等。)函数用法:
#include "stdafx.h" #include <windows.h> int main() { HWND window; //定义一个窗口句柄变量,用来储存窗口句柄 /*FindWindow("这里填窗口类名","这里填窗口标题名") 窗口类名和窗口标题名可以只填一个,不填的用NULL填充*/ window = FindWindow(NULL,"文本.txt - 记事本"); //查找标题为"文本.txt - 记事本"的窗口 SendMessage(window,WM_CLOSE,0,0); //向窗口发送关闭指令 return 0; }
SendMessage函数
刚刚在第一个例子里面已经用到了SendMessage函数,这个函数的功能是向句柄对应窗口发送指令。函数用法:
#include "stdafx.h" #include<windows.h> int main() { POINT mouse; HWND window; while (1) { GetCursorPos(&mouse); window = WindowFromPoint(mouse); /*SendMessage(窗口句柄,消息类型,消息附带内容,消息附带内容) 比如我这里选定的消息类型是WM_CHAR 消息附带内容为WPARAM(‘a‘) 所以消息附带内容就是模拟键盘向窗口输入a*/ SendMessage(window,WM_CHAR,WPARAM(‘a‘),0); Sleep(100); } return 0; }
WindowFromPoint函数
在第二个例子中我们使用了一个叫做WindowFromPoint的函数,这个函数的功能是通过鼠标点击获得被点击窗口的句柄。函数用法:
#include "stdafx.h" #include<windows.h> int main() { POINT mouse; //定义一个结构体变量储存鼠标位置 HWND window; while (1) { GetCursorPos(&mouse); //获取到当前鼠标位置 /*WindowFromPoint(鼠标位置变量名)*/ window = WindowFromPoint(mouse); SendMessage(window,WM_CLOSE,0,0); Sleep(100); } return 0; }
————————————————
版权声明:本文为CSDN博主「Zenith_Lee」的原创文章,遵循 CC 4.0 BY-SA 版权协议。
原文链接:https://blog.csdn.net/qq_32350131/article/details/80343890