WINDOWS数据类型

合集下载

Windows Data Types

Windows Data Types

Windows数据类型由微软Windows操作系统所支持的各种数据类型是用来定义函数的返回值、函数和消息的参数以及结构体成员(因为Win32程序是用C语言来编写,所以没有“类”这个概念)的。

这些数据类型定义了上述元素的尺码(在内存中的,也就是占用内存的字节数)和含义。

笔者以前一直不太注意这些东西,结果在程序设计时可谓步履维艰。

不同类型的常/变量,在程序用扮演的角色相去甚远,了解这些类型,对剖析程序的工作原理是非常有用的。

今天又是周末,我把这些类型列出来,然后把它们的“原形”也找出来——是不是很像“照妖镜”呀。

下面这张表里包括这些类型:字符类型(character),整数类型(integer),逻辑值类型(布尔型,海峡那边的兄弟们喜欢叫“布林型”,Boolean),指针类型(pointer),句柄型(handle)。

其中,字符类型、整数类型和逻辑值(布尔)类型是C语言编译器通用的,也就是与标准C语言一样。

大多数指针类型都是以P(Pointer)或者LP(Long Pointer)前缀开头。

“句柄”是指被装载进内存的一个资源(本质而言就是指一定范围内的唯一编号)。

下面这张表是我结合MSDN里的资料制作的,因为自己也是初学,做的还比较粗糙,请大家多多指正:)Windows数据类型本质类型字节数定义过程(来历)含义ATOM unsigned short 2 unsigned short→WORD→ATOM 在Atom表中,一键(16位整数)一值(一个String)为一个Atom。

BOOL int * int→BOOL 逻辑变量,布尔值(取值为TRUE 或FALSE)BOOLEAN u nsigned char 1 unsigned char→BYTE→BOOLEAN 逻辑变量,布尔值(取值为TRUE 或FALSE)BYTE u nsigned char 1 unsigned char→BYTE 字节型,8位。

window 数据类型

window 数据类型

window 数据类型Windows数据类型的命名都很有逻辑。

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

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

各种句柄类型的指令方式普通都是在对象名前加“H”。

Windows 系统中有无数对象,全部表示一个对象的数据类型都是句柄,每一种对象都对应着一种句柄类型,比如与位图( BITMAP)对应的句柄类型为“HBITMAP”,与菜单(MENU)对应的句柄类型为“HMENU”,与窗口(WINDOW)对应的句柄类型为“HWND”。

无符号类型普通是以“U”开始,比如“INT”是符号类型,“UINT”是无符号类型,“LONG”是符号类型“ULONG”是无符号类型等。

ilude stdio.h include windows.h pragma comment (lib, User32.lib ) int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd){ LPSTR szSing = I'm string CHAR lpString[120]; DWORD dwMax= 0xFFFFFFFF; DWORD dwOne = 0x1; INT iMax=0xFFFFFFFF; INT iOne=0x1; MessageBox(NULL,szString, LPSTR ,MB_OK);CopyMemory(lpString,szString,trlen(szString)+1); MessageBox(NULL,szString, CHAR[] ,MB_OK); if(dwMaxdwOne){ MessageBox(NULL, DWORD 's 0xFFFFFFFF 0x1 ,DWORD ,MB_OK); if(iMax iOne) MessageBox(NULL, INT's0xFFFFFFFF 0x1 , INT ,MB_OK); return 0; } 在这个程序中,用法了 4 种Windows 数据类型,分离是 LPSTR、CHAR、DWORD 和INT。

Windows基本的数据类型

Windows基本的数据类型

关键字数据类型Windows基本的数据类型下面列出较为常用的数据类型,大体包括了字符型、整型、浮点型、布尔型、指针型以及Windows应用程程特有的句柄型,表示指针型的数据类型往往以P或LP 作为前缀,而句柄型总是冠以H。

类型定义-------------------------------------------------------------A TOM 原子(字符串在原子表中的参考值)BOOL 布尔型(逻辑型)变量(应为TRUE或FALSE)BOOLEAN 布尔型(逻辑型)变量(应为TRUE或FALSE)BYTE 字节(8位)CCHAR Windows字符CHAR Windows字符COLORREF RGB(红绿蓝)颜色值(32位)CONST 在执行时其值保持不变的变量DLGPROC 指向应用程序定义的对话框过程回调过程的指针DWORD 双字(32位)DWORDLONG 双双字(64位)FARPROC 指向应用程序定义的指针FLOA T 浮点型变量GLOBALHANDLE 全局内存块句柄HACCEL 加速键表句柄HANDLE 对象句柄HBITMAP 位图句柄HBRUSH 画刷句柄HDC 设备描述表句柄HFILE 文件句柄HFONT 字体句柄HGDIOBJ GDI(图形设备接口)对象句柄HGLOBAL 全局内存块句柄HHOOK 钩子句柄HICON 图标句柄HINSTANCE 实例句柄HLOCAL 本地内存句柄HMENU 菜单句柄HOOKPROC 指向应用程序定义的钩子的指针HPALETTE 调色板句柄HPEN 画笔句柄HWND 窗口句柄LOCALHAND 本地内存句柄LONG 32位无符号值LONGLONG 64位无符号值LPARAM 32位消息参数LPCSTR 指向Windows常字符串(以空字符结束)的指针LPSTR 指向Windows字符串(以空字符结束)的指针LPVOID 指向任意类型的指针PROC 指向回调函数的指针SHORT 短整型数UCHAR 无符号Windows字符UINT 无符号整数ULONG 无符号长整型数(32位)USHORT 无符号知整型数(16位)VOID 任意类型WNDPROC 指向在应用程序中定义的窗口过程的指针WORD 无符号字(16位)WPARAM 32位消息参数。

mfc byte uint8类型

mfc byte uint8类型

mfc byte uint8类型
MFC(Microsoft Foundation Class)是微软提供的用于开发Windows应用程序的类库。

在MFC中,byte和uint8_t类型通常用
来表示8位的无符号整数。

在C++中,byte通常是typedef为unsigned char的类型,而uint8_t是C/C++标准库中定义的无符号
8位整数类型。

这两种类型在MFC中经常用于处理字节数据或者需
要确保数据是8位无符号整数的情况。

使用byte和uint8_t类型可以确保数据在8位范围内,不会超
出0到255的范围。

这在处理像图像数据、网络数据包等需要精确
控制每个字节的情况下非常有用。

另外,在一些硬件交互的场景中,也经常会用到这两种类型,因为硬件通信往往需要按字节进行数据
传输和处理。

在MFC中,使用这两种类型需要特别注意数据的范围和溢出问题,因为它们都是固定大小的类型。

另外,需要注意的是在不同平
台上这两种类型可能会有不同的定义,因此在跨平台开发时需要格
外留意。

总之,byte和uint8_t类型在MFC中通常用来表示8位的无符
号整数,适用于处理字节数据、硬件交互以及需要确保数据范围在0到255之间的场景。

在使用时需要注意数据范围、溢出问题以及跨平台兼容性。

注册表基础知识

注册表基础知识

注册表基础知识注册表是Windows操作系统中的一个核心部分,它包含了系统所有的配置信息和数据。

这些信息控制着系统的各项功能和应用程序的运行方式。

掌握注册表基础知识对于深入了解Windows操作系统和解决一些常见的系统问题是非常有帮助的。

注册表由五个主要部分组成:根键、子键、键值、数据类型和注释。

这些部分共同构成了注册表的复杂结构。

根键:根键是注册表的最顶层,它定义了其他键的分类。

例如,HKEY_CURRENT_USER根键包含了当前登录用户的所有配置信息。

子键:在根键下,可以创建多个子键,每个子键都包含了一类特定的信息。

例如,在HKEY_CURRENT_USER根键下,可以有一个名为"Software"的子键,用于存储应用程序的配置信息。

键值:键值是注册表中的具体数据,它们定义了系统或应用程序的行为方式。

每个键值都有一个名称和一个值。

数据类型:每个键值都有一个特定类型的数据,例如字符串、二进制、DWORD(32位无符号整数)等。

注释:注释是对键值的描述,它们提供了关于键值的额外信息。

注册表在Windows操作系统中扮演着非常重要的角色。

它存储了系统的配置信息、用户的个人信息、应用程序的配置和设置等。

这些信息对于系统的运行和应用程序的执行都是至关重要的。

如果注册表出现问题,可能会导致系统崩溃、应用程序无法运行或出现错误。

因此,维护注册表的完整性和准确性是非常重要的。

由于注册表的重要性,我们需要采取一些措施来保护它。

以下是一些建议:定期备份注册表:备份注册表可以在出现问题时恢复到之前的状态,避免数据丢失。

避免随意修改注册表:不熟悉注册表的人应该避免随意修改它,以防止出现问题。

如果需要修改注册表,应该先备份当前的状态。

计算机病毒是一种恶意软件,它能够复制自身并且在计算机网络中进行传播,从而破坏数据、干扰计算机操作,甚至危害网络安全。

其中,修改Windows操作系统注册表是病毒常用的一种手段,下面就对这一原理解析如下:Windows注册表是Windows操作系统的一个核心组件,它存储了系统配置信息、应用程序设置、硬件配置和用户偏好等数据。

系统核心支持库

系统核心支持库

系统核心支持库4.4版__窗口组件数据类型本支持库是易语言的核心库,为系统本身和每个易程序提供必需的功能支持。

操作系统支持: Windows、Linux窗口组件数据类型:其它数据类型:窗口包容型窗口组件操作系统支持:Windows跳至:系统核心支持库本类型对象的方法被除开功能型外所有的窗口组件共享。

属性:方法:自有事件:基本事件:左边、顶边、宽度、高度基本属性数据类型:整数型;语法:对象.左边 = 整数型语法:对象.顶边 = 整数型语法:对象.宽度 = 整数型语法:对象.高度 = 整数型应用对象:窗口、编辑框、图片框、外形框、画板、分组框、标签、按钮、选择框、单选框、组合框、列表框、选择列表框、横向滚动条、纵向滚动条、进度条、滑块条、选择夹、影像框、日期框、月历、驱动器框、目录框、文件框、颜色选择器、超级链接框、调节器、通用对话框、时钟、打印机、数据报、客户、服务器、端口、表格数据源、通用提供者、数据库提供者、图形按钮、外部数据库、外部数据提供者、超文本浏览框、树型框、状态条、工具条、超级列表框、透明标签、超级按钮、高级影像框、分隔条、超级编辑框、数据库连接、记录集、柱状图控件、饼形图控件、曲线图控件、Word程序、Word文档集、Word图形、Excel程序、Excel 工作簿、Excel图表、脚本组件例程:说明:设置窗口的左边为100,如果要同时设置这几个属性,可以用“组件.移动”命令来实现。

标记基本属性数据类型:文本型;语法:对象.标记 = 文本型应用对象:窗口、编辑框、图片框、外形框、画板、分组框、标签、按钮、选择框、单选框、组合框、列表框、选择列表框、横向滚动条、纵向滚动条、进度条、滑块条、选择夹、影像框、日期框、月历、驱动器框、目录框、文件框、颜色选择器、超级链接框、调节器、通用对话框、时钟、打印机、数据报、客户、服务器、端口、表格数据源、通用提供者、数据库提供者、图形按钮、外部数据库、外部数据提供者、超文本浏览框、树型框、状态条、工具条、超级列表框、透明标签、超级按钮、高级影像框、分隔条、超级编辑框、数据库连接、记录集、柱状图控件、饼形图控件、曲线图控件、Word程序、Word文档集、Word图形、Excel程序、Excel 工作簿、Excel图表、脚本组件例程:说明:这个例程中,我们首先在程序设置状态的时候把测试的4个按钮的标记分别写入文本型的“1”“2”“3”“4”,然后我们用循环通过“取标记组件”命令来寻找这个组件,然后我们把找到的组件的事件转移到一个新的按钮上。

WindowsSDK编程API入门系列(转)

WindowsSDK编程API入门系列(转)

WindowsSDK编程API⼊门系列(转)之⼀ -那‘烦⼈’的Windows数据类型原创⽂章,转载请注明作者及出处。

⾸发Hello Everybody This is beyondcode⼤家好再次⾃我介绍⼀下我是beyondcode, 这次⼼⾎来潮, 计划着做⼀系列关于Windows API 编程的教程,⽤于帮助⼀些在Windows API编程上有疑惑的,纳闷的,迷惑的新⼿朋友们。

先解释⼀些术语或名词吧 SDK是Software Development Kit的简写,也就是软件开发包的意思,其中就包含了我们写程序要⽤到的⼀些头⽂件,库,⼯具,帮助⽂档之类的。

Windows API编程是指调⽤Windows的接⼝函数来进⾏程序的编写,例如MessageBox就是⼀个API函数或者说接⼝函数。

怎么说都可以,⾃⼰理解就⾏。

如果你连这个都不太懂,我想也不会搜到这篇⽂章了吧~·为什么做这个系列教程呢,请听我⼀⼀道来先,最近遇到⼀些事⼀些⼈,让我真的感觉在这⽅⾯的引导⼊门⽂章真的很是匮乏,加上Windows SDK头⽂件中那些复杂,庞⼤,'烦⼈'的宏定义与数据类型定义,对于⼀个新⼿来说(我所说的新⼿不单只刚接触编程的,还特指那些在其他语⾔领域有⽐较⾼造诣的朋友) ⼀个纯SDK写的helloworld程序都算是⼀个有些困难和挑战的任务了吧。

本着帮助别⼈,⾼兴⾃⼰的原则,我有了这个打算,当然对⾃⼰以前所学,所经历做⼀次回忆,也是这次计划的⼀部分。

声明⼀下,本系列教程是⾯向⼴⼤初次接触WIN32 SDK程序编写的新⼿朋友们的,如果你是⾼⼿,⼀笑⽽过吧~当然,除了⼀笑⽽过,也多谢你们提出指正⽂章中的错误,以免我误⼈⼦弟啊~~谢谢Ok 废话不多说,进⼊正题,今天第⼀篇,讲什么? 对于⼀个新⼈来说,第⼀次接触SDK编程或者说API编程,什么最迷惑你们的,我们讲它,我觉得Windows SDK中那'烦⼈'的数据类型定义和宏定义应该算这个很⾓⾊吧。

Win32数据类型

Win32数据类型
指向一个应用程序定义的系统调用返回函数-当打印工作在 假脱机期间被取消时的指针 指向一个程序定义调用返回函数-被 acmDriverEnum 使用. 指向一个程序定义调用返回函数-被一个安装音频压缩管理 驱动器(ACM)
ACMFILTERCHOOSEHOOKPROC 指向一个程序定义函数-钩住 acmFilterChoosec 对话框 ACMFILTERENUMCB ACMFILTERTAGENUMCB ACMFORMATENUMCB ACMFORMATTAGENUMCB APPLET_PROC ATOM BOOL BOOLEAN BSTR BYTE CALINFO_ENUMPROC CALLBACK CHAR COLORREF CONST CRITICAL_SECTION CTRYID DATEFMT_ENUMPROC DESKTOPENUMPROC DLGPROC DRAWSTATEPROC DWORD
1ቤተ መጻሕፍቲ ባይዱ
EDITWORDBREAKPROC ENHMFENUMPROC ENUMRESLANGPROC ENUMRESNAMEPROC ENUMRESTYPEPROC FARPROC FLOAT FILE_SEGMENT_ELEMENT FONTENUMPROC GOBJENUMPROC GRAYSTRINGPROC HACCEL HANDLE HBITMAP HBRUSH HCOLORSPACE HCONV HCONVLIST HCURSOR HDC HDDEDATA HDESK HDROP HDWP HENHMETAFILE HFILE HFONT HGDIOBJ HGLOBAL HHOOK HICON HIMAGELIST HIMC HINSTANCE HKEY HKL HLOCAL HMENU

windows窗口数据结构

windows窗口数据结构

但是Windows没有提供改变窗口所有者的方法。MFC中则提供了改变所有者的方法:
_AFXWIN_INLINE void CWnd::SetOwner(CWnd* pOwnerWnd)
{ m_hWndOwner = pOwnerWnd != NULL ? pOwnerWnd->m_hWnd : NULL; }
另外,窗口之间消息的传递也和窗口关系有关,通常,一个窗口会把自己的通知消息发送给它的父窗口,但不全是这样,比如,CToolBar发送通知消息给它的所有者窗口而不是父窗口。这样以来,就可以允许工具条作为一个窗口(比如一个 OLE 容器程序窗口)的子窗口的同时,能够给另一个窗口(比如in-place框架窗口)发送消息。至于某类窗口到底是把消息发送给谁,是父窗口还是所有者窗口,microsoft并没有明示。还有,在现场(in-place)编辑的情况下,当一个 server 窗口激活或者失效的时候,框架窗口所拥有的子窗口自动隐藏或者显示,这也是通过直接调用SetOwner函数实现的。
(2)获取/设置父窗口
WIN32 API给出了函数GetParent和SetParent。而mfc也是完全封装了这两个函数:
_AFXWIN_INLINE CWnd* CWnd::SetParent(CWnd* pWndNewParent)
{ ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::SetParent(m_hWnd,
注意!最小化父窗口不会影响子窗口的可见状态,子窗口会随着父窗口被最小化,但是它的WS_VISIBLE属性不会变。
Windows系统为什么要使用两种关系呢?这是为了更加灵活的管理窗口。举个例子:组合框(combobox)的下拉列表框(list box)可以超出组合框的父窗口的客户区,这样有利于显示,因此系统创建该list box的时候,是作为控制台窗口(desktop window)的子窗口,它的父窗口hWndParent是NULL,这样,list box的显示区域是限制在整个屏幕内,但是该list box的所有者却是组合框的第一个非子窗口祖先(比如对话框),当它的所有者窗口销毁后,该 list box自动销毁。

第06课 - 图形设备接口

第06课 - 图形设备接口

消 息 队 列
线程
17
return 0; }
鼠标消息
Windows程序设计-基础教程
鼠标的消息有哪些?
WM_LBUTTONDOWN WM_LBUTTONUP WM_LBUTTONDBLCLK WM_RBUTTONDOWN WM_RBUTTONUP WM_RBUTTONDBLCLK WM_MBUTTONDOWN WM_MOUSEMOVE WM_MOUSEWHEEL WM_NCLBUTTONDOWN WM_NCLBUTTONUP
18
鼠标消息
Windows程序设计-基础教程
WM_LBUTTONDOWN 参数功能:
wParam 存放一个标志,该标志注明了当鼠标左键按 下的时候还有什么键同时被按下。 lParam 存放当前光标的在窗口中的位置。
19
鼠标消息
Windows程序设计-基础教程
光标的位置:
xPos = LOWORD(lParam); yPos = HIWORD(lParam);
34
Windows程序设计-基础教程
绘制直线
பைடு நூலகம்
35
画线函数
Windows程序设计-基础教程
BOOL MoveToEx( HDC hdc, int X, //起始xpos int Y, //起始ypos LPPOINT lpPoint //光标的旧位置 ); 功能:确定直线的起始坐标 BOOL LineTo( HDC hdc, int nXEnd, int nYEnd); 功能:确定直线的结束坐标,并画线
27
设备环境句柄
Windows程序设计-基础教程
HDC 设备环境句柄

DELPHI和WINDOWS数据类型对照表

DELPHI和WINDOWS数据类型对照表

Windows数据类型Delphi数据类型描述LPSTR PAnsiChar字符串指针LPCSTR PAnsiChar字符串指针DWORD LongWord整数BOOL LongBool布尔型PBOOL^BOOL指向布尔值的指针PByte^Byte指向字节值的指针PINT^Integer指向整数值的指针PSingle^Single指向单精度浮点值的指针PWORD^Word指向16位值的指针PDWORD^DWORD指向32位值的指针LPDWORD PDWORD指向32位值的指针UCHAR Byte8位值(可用来表示字符)PUCHAR^Byte指向8位值的指针SHORT Smallint带符号16位整数UINT LongWord无符号32位整数PUINT^UINT指向无符号32位整数的指针ULONG Cardinal无符号32位整数PULONG^ULONG指向无符号32位整数的指针PLongint^Longint指向32位值的指针PInteger^Integer指向32位值的指针PSmallInt^Smallint指向16位值的指针PDouble^Double指向双精度浮点值的指针LCID DWORD局部标识符LANGID Word语言标识符THandle LongWord对象句柄PHandle^THandle指向句柄的指针WOARAM Longint32位的消息参数LPARAM Longint32位的消息参数LRESULT Longint32位函数返回值HWND LongWord窗口句柄HHOOK LongWord Windows钩子句柄ATOM Word局部或全局原子表中的字符串索引HGLOBAL THandle全局动态内存句柄HLOCAL THandle局部动态内存句柄(32位下与HGLOBAL没有区别) FARPROC Pointer指向过程的指针,通常在需要回调函数的函数中作为参数类型HGDIOBJ LongWord GDI对象句柄HBITMAP LongWord Windows位图对象句柄HBRUSH LongWord Windows画刷对象句柄HDC LongWord设备环境句柄HENHMETAFILE LongWord Windows增强图元文件对象句柄HFONT LongWord Windows逻辑字体对象句柄HICON LongWord Windows图标对象句柄HMENU LongWord Windows菜单对象句柄HMETAFILE LongWord Windows图元文件对象句柄HINST THandle实例(instance)对象句柄HMODULE HINST模块句柄HPALETTE LongWord Windows调色板对象句柄HPEN LongWord Windows画笔对象句柄HRGN LongWord Windows区域对象句柄HRSRC THandle Windows资源对象句柄HKL LongWord Windows键盘布局句柄HFILE LongWord已打开文件的句柄HCURSOR HICON Windows鼠标光标对象句柄COLORREF DWORD Windows颜色索引值句柄,包含红、绿、蓝三个分量WINDOWS数据类型ATOM原子(原子表中的一个字符串的参考)BOOL布尔变量BOOLEAN布尔变量BYTE字节(8位)CCHAR Windows字符CHAR Windows字符COLORREF红、绿、蓝(RGB)彩色值(32位)Const变量,该变量的值在执行期间保持为常量CRITICAL_SECTION临界段对象CTRYID国名标识符DLGPROC指向一个对话框过程的指针DWORD双字(32位)ENHMFENUMPROC指向一个应用程序定义的回调函数的指针,该回调函数枚举增强的元文件记录ENUMRESLANGPROC指向一个应用程序定义的回调函数的指针,该回调函数枚举资源语言。

Windows数据类型及其常量

Windows数据类型及其常量

BOOL布尔类型BSTR32位字符指针BYTE8位无符号整数COLORREF32位颜色DWORD32位无符号整数或地址段和它的偏移量LONG32位有符号整数LPARAM32位传给窗口过程或回调函数的参数LPCSTR指向常量字符串的32位指针LPSTR指向字符串的32位指针LPCTSTR指向常量字符串的32位指针,适合于Unicode 和DBCSLPTSTR指向字符串的32位指针,适合于Unicode和DBCSLPVOID指向空类型的32位指针LRESULT窗口过程或回调函数的32位返回值UINT(windows版本3.0和3.1)16位无符号整数,win32系统下是32位无符号整数WNDPROC指向窗口过程的32位指针WORD16位无符号整数WPARAM作为传给窗口过程或回调函数的参数,(windows版本3.0和3.1)16位,win32系统下是32位MFC类库还包括的数据类型:POSITION该值用来表示集合中一个元素的位置,被MFC 集合类使用LPCRECT指向常型RECT结构的32位指针为便于开发Windows应用程序,Windows的开发者新定义了一些数据类型。

这些数据类型或是与C/C++中已有的数据类型同义,或是一些新的结构数据类型。

引入这些类型的主要目的是为便于程序员开发Windows应用程序,同时也是为了增强程序的可读性;另一个目的是为了便于程序将来能被移植到其它种类的计算机平台上或适应Windows将来的新版本的变化。

例如,本教程目前使用16位API (Application Program Interface),现在Windows的版本使用32位API,只要将HANDLE等句柄类型定义为32位长,然后重新编译程序,就可以很方便地将一个使用16位API的Windows应用程序改为使用32位API的程序,使其能运行在32位API Windows 上。

大部分的数据类型在Windows.h中定义,下面是在这个文件中定义的部分类型:#define PASCAL pascal#define NEAR near#define FAR fartypedef unsigned char BYTEtypedef unsigned short WORDtypedef unsigned long DWORDtypedef long LONGtypedef char*PSTRtypedef char NEAR*NPSTRtypedef char FAR*LPSTRtypedef void VOIDtypedef int*LPINTtypedef LONG(PASCAL FAR* FARPROC)();在Windows.h中,使用typedef还定义了一些新的结构类型。

windows数据类型

windows数据类型

windows 的数据类型1. Visual C/C++ 数据类型Visual c/c++ 支持下列几个integer类型:∙__int8∙__int16∙__int32∙__int64它们分别对应于 ANSI C的:∙char∙short∙int∙long longVisual C/C++ 支持bool类型,并且增加了:∙wchat_t(或者_wchat_t)这个类型2 bytes宽,用来表示wide-character 或者multibyte character,在字符前加上前缀L来表示wide-character,如:∙'a' --- ANSI character∙L'a' --- wide character上面分别是字符'a' 的ANSI 版本和wide 版本,wchar_t的意义是unsigned short对于每个integer 类型都分别有signed和 unsigned版本,缺省情况下是 signed 的在VC头文件 limits.h里定义了integer类型的limit 值:2. windows 上的数据类型windows 自定义了一系列的数据类型,可以说是琳琅满目,甚至可以说混乱在MSND 里有一篇介绍windows 上定义的数据类型:/en-us/library/aa383751(v=VS.85).aspx2.1 基本数据类型上表所示,对一个类型进行明确的定位,分为 32/64版本以及signed/unsinged版本。

它们固定了精度。

2.2 为UNICODE 准备的数据类型TBYTE 和TCHAR类型在WinNT.h的实际定义为:#ifdef UNICODE#ifndef _TCHAR_DEFINEDtypedef WCHAR TCHAR, *PTCHAR;typedef WCHAR TBYTE , *PTBYTE ;#define _TCHAR_DEFINED#endif#else#ifndef _TCHAR_DEFINEDtypedef char TCHAR, *PTCHAR;typedef unsigned char TBYTE , *PTBYTE ;#define _TCHAR_DEFINED#endif#endif /* UNICODE */如果定义了UNICODE 的话,TCHAR 和TBYTE 就是WCHAR 类型,否则它们是char/unsigned char类型。

Windows数据类型

Windows数据类型

Windows数据类型WORD:16位无符号整形数据DWORD:32字节无符号整型数据(DWORD32)DWORD64:64字节无符号整型数据INT:32位有符号整型数据类型INT_PTR:指向INT数据类型的指针类型INT32:32位符号整型INT64:64位符号整型UINT:无符号INTLONG:32位符号整型(LONG32)ULONG:无符号LONGLONGLONG: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,否则为CHARUCHAR:无符号CHARWCHAR:16位Unicode字符BOOL:布尔型变量BYTE:字节类型(8位)CONST:常量FLOAT:浮点数据类型SIZE_T:表示内存大小,以字节为单位,其最大值是CPU最大寻址范围VOID:无类型,相当于标准C语言中的voidWINAPI:Windows API的函数调用方式,常见于SDK头文件中对API函数的声明中,相当于_stdcall(更严格地说,这不是数据类型,而是一种函数调用约定这些只是常见的数据类型,Windows数据类型还不止上面列出的类型,还包括很多种,主要有各种数据的指针、句柄、无符号类型等,可以查看SDK文档来了解Windows数据类型更多的细节。

下面再给出Windows数据类型命名的规律,好让大家在遇到新的数据类型时,可以基本推论出数据类型的意义.基本数据类型包括:BYTE、CHAR、WORD、SHORT、INT等。

windows整数分区表

windows整数分区表

windows整数分区表第一:Windows操作系统采用的硬盘分区表是一种用于管理硬盘上分区信息的数据结构。

整数分区表(MBR,Master Boot Record)是Windows较早版本中广泛采用的一种分区表类型。

本文将深入探讨Windows整数分区表的结构、工作原理以及相关应用,以帮助读者更好地理解和应用这一技术。

第二:整数分区表的基本概念整数分区表是一种经典的硬盘分区表,用于描述硬盘上的主引导记录(MBR)区域。

这个表包含了硬盘上的分区信息,其中每个分区占用一个表项。

整数分区表采用的是传统的CHS(柱面、磁头、扇区)寻址方式,其表项包含了分区的起始位置、大小等信息。

第三:整数分区表的结构整数分区表的结构主要由一个引导扇区和分区表组成。

1.主引导记录(Master Boot Record,MBR):–MBR是整数分区表的第一个扇区,占用512字节。

它包含引导程序和分区表信息。

2.分区表:–分区表是MBR的一部分,用于存储硬盘上的分区信息。

一个MBR可以包含最多四个分区表项,每个分区表项占用16字节。

整数分区表的分区表项结构如下:plaintextByte 0-3: 分区起始扇区的LBA地址Byte 4-7: 分区大小,以扇区为单位Byte 8: 分区类型Byte 9-11: CHS地址,分别为柱面、磁头、扇区Byte 12-15: 结束扇区的LBA地址整数分区表在计算机启动时,会被加载到内存中,操作系统通过读取分区表来了解硬盘上的分区信息。

当用户选择启动某个操作系统时,引导程序会从相应的分区中加载操作系统的引导程序。

整数分区表使用的是传统的CHS寻址方式,但由于硬盘容量的增大,这种方式逐渐被更先进的分区表类型(如GPT)所取代。

第五:整数分区表的分区类型整数分区表使用一个字节来表示每个分区的类型,这个字节的数值决定了分区的用途和文件系统类型。

常见的分区类型包括:•0x01 - FAT12:用于较小容量的FAT12文件系统。

windows data type 数据类型

windows data type 数据类型
Windows数据类型 Windows数据类型 ATOM BOOL BOOLEAN BYTE CALLBACK CHAR COLORREF CONST CRITICAL_SECTION DWORD DWORD_PTR DWORD32 DWORD64 FLOAT HACCEL HANDLE HBITMAP HBRUSH HCONV HCONVLIST HCURSOR HDC HDDEDATA HDESK HDROP HDWP HENHMETAFILE HFILE HFONT HGDIOBJ HGLOBAL HHOOK HICON HIMAGELIST HIMC HINSTANCE HKEY HKL HLOCAL HMENU HMETAFILE HMODULE HMONITOR HPALETTE HPEN HRGN
* * * 8 2 4 4 4 4 * 8 8 4
4
PDWORD PFLOAT PHANDLE PHKEY PINT PLCID PLONG PLUID POINTER_32 POINTER_64 PSHORT PSTR PTBYTE PTCHAR PTSTR PTBYTE PTCHAR PTSTR PUCHAR PUINT PULONG PUSHORT PVOID PWCHAR PWORD PWSTR REGSAM SC_HANDLE SC_LOCK SERVICE_STATUS_HANDL E SHORT SIZE_T SSIZE_T TBYTE TCHAR UCHAR UINT UINT_PTR UINT32 UINT64 ULONG ULONG_PTR ULONG32 ULONG64 ULONGLONG UNSIGNED
2 4 2 2 1
2 4 4 4 2 4 4
USHORT VOID WCHAR WINAPI WORD WPARAM

计算机的基础数据类型

计算机的基础数据类型

计算机的基础数据类型⼀、类型英⽂表达是Type或者Pattern指包含由各特殊的事物或现象抽出来的共通点的抽象概念。

是逻辑演算中关于主⽬的不可兼的分类谱系之⼀。

具有共同特征的事物所形成的种类。

它和类别的差异是:类型强调共同性,类别强调差异性。

⼴义的类型⼀般被定义为⼀种约束,也就是⼀种逻辑公式。

类型被认为是⼀系列满⾜确定约束条件的元素,更抽象的⽅式可以把⼀个类型当作规定⼀个约束条件,如果我们规定的约束条件越好,相对应的被定义元素的集合就越精密,所以逻辑公式(logical formulas)就成为描述类型特征的最合适⼯具。

对任何事物进⾏分类,在特定环境下,应该只有⼀种标准,也就是约束条件要清晰明朗且要少。

⼆、数据类型在我们⼤致明⽩了什么是数据,那么数据类型就是对数据分类,根据我们今天谈的主题,按照⼀个标准,就是是否计算机处理的数据,我们可以分为计算机处理的数据和⾮计算机处理的数据两种类型。

三、计算机⾥的基础数据类型就是对计算机系统存储和处理的数据根据计算机的存储特性来进⾏分类,在计算机的世界⾥,数据类型就是在数据结构中的定义是⼀组性质相同的值的集合以及定义在这个值集合上的⼀组操作的总称。

计算机⾥的数据有哪些特性呢:⾸先是数据是⽤⼆进制保存,其次是有长度限制,然后才是加上语义上的信息,那么根据这些特征来进⾏分类,计算机⾥的基础数据类型包括:字节、字、双字、布尔值、数值、字符等。

3.1、纯⼆进制数据类型字节(byte)对就是⽤⼆进制的的单位Byte作为了数据类型的名称,表⽰⼀个长度为8bit的⼆进制数据,范围0x00---0xFF,具体语义要根据使⽤场景来确定。

字(word)也是⽤⼆进制的的单位word作为了数据类型的名称,表⽰⼀个长度为16bit的⼆进制数据,范围0x0000---0xFFFF,具体语义要根据使⽤场景来确定。

双字(dword)也是⽤⼆进制的的单位dword作为了数据类型的名称,表⽰⼀个长度为32bit的⼆进制数据,范围0x00000000---0xFFFFFFFF,具体语义要根据使⽤场景来确定。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

WINDOWS数据类型
ATOM 原子(原子表中的一个字符串的参考)
BOOL 布尔变量
BOOLEAN 布尔变量
BYTE 字节(8位)
CCHAR Windows字符
CHAR Windows字符
COLORREF 红、绿、蓝(RGB)彩色值(32位)
Const 变量,该变量的值在执行期间保持为常量
CRITICAL_SECTION 临界段对象
CTRYID 国名标识符
DLGPROC 指向一个对话框过程的指针
DWORD 双字(32位)
ENHMFENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举增强的元文件记录
ENUMRESLANGPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举资源语言。

ENUMRESNAMEPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举资源名称。

ENUMRESTYPEPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举资源类型。

FARPROC 指向一个回调函数的指针
FLOAT 浮点变量
FMORDER 32位字体映射值的数组
FONTENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举字体GOBJENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举图形设备接口(GDI)对象
HACCEL 加速键表句柄
HANDLE 对象的句柄
HBITMAP 位图句柄
HBRUSH 画刷句柄
HCONV 动态数据交换(DDE)会话句柄
HCONVLIST DDE会话句柄
HCURSOR 光标句柄
HDC 设备描述表(DC)句柄
HDDEDATA DDE数据句柄
HDLG 对话框句柄
HDWP 延期窗口位置结构句柄
HENHMETAFILE 增强原文件句柄
HFILE 文件句柄
HFONT 字体句柄
HGDIOBJ GDI对象句柄
HGLOBAL 全局内存块句柄
HHOOK 钩子句柄
HICON 图标句柄
HINSTANCE 实例句柄
HKEY 登记关键字句柄
HLOCAL 局部内存块句柄
HMEMU 菜单句柄
HMETAFILE 元文件句柄
HMIDIIN 乐器的数字化接口(MIDI)输入文件句柄
HMIDIOUT MIDI输出文件句柄
HMMIO 文件句柄
HOOKPROC 指向一个应用程序定义的钩子函数的指针
HPALETTE 调色板句柄
HPEN 画笔句柄
HRGN 域句柄
HRSRC 资源句柄
HSZ DDE字符串句柄
HWAVEIN 波形输入文件句柄
HWAVEOUT 波形输出文件句柄
HWINSTA 工作站句柄
HWND 窗口句柄
INT 符号整数
LANGID 语言标识符
LCID 所在国(Locale)标识符
LCTYPE 所在国类型
LINEDDAPROC 指向一个回调函数的指针,该回调函数处理行坐标
LONG 32位符号整数
LP 指向一个以"NULL"结束的Unicode(TM)字符串的指针
LPARAM 32位消息参数
LPBOOL 指向一个布尔变量的指针
LPBYTE 指向一个字节的指针
LPCCH 指向一个Windows字符常量的指针
LPCCHOOKPROC 指向一个应用程序定义的钩子函数的指针
LPCFHOOLPROC 指向一个应用程序定义的钩子函数的指针
LPCH 指向一个Windows字符的指针
LPCOLORREF 指向一个COLORREF值的指针
LPCRITICAL_SECTION 指向一个临界段对象的指针
LPCSTR 指向一个以"NULL"结束的WINDOWS字符串常量的指针
LPCTSTR 指向一个以"NULL"结束的Unicode或Windows字符串常量的指针
LPCWCH 指向一个以"NULL"指向一个以"NULL"结束的Unicode字符常量的指针
LPCWSTR 指向一个以"NULL"指向一个以"NULL"结束的Unicode字符串常量的指针
LPDWORD 指向一个无符号双字(32位)的指针
LPFRHOOLPROC 指向一个应用程序定义的钩子函数的指针
LPHANDLE 指向一个句柄的指针
LOHANDLER_FUNCTION 指向一个处理程序函数的指针
LPHWAVEIN 指向一个波形输入文件句柄的指针
LPHWAVEOUT 指向一个波形输出文件句柄的指针
LPINT 指向一个符号整数的指针
LPLONG 指向一个符号长整数(32位)的指针
LPOFNHOOKPROC 指向一个应用程序定义的钩子函数的指针LPPRINTHOOKPROC 指向一个应用程序定义的钩子函数的指针LPSETUPHOOKPROC 指向一个应用程序定义的钩子函数的指针
LPTSTR 指向一个以NULL结束的Unicode或Windows字符串的指针LRESULT 消息处理的符号结果
LPVOID 指向任何类型的指针
LPWSTR 指向一个以"NULL"结束的Unicode字符串的指针
LUID 局部唯一的标识符
MCIDEVICEID 媒体控制接口(MCI)设备标识符
MFENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举元文件记录
MMRESULT 多媒体消息的处理结果
NPSTR 指向一个以"NULL"结束的Windows字符串的指针
NWPSTR 指向一个以"NULL"结束的Unicode字符串的指针
PBOOL 指向一个布尔变量的指针
PBYTE 指向一个字节的指针
PCCH 指向一个Windows字符常量的指针
PCH 指向一个Windows字符的指针
PCHAR 指向一个Windows字符的指针
PCRITICAL_SECTION 指向一个临界段对象的指针
PCSTR 指向一个以"NULL"结束的Windows字符串常量的指针
PCWCH 指向一个Unicode字符常量的指针
PCWSTR 指向一个以"NULL"结束的Unicode字符串常量的指针
PDWORD 指向一个无符号双字的指针
PFLOAT 指向一个浮点变量的指针
PFNCALLBACK 指向一个回调函数的指针
PHANDLE 指向一个句柄的指针
PHANDLER_ROUTINE 指向一个处理程序的指针
PHKEY 指向一个登记关键字的指针
PINT 指向一个符号整数的指针
PLONG 指向一个符号长整数的指针
PLUID 指向一个局部唯一的表示符(LUID)的指针
PROPENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举窗口特征
PSHORT 指向一个符号短整数的指针
PSID 指向一个加密标识符(SID)的指针
PSTR 指向一个以"NULL"结束的Windows字符串的指针
PSZ 指向一个以"NULL"结束的Windows字符串的指针
PTCH 指向一个Windows或Unicode字符的指针
PTCHAR 指向一个Windows或Unicode字符的指针
PTSTR 指向一个以"NULL"结束的Windows或Unicode字符串的指针PUCHAR 指向一个无符号Windows字符的指针
PUINT 指向一个无符号整数的指针
PULONG 指向一个无符号长整数的指针
PUSHORT 指向一个无符号短整数的指针
PVOID 指向任何类型的指针
PWCH 指向一个Unicode字符的指针
PWCHAR 指向一个Unicode字符的指针
PWORD 指向一个无符号字的指针
PWSTR 指向一个以"NULL"结束的Unicode字符串的指针
REGSAM 登记关键字的加密掩码
SC_HANDLE 服务句柄
SERVICE_STATUS_HANDLE 服务状态值句柄
SHORT 短整数
SPHANDLE 指向一个句柄的指针
TCHAR Unicode或Windows字符
TIMERPROC 指向一个应用程序定义的定时器回调函数的指针
UCHAR 无符号Windows字符
UINT 无符号整数
ULONG 无符号长整数
USHORT 无符号短整数
VOID 任何类型
WCHAR Unicode字符
WNDENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举窗口WNDPROC 指向一个应用程序定义的窗口过程的指针
WORD 无符号字(16位)
WPARAM 32位消息参数
YIELDPROC 指向一个输出回调函数的指针。

相关文档
最新文档