windows.h有哪些函数
windows.h函數(shù)有:1、FindWindow函數(shù),該函數(shù)可以通過窗口類名或者窗口標(biāo)題名來查找特定窗口句柄;2、SendMessage函數(shù),用于向句柄對應(yīng)窗口發(fā)送指令;3、WindowFromPoint函數(shù)等等。
推薦:《c視頻教程》
C語言windows.h庫的常用函數(shù)
1:FindWindow函數(shù)
該函數(shù)可以通過窗口類名或者窗口標(biāo)題名來查找特定窗口句柄,返回值是窗口的句柄(在Windows中,句柄是一個系統(tǒng)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的引用。例如當(dāng)你操作一個窗口,或說是一個Delphi窗體時,系統(tǒng)會給你一個該窗口的句柄,系統(tǒng)會通知你:你正在操作142號窗口,就此你的應(yīng)用程序就能要求系統(tǒng)對142號窗口進(jìn)行操作——移動窗口、改變窗口大小、把窗口最小化等等。實際上許多Windows API函數(shù)把句柄作為它的第一個參數(shù),如GDI(圖形設(shè)備接口)句柄、菜單句柄、實例句柄、位圖句柄等,不僅僅局限于窗口函數(shù)。換句話說,句柄是一種內(nèi)部代碼,通過它能引用受系統(tǒng)控制的特殊元素,如窗口、位圖、圖標(biāo)、內(nèi)存塊、光標(biāo)、字體、菜單等。)
函數(shù)用法
#include "stdafx.h"
#include<windows.h>
int main() {
HWND window; //定義一個窗口句柄變量,用來儲存窗口句柄
/*FindWindow("這里填窗口類名","這里填窗口標(biāo)題名")
窗口類名和窗口標(biāo)題名可以只填一個,不填的用NULL填充*/
window = FindWindow(NULL,"文本.txt - 記事本"); //查找標(biāo)題為"文本.txt - 記事本"的窗口
SendMessage(window,WM_CLOSE,0,0); //向窗口發(fā)送關(guān)閉指令
return 0;
}
2:SendMessage函數(shù)
剛剛在第一個例子里面已經(jīng)用到了SendMessage函數(shù),這個函數(shù)的功能是向句柄對應(yīng)窗口發(fā)送指令
函數(shù)用法
#include "stdafx.h"
#include<windows.h>
int main() {
POINT mouse;
HWND window;
while (1) {
GetCursorPos(&mouse);
window = WindowFromPoint(mouse);
/*SendMessage(窗口句柄,消息類型,消息附帶內(nèi)容,消息附帶內(nèi)容)
比如我這里選定的消息類型是WM_CHAR
消息附帶內(nèi)容為WPARAM('a')
所以消息附帶內(nèi)容就是模擬鍵盤向窗口輸入a*/
SendMessage(window,WM_CHAR,WPARAM('a'),0);
Sleep(100);
}
return 0;
}
3:WindowFromPoint函數(shù)
在第二個例子中我們使用了一個叫做WindowFromPoint的函數(shù),這個函數(shù)的功能是通過鼠標(biāo)點擊獲得被點擊窗口的句柄
函數(shù)用法
#include "stdafx.h"
#include<windows.h>
int main() {
POINT mouse; //定義一個結(jié)構(gòu)體變量儲存鼠標(biāo)位置
HWND window;
while (1) {
GetCursorPos(&mouse); //獲取到當(dāng)前鼠標(biāo)位置
/*WindowFromPoint(鼠標(biāo)位置變量名)*/
window = WindowFromPoint(mouse);
SendMessage(window,WM_CLOSE,0,0);
Sleep(100);
}
return 0;
}
總結(jié)
以上是生活随笔為你收集整理的windows.h有哪些函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是vue.js组件
- 下一篇: 出远门需要检查的物件