一、大写标示符

Windows中的很多标识符都是以两个或者三个大写字母作为前缀的,且其后紧跟一个下划线。这些标识符都是常量数值,前缀表明该常量的一般类别。如下

前缀 常量
CS(Class Style) 类风格选项
CW(Create Window) 创建窗口选项
DT(Draw Text)   文本绘制选项
IDI(ID Image) 图标的ID号
IDC(ID Cursor) 光标的ID号
MB(Messge Box) 消息框选项
SND(Sound) 声音选项
WM(Window Message) 窗口消息
WS(Window Style) 窗口风格

二、数据类型:WPARAM,LPARAM, LRESULT

  当windows还是16位系统时,WndProc的第三个参数定义为WORD,表示一个16位的无符号短整型,而第四个参数定义为LONG,表示一个32位的有符号长整形,所以“PARAM”的前缀“W”和“L”正是由此而来。但是在32位版本的Windows中,WPARAM定义为UINT,而LPARAM定义为LONG,因此两者都是32位的。LRESULT是返回值类型,该类型等价于LONG。

数据结构

结构 含义
MSG 消息结构
WNDCLASS 窗口类结构
PAINTSTRUCT

绘制结构

RECT

矩形结构

三、句柄

标识符 含义
HINSTANCE 实例句柄--程序本身
HWND 窗口句柄
HDC 设备环境句柄
HICON 图标句柄
HCURSOR 鼠标指针的句柄

四、匈牙利标记法

  在Windows中一般采用匈牙利标记法来作为变量的命名规定。该标记法以变量名以表明该变量数据类型的小写字符开始。当命名结构变量时,可使用结构名的小写形式作为该变量名称的前缀或整个变量名。

前缀 数据类型
c char或WCHAR或TCHAR
by BYTE(无符号字符)
n short(短整形)
i int(整形)
x,y int,表示x坐标和y坐标
cx,cy int,表示x或y的长度,c表示“count”(计数)
B或f

BOOL(int),f表示“flag”

w WORD(无符号短整型)
l LONG(长整形)
dw DWORD(无符号长整形)
fn 函数
s 字符串
sz 以零结尾的字符串
h 句柄
p 指针

【Windows】Windows中的数据类型以及命名的更多相关文章

  1. 关于Linux系统和Windows系统中文件夹的命名规范

    Windows系统中. 1.在创建文件夹的时候不能以"."开头(但是文件以多个点开头并且还有其他合法字符的话就是合法的) 但是在windows系统中确实见过以一个点".& ...

  2. windows编程中的数据类型

    在windows编程中,有许多奇怪的数据类型,初学者不知道这些代表什么,下面就把一些数据类型列出如下: ATOM 原子(原子表中的一个字符串的参考) BOOL 布尔变量 BOOLEAN 布尔变量 BY ...

  3. C#中调用Windows API时的数据类型对应关系

    原文 C#中调用Windows API时的数据类型对应关系 BOOL=System.Int32 BOOLEAN=System.Int32 BYTE=System.UInt16 CHAR=System. ...

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

    在Windows编程中,很容易见到这些数据类型:LPSTR,LPTSTR,LPCTSTR... 像很多童鞋一样,当初在学Windows编程的时候,对着些数据类型真的是丈二和尚,摸不着头脑,长时间不用就 ...

  5. 重装助手教你如何在Windows 10中更改您的帐户名称

    当您设置新的Win10免费下载 PC时,您选择用户名的部分可能会让您措手不及.如果是这种情况,您可以选择弹出头部的第一件事或者您打算稍后更改的随机和临时事物.但令人惊讶的是,在Windows 10中更 ...

  6. 将WCF寄宿在托管的Windows服务中

    在我之前的一篇博客中我介绍了如何发布WCF服务并将该服务寄宿于IIS上,今天我再来介绍一种方式,就是将WCF服务寄宿在Windows服务中,这样做有什么好处呢?当然可以省去部署IIS等一系列的问题,能 ...

  7. Windows系统中设置Python程序定时运行方法

    Windows系统中设置Python程序定时运行方法 一.环境 win7 + Python3.6 二.步骤 1,在Windows开始菜单中搜索“计划任务”,并且点击打开“计划任务”: 2.点击“创建基 ...

  8. 如何在 Windows 10 中搭建 Node.js 环境?

    [编者按]本文作者为 Szabolcs Kurdi,主要通过生动的实例介绍如何在 Windows 10 中搭建 Node.js 环境.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 在本文中 ...

  9. python - 在Windows系统中安装Pygame及导入Eclipse

    环境:python3.6(只有一个版本)+ windows10(64 bit)  + Eclipse+pydev python3.6安装完成后,会自带 easy_install 和 pip3,在Win ...

随机推荐

  1. [转]CharacterController与Rigidbody

    From: http://blog.csdn.net/czlilove/article/details/9139103 今天下午碰到个问题纠结了很久:人物加上了Rigidbody并使用了重力,遇到悬崖 ...

  2. Uninstall Tool 3.3.2.5315 简体中文注册版(彻底卸载软件)

    Uninstall Tool Uninstall Tool是CrystalIdea Software出品的一款强大而灵活的Windows标准“添加/删除程序”工具的替代软件.它能快速,安全而方便的删除 ...

  3. 数据源加密-JDBC调用方式加密示例

    package test; import org.gjt.mm.mysql.Driver; import java.sql.*;import java.util.Properties;import j ...

  4. input框自动填充内容背景颜色为黄色解决方法

    谷歌浏览器input自动填充内容,背景色会是黄色,想改的话: input:-webkit-autofill { box-shadow: 0 0 0px 1000px white inset;} 这种方 ...

  5. Android学习笔记(十一)BroadcastReceiver动态注册、注销示例

    在上一篇博文中简单介绍了一下BroadcastReceiver的相关知识点,本篇举一个在代码中动态的注册.注销BroadcastReceiver的栗子. 1.首先创建一个MyReceiver并继承Br ...

  6. bzoj 3531 [Sdoi2014]旅行(树链剖分,线段树)

    3531: [Sdoi2014]旅行 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 876  Solved: 446[Submit][Status][ ...

  7. kvm usb2.0

    Virt-Manager adds support for usb2 Wednesday, April 4, 2012 - 10:40 Haydn Solomon The most recent re ...

  8. nginx配置中文域名解析

    当nginx配置文件中的default如果遇到解析指向问题的时候 ,配置了中文 没有用 后来找了找这个网址 http://tools.jb51.net/punycode/ 然后进去转换了一下 把 评估 ...

  9. 推荐一个可视化的学习Git的好网站:LearnGitBranching

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:推荐一个可视化的学习Git的好网站:LearnGitBranching.

  10. Spring Security4源码解读探寻权限机制

    我们知道springSecurity 会在用户登录的时候获取用户的角色权限, 你是一个普通用户可能没有管理员拥有的权限.用户登录后Authentication 获取用户的权限. 不通用户登录系统会生成 ...