C語言 Windows.h 庫的常用函數


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM