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 类型重定义得到。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值