windows编程常用数据类型

Windows数据类型:
   
    WORD:16位无符号整形数据

  DWORD:32位无符号整型数据(DWORD32)

  DWORD64:64位无符号整型数据

  INT:32位有符号整型数据类型

  INT_PTR:指向INT数据类型的指针类型

  INT32:32位符号整型

  int64:64位符号整型

  UINT:无符号INT
   
    PVOID:普通指针

  LONG:32位符号整型(LONG32)

  ULONG:无符号LONG

  LONGLONG:64位符号整型(LONG64)

  SHORT:无符号短整型(16位)

  LPARAM:消息的L参数

  WPARAM:消息的W参数

  HANDLE:对象的句柄,最基本的句柄类型

  HICON:图标的句柄

  HINSTANCE:程序实例的句柄

  HKEY:注册表键的句柄

  HMODULE:模块的句柄

  HWND:窗口的句柄

  LPSTR:字符指针,也就是字符串变量

  LPCSTR:字符串常量

  LPCTSTR:根据环境配置,如果定义了UNICODE宏,则是LPCWSTR类型,否则则为LPCSTR类型

  LPCWSTR:UNICODE字符串常量

  LPDWORD:指向DWORD类型数据的指针

  CHAR:8比特字节

  TCHAR:如果定义了UNICODE,则为WCHAR,否则为CHAR

  UCHAR:无符号CHAR

  WCHAR:16位Unicode字符

  BOOL:布尔型变量

  BYTE:字节类型(8位)

  CONST:常量

  FLOAT:浮点数据类型

  SIZE_T:表示内存大小,以字节为单位,其最大值是CPU最大寻址范围

  VOID:无类型,相当于标准C语言中的void

- Windows数据类型命名规律   

基本数据类型包括:BYTE、CHAR、WORD、SHORT、INT等。

  指针类型的命令方式一般是在其指向的数据类型前加“LP”或“P”,比如指向DWORD的指针类型为“LPDWORD”和“PDWORD”

  各种句柄类型的命名方式一般都是在对象名前加“H”,比如位图(BITMAP)对应的句柄类型为“HBITMAP”。

  无符号类型一般是以“U”开头,比如“INT”是符号类型,“UINT”是无符号类型

  根据这些命名规律以及自己的经验看到一些没见过的数据类型也就能知道它的代表的意思

Windows数据类型 - Windows数据类型与标准C数据类型的关系   
  
    C数据类型经过类型重定义得到的。如DWORD实质上就是 unsigned long 数据类型,32位无符号整型。
    而经常要用到的HANDLE类型实质上是无类型指针void,HANDLE定义为:

  typedof PVOID HANDLE;

  HANDLE实际上就是一个PVOID,那PVOID又是什么呢?

  Typeof void *PVOID;

  PVOID就是指向void的指针。

时间: 2024-11-09 03:09:44

windows编程常用数据类型的相关文章

windows编程中的数据类型

在windows编程中,有许多奇怪的数据类型,初学者不知道这些代表什么,下面就把一些数据类型列出如下: ATOM 原子(原子表中的一个字符串的参考) BOOL 布尔变量 BOOLEAN 布尔变量 BYTE 字节(8位) CCHAR Windows字符 CHAR Windows字符 COLORREF 红.绿.蓝(RGB)彩色值(32位) Const 变量,该变量的值在执行期间保持为常量 CRITICAL_SECTION 临界段对象 CTRYID 国名标识符 DLGPROC 指向一个对话框过程的指针

Windows 编程中恼人的各种字符以及字符指针类型

在Windows编程中,很容易见到这些数据类型:LPSTR,LPTSTR,LPCTSTR... 像很多童鞋一样,当初在学Windows编程的时候,对着些数据类型真的是丈二和尚,摸不着头脑,长时间不用就会想不起来.所以,下面就对此做一个总结. 首先,先来看一下ASCII编码和UNICODE编码的区别.下面是<Windows 程序设计>一书中对Unicode编码的说明: 简单地说,Unicode扩展自ASCII字符集.在严格的ASCII中,每个字符用7位表示,或者计算机上普遍使用的每字符有8位宽:

Windows 编程,程序编译使用的命令行工具。

Windows 编程,程序编译使用的命令行工具. 1.cl.exe文件是Visual C\C++的编译器,它将程序源代码文件编译为obj文件. 2.rc.exe文件是资源编译器.工程项目中的.rc文件中包含了对程序中所使用资源(菜单.图标等)的描述.rc.exe将.rc格式的文件编译为.res文件,供链接器链接到可执行文件中. 3.link.exe是Windows平台的链接器,它将cl.exe编译生成的obj文件,资源编译器生成的.res文件,以及lib目录下的lib文件等链接成可执行的exe文

【Windows编程】系列第九篇:剪贴板使用

 上一篇我们学习了常见的通用对话框,本篇来了解剪贴板的使用,它常用于复制粘贴功能. 剪贴板是Windows最早就加入的功能,由于该功能非常实用,我们几乎每天都会使用到.通过剪贴板,我们就可以将数据从一个应用程序传递到另一个应用程序,是一种简单的进程间通信. 许多文档处理软件都有复制.剪切.粘贴功能,这些都是用Windows剪贴板实现的,当然我们也可以在我们的程序中实现自己的剪贴板功能,本篇我们就来实现自己的剪贴板.使用剪贴板时,都是先把源数据先传到剪贴板上,再在需要的时候从剪贴板传输到目的处

Win32 Windows编程 九

资源的使用 1 资源文件 图标 光标 字符串 菜单  加速键 对话框资源位图等等 资源脚本文件 - 扩展名为RC文件 定义了资源和相关文件等信息 资源编译器 - RC.exe 2 图标资源 ICON 2.1 常用的几种大小: 16x16 ,32x32, 48x48 2.2 使用 HICON LoadIcon( HINSTANCE hInstance, // handle to application instance LPCTSTR lpIconName // name string or re

【Windows编程】系列第五篇:GDI图形绘制

上两篇我们学习了文本字符输出以及Unicode编写程序,知道如何用常见Win32输出文本字符串,这一篇我们来学习Windows编程中另一个非常重要的部分GDI图形绘图.Windows的GDI函数包含数百个API可供我们使用,本篇把最常用的GDI绘图做一个讲解.GDI可以绘制点.直线曲线.填充封闭区域.位图以及文本,其中文本部分已经在上一篇中将了,请参考[Windows编程]系列第三篇:文本字符输出. 跟前面的GDI对象一样,本篇的这些绘图函数也必须要设备上下文句柄(HDC)作为函数参数,从前文我

【Windows编程】系列第四篇:使用Unicode编程

上一篇我们学习了Windows编程的文本及字体输出,在以上几篇的实例中也出现了一些带有“TEXT”的Windows宏定义,有朋友留言想了解一些ANSI和Unicode编程方面的内容,本章就来了解和学习一些Windows下关于ANSI和Unicode方面的编程基础. 计算机最早在美国诞生,所以最开始都是以英语为作为交互语言,由于只有26个字母,用一个字节(范围-128 ~ 127)表示,这个范围足够表示26个因为字符和一些常用的控制字符,这个就是ASCII编码.因此最早的各种程序设计语言以及使用的

【Windows编程】系列第三篇:文本字符输出

上一篇我们展示了如何使用Windows SDK创建基本控件,本篇来讨论如何输出文本字符. 在使用Win32编程时,我们常常要输出文本到窗口上,Windows所有的文本字符或者图形输出都是通过图形设备接口(GDI)进行的,Windows的三大核心组件之一的GDI32.dll封装了所有的文本和图像输出. GDI基本知识 Windows下要绘图和输出文本,都是通过GDI(Graphics Device Interface,图形设备接口)完成的,GDI是windows在绘制图文时的设备上下文环境,包括画

Oracle 建表常用数据类型的详解

创建表时,必须为表的各个列指定数据类型.如果实际的数据与该列的数据类型不相匹配,则数据库会拒绝保存.如为学生指定出生日期为"1980-13-31". 在Oracle中,常见的数据类型有: 字符串:字符串分为定长类型char和变长类型varchar2. 数字:整数 number(整数位),小数 number(总长度,小数位),只写number,表示无限制. 日期:date类型,可以保存年月日时分秒. 问题:Oracle中为什么字符串类型为varchar2,它与varchar有什么关系?