首頁  >  文章  >  後端開發  >  windows.h有哪些函數

windows.h有哪些函數

藏色散人
藏色散人原創
2020-11-16 10:28:4517243瀏覽

windows.h函數有:1、FindWindow函數,函數可以透過視窗類別名稱或視窗標題名稱來尋找特定視窗句柄;2、SendMessage函數,用於向句柄對應視窗發送指令;3、 WindowFromPoint函數等等。

windows.h有哪些函數

推薦:《c影片教學

C語言windows.h函式庫的常用函數

1: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;
}

2: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(&#39;a&#39;)
        所以消息附带内容就是模拟键盘向窗口输入a*/
        SendMessage(window,WM_CHAR,WPARAM(&#39;a&#39;),0);
        Sleep(100);
    }
    return 0;
}

3: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;
}

以上是windows.h有哪些函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn