Windows API 概要

前面已經熟悉了 簡單的API 應用程序的編寫了。

今天要掌握的是,Windows數據類型 。

    Windows API 使用了很多 Windows 自己定義的數據類型。讀者可能較爲熟悉 C 語言或 C++
語言的數據類型。要熟練使用 Windows API 必須要熟悉 Windows 數據類型。這些數據類型是
Windows 特有的。在 SDK 的相關頭文件中有定義。

在衆多的Windows 數據類型中,最常用的有 DWORDHANDLELPTSTRWORDBYTE CHAR 等。在 Windows 系統中,DWORD 用於表示無符號整型的數據,意爲 double word32

位。

在一般情況下BYTE 是 8 位的,而WORD 是 16位,DWORD就是 32位的.。示例代碼start.cpp

 

LPSTR szString =TEXT("wumi_liu");

       CHAR* lp = TEXT("wumi_liu");

       CHAR lpstring[120]; //char

       DWORD dwMax = 0Xffffffff;//unsigned long

       DWORD dwOne = 0X1;

       INT iMax = 0XFFFFFFFF;//int

       INT iMin = 0X1;

 

       MessageBox(NULL,szString,"LPSTR",MB_OK);

       MessageBox(NULL,lp,"CHAR*",MB_OK);

 

       CopyMemory(lpstring,szString,(strlen(szString)+1));//memcpy((Destination),(Source),(Length))

       MessageBox(NULL,lpstring,"CHAR[]",MB_OK);

2.最常見的 Windows 數據類型

Windows API 中還會使用到其他很多的Windows 特有的數據類型。常用的類型說明如表:

 

2.最常見的 Windows 數據類型

Windows API 中還會使用到其他很多的Windows 特有的數據類型。常用的類型說明如表:

 

Windows 數據類型名命名的規律;

Windows 數據類型的命名都很有規律。

    基本數據類型包括 BYTECHARWORDSHORTDOWRDINT 等。

    指針類型的命令方式一般是在其指向的數據類型前加“LP”或“P”,比如指向 DWORD

的指針類型爲“LPDWORD”和“PDWORD”。

    各種句柄類型的命令方式一般都是在對象名前加“H”。Windows 系統中有很多對象,

所有表示一個對象的數據類型都是句柄,每一種對象都對應着一種句柄類型,比如與位圖

( BITMAP)對應的句柄類型爲“HBITMAP”,與菜單(MENU)對應的句柄類型爲“HMENU”,與

 

窗口(WINDOW)對應的句柄類型爲“HWND”。

    無符號類型一般是以“U”開頭,比如“INT”是符號類型,“UINT”是無符號類型,

LONG”是符號類型“ULONG”是無符號類型等

 

Windows 中的數據結構

Windows API 中的數據結構定義具有一定的特點,如將在第 4 章中使用到的 WIN32_FILE

_ ATTRIBUTE_ DATA 數據結構的定義如下:

typedef struct _WIN32_FILE_ATTRIBUTE_DATA {

   DWORD dwFileAttributes;

   FILETIME ftCreationTime;

   FILETIME ftLastAccessTime;

   FILETIME ftLastWriteTime;

   DWORD nFileSizeHigh;

   DWORD nFileSizeLow;

} WIN32_FILE_ATTRIBUTE_DATA,*LPWIN32_FILE_ATTRIBUTE_DATA;

 

Windows SDK 中,結構體也有自己的命名規範。一般情況下,Windows 系統中使用全大

寫來命名結構體、共用體,並使用“_”來分隔單詞,在結構名加“LP”或“P”表示指向數  

據結構的指針。

 

Windows API 的功能分類

Windows API 所能實現的功能包括很多方面,在進行應用程序的開發時,開發人員可能

會使用到文件、進程、內存、權限、系統信息等系統的基本服務和系統管理類的 API,可能

會用到圖形用戶界面、控件等函數和對象,可能需要在界面上繪製圖像處理多媒體信息等,

還包括進行網絡通信開發等。

  查看 Windows 數據類型的定義可以看到,所有的 Windows 數據類型都是由 C 數據類型經
過類型重定義得到的。如 DWORD 實質上就是 unsigned long 數據類型,32 位的無符號整型

所有的 Windows 數據類型都是通過這種方式在 SDK 的頭文件中進行定義的,它們都
是來源於標準 C 的數據類型。
    而實際上 VC 編譯器是一個完整的 C 編譯器,此外並沒有過多的擴展。Windows 數據類
型也不是 VC 的內建類型,而從標準 C 類型重定義得到。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章