极语言基础
窗口与控件
极语言模块
图形与文字
多线程队列
对象和子类
声音与视频
动态链接库
互联网通信

第一节 入门

1.初学者使用极语言集成开发环境

启动极语言编程,点击初级程序进入主界面。设计界面小窗口没显示图标,请关闭设计窗口重开
控件设计器可以使用右键创建,也可以拖曳鼠标画控件。
调整控件大小是使用鼠标中键(按住滚轮不放)移动鼠标调整。
选中控件并选择左顶宽高属性,可使用鼠标滚轮调整大小和位置
控件上右键绑定事件可自定义名称,如按钮点击,列表单击,列表双击。
设计菜单的界面,双击菜单项添加绑定事件,注意是给子菜单添加事件,点击菜单会弹出子菜单的不能绑定事件
编译生成的程序默认是6.0界面风格,工程菜单取消"新版界面"选择,则使用Windows 95风格
极语言关键语法主要是如果否则判断循环这几种,其中循环语法有四种写法
循环在和循环于是为了迎合传统编程的习惯,不推荐初学者在极语言里使用
程序段 名称后面可以加小括号传递参数,传递参数和返回值没有约定限制
不会因为参数类型去限制传送的数据类型,用户可以自由提交数值或者是变量的指针地址。
程序段可以无返回值,或者返回整数,返回小数需要加冒号,返回(:值*6.5)
参数变量可以指定默认值,不指定数值默认为0,不写参数按默认值提交给程序段
获取控件的文字内容,可以使用~符号直接操作。获取内容需要申请一个文本变量:文本 内容[16];
内容~文本框1; 内容~窗体; 内容~标签1;
获取控件内容,就把控件名写到~右边,写入内容把控件名写左边:
文本框1~内容; 标签2 ~ "你好"; 窗体 ~ 内存; 写入内容右边的变量可以是内存指针的整数变量或者一段文字

常见问题:

1.中文输入法打不开。编译运行之后,占用了输入法会导致极语言编辑器的输入法关闭。
解决办法:此时可以按CTRL+F进行搜索然后按Esc取消搜索,这时候输入法就被重新激活。
2.鼠标悬停信息。极语言编辑器里选中相应带颜色的文字可以看到相关的解释,想看解释就选中文字,比搜索要方便
而鼠标指向文字的提示每动一下鼠标,就会产生很多次鼠标移动事件,然后再去读取鼠标下面的文字,并解析出关键字内容
效率并不会很好,况且用键盘打字时,可以直接用键盘选中文字,而不用频繁的使用鼠标,包括语法补全也是用键盘而非鼠标
3.关于内存回收和安全机制。极语言的内存使用主要由开发者自己控制,局部变量的内存是离开程序段时自动回收
全局变量内存包括开发者申请的内存会在关闭程序时系统自动回收,极语言没有变长文本,也不会自动替开发者申请临时内存
申请的内存只要会被使用就不能回收,编译阶段和运行时都不可能精准回收内存,最多能防止内存泄漏,增加内存安全性而已
但是运行时一直监视处理程序的每条执行指令,肯定会影响效率。文本变量用多长申请多长,让开发者学会自己控制内存使用
局部文本内存会自动回收,全局文本内存不回收,需要开发者管理的都是自己申请的内存,全透明的编程对于用户才会更安全
还有就是极语言不像C语言那样有太多的规则限制,导致很多编程语言都要制造很多复杂的概念去突破这些限制,实现更多的功能
而极语言没有这些限制,这些功能就可以轻松实现,不需要语言去专门增加很多新特性去满足开发者需要,因为本来就支持扩展功能

2.自制中文编程环境

安装目录下Sec.exe为集成开发环境(IDE)
Sc.exe为编译器,可以用其它工具编辑代码让它编译。
使用极语言开发环境保存代码时候加上扩展名,如.txt .c .张三
规定.sec为单文件二进制源码结构,.SEC和.极为多文件文本结构
其它扩展名均保存为单文件的文本源码,参照此格式在记事本里书写
保存的文件拖曳到Sc.exe上面或者运行Sc.exe点击打开保存的源码
或者使用命令行 cmd Sc.exe 源码路径 完整路径前后不用加双引号
自己开发IDE也是同样方法,Sc.exe后面空格加上路径即可实现编译

第二节 变量类型

最常用的变量是整数,如:整数 窗口。就是申请一个名为窗口整数变量。
整数变量也是万能的指针,传送参数参数只有整数和小数这两种。
在小程序片段之内的变量是局部变量,之外的是全局变量
变量的作用主要是用来存取数据,传递参数,算法运算等等。
局部变量只有整数、小数、浮点和文本这四种类型
变量类型之间可以使用等号进行相互转换,语法:变量一=变量二
就是把右边的变量类型转换成左边变量的类型数据。例如:
整数 数一;小数 数二;浮点 数三;
数一=数二;是小数转整数;数二=数一;是整数转小数;
数一=数三;是浮点转整数;数三=数一;是整数转浮点;
转换文本时可以拼接。例如:文本 内容[16]="结果:"+数一+"浮点:"+数三;
等号左边是文本自动转文本或拼接,等号左边是小数或浮点时表达式进行浮点运算
内容+数一"\r\n" 是向内容追加文字,原文字增加数一的数字和换行符
如果等号左边是整数,右边是混合运算,尽可能把小数或浮点变量写在前面
如果等号左边和右边都是整数变量,需要浮点运算时,等号后面要加上冒号
例如:数一=:数一 - 数二;还有小数浮点转整数且没有运算: 数一=数二;
代码后面需要加换行或者分号 ,否则难以判定浮点运算与整数的转换
英文名称中文名称数值范围
Bool布尔真(True),假(False)
char,sbyte 字符 -128~127
byte,uchar 字节 0到256
short短数/整形 -32768到32767
ushort,word 正数 0到65535
int,dword 整数 -2147483648到2147483647
single 小数 负数-3.402823E38到-1.401298E-45;正数1.401298E-45到3.402823E38
string 文本现已取消变长文本,申请时必须指定长度;文本 消息[16]="系统提示";英文1字节,汉字2字节
bytes字节组字节组 数组[15,$20,60,128];一组固定的数据,跟文本性质相似
Double 浮点负数时-1.79769313486232E308到-4.94065645841247E-324;正数4.94065645841247E-324到1.79769313486232E308
date日期8字节日期时间,运算和比较按浮点数格式
long,ulong大数64位整数,32位编程下多用于存储或时间计算。
type类型自定义结构体,示例;类型 窗口类{整数 句柄,左边,上边,宽度,高度;文本 标题[64],内容[256];}
datab数据表自定义数据表,示例;数据表 人物表{整数 生命,内功;字节 等级,职业;小数 坐标X,坐标Y;文本 名称[16],帮派[14];}
object对象对象 名称=对象名;使用等号给对象定义,否则只是一个整数
scls子类子类 类名{整数 变量1,变量2;程序段 登陆(账号)...结束;}
十六进制数字是用$或者0x表示,格林威治时间可以用整数来表示,如整数 时间=0@2018-8-15 12:00;不要带引号。
带引号是文本,如 整数 提示="提示消息";文本 内容(16)="$374727774367008C7A";
前面加$时把十六进制字符转换成二进制数据。文本拼接的写法:内容="最终结果:" + 数值 "。总共" + 次数 "次"
整数 数值=转整数(内容);把数字文本转整数值
小数 数值=转小数(内容);把数字文本转小数值
浮点 数值=转小数(内容);把数字文本转浮点值

关于全局变量和局部变量

在程序段内申请的变量包括提交的参数都是局部变量,在程序段和子类之外申请的变量是全局变量。
全局变量包括字符、字节、整形(短数)、正数、整数、日期、小数、浮点、大数、子类、对象和自定义类型。
局部变量目前只有整数、小数、文本、浮点、子类和对象。任何变量在作为参数传递的时候,均为4字节数值。
所以大于4字节的类型比如文本、浮点和自定义类型,提交的是变量的地址而不是值,地址通常大于0x400000。
小数是提交参数要直接进行小数运算时,才需要特别指定。除此之外任何提交的参数都按整数类型。
因此程序段的参数就只有小数和整数这两种,结构体和子类前面可以写上类的名称用来定义参数。例如:
程序段 示例(坐标类 值)
  整数 横坐标=值.左,纵坐标=值.顶


程序段 计算(角色类 人物)
  整数 伤害=(攻击-人物.防御)*1.5 -人物.减伤;

局部变量的申请和使用:
局部变量除文本外都是4字节,文本可以大于4字节,必须是4的整数倍。
局部变量最多可以申请空间1-2M,不使用局部变量则不申请,少量使用时(限120字节)
局部整数和小数变量30个以内,文本按申请的长度算。需要更多变量时,变量前加局部或local
并且放在程序段开头第一行,编译时候才好估算此程序段需要申请多大的堆栈空间。如:局部 文本 ss(32);
局部变量与全局变量区别是很大的,编程语法上尽量做到能兼容使用,方便程序灵活处理。
局部文本和全局文本都可以像操作数组一样,读写其中每一字节。如:文本 s(16)="abc";s(2)=\d;
也可以像其它变量一样,写入数字。如:s=0;文本就被清空,s=$31323334;文本开头就等于4321
因为十六进制是反转的,最后的34写入字符的第一字节,对应文字是4,用s(1)读取出来就是52

第三节 转义和标点符号

转义符号是在文本内容里使用,也就是两个双引号之间的文字内容,例:s="您好\r\n世界";
极语言的代码是允许在中间换行的,两个双引号之间也可以使用换行符制表符分页符等等
符号\r\n转换成换行加回车。其它需要加单引号''如:'\r'为换行符,
'\n'为回车符;'\t'为水平制表符;'\f'为分页符;'\v'为垂直制表符;
''为双引号;'\0'为0字符;'\1'为缩进符号;'\2'为两个换行和回车符组合

另外可以用\把单个文字转换为编码值 ,如 查字符(str,\s);
\转编码值也可以写作'',例如: 查字符(内容,'s');
0#中国;取两个汉字的编码值;0$abcd;取四个英文的编码值
0:1.2.3.4 支持IP段,颜色值,字节高低位等转换为整数值
标点符号在代码中主要是区分文字,或者定义代码范围或行为性质等
这些符号并不生成执行指令,但是可以用来规范或改变生成的执行指令
符号 类型 中文释义和示例
@ 多用途1标记;2取内存地址;3取已知内存偏移地址
|| 多条件判断或者
&& 多条件判断而且
$二进制文本"$4367008C7A",把十六进制字符转换成二进制数据
`宽字符文本"`文字内容",ANSI转成宽字符文本
.指针/连接符读写指针偏移,也可在名称中使用
_指针/连接符读写指针偏移,也可在名称中使用
""文字内容文字内容前后用双引号
$声明文本变量或函数后使用,代表是文本数据
: 标记开头: 跳到 开头
:转成小数运算变量或函数前使用
:返回小数值返回(:4.5)返回(:结果)
#表示浮点浮点 值=45.63#;
\取文字编码取单个文字(包括中文)的编码值
'注释符号符号后面一行内容为注释
//注释符号符号后面一行内容为注释
/* */多行注释/*开始到*/之间的内容为注释
$十六进制如 数值=$0D0A
0x十六进制如 数值=0x0D0A
0#取文字编码0#中国;取两个汉字的编码值
0$取文字编码0$abcd;取四个英文的编码值
0@取日期数值0@2019-4-5;取日期的整数型数值
0:取字段数值ip=0:192.168.1.1;颜色=0:255.64.128;键值=0:70,2;(CTRL+F)
( )小括号如果(左=右);相加(数,值); 整数 组(10);组(0)=15;数=组(1);
[ ]类型或文本长度文本 内容[16];时间类 时间[5];数=内容[2]
{ } 代码片段用于条件判断或循环

第四节 运算符号

变量本身增加或相乘,数=数+8,数=数*10,写起来比较麻烦
可以用+=、-=、*=、/=、|=、&=、%=、^=这样的写法。但加等读起来不顺口
也可以用更简单的a+2; a-3; a*b+3; a/10; a | b; b & a;
也就是运算符号后面的等号可以不写,读起来更顺口。
符号 类型 中文释义和示例
+ 算术 数值相加或者增加文字(数字变量自动转换为文本)。
算术 数值相减或者增加文字(数字变量自动转换为十六进制文本)。
* 算术
/ 算术
| 位运算
^ 位运算 异或
& 位运算 1运算表达式中是与运算;
2单独变量或函数前是取指针地址;
3在变量或数组后面是取四字节内存值;
4检索语句括号后是获取地址;
5循环数组的数据变量后面是每次读写四字节;
% 算术 求余,可以在除法后单独使用;在变量或数组后面是取两字节内存值。
++ 算术自加
-- 算术自减
! 逻辑非数值为0则为1,数值不是0则为0
~按位取反对每个二进制位进行反相,0变1,1变0
= 赋值/比较等于
!= <> 关系比较 不等于
< 关系比较小于
> 关系比较大于
>= 关系比较大于等于
<= 关系比较小于等于
=> 关系比较等大于
=< 关系比较等小于
>> 位运算右移(支持小数)
<< 位运算左移(支持小数)
~读写控件内容内容~文本框1;窗体~"显示标题"
?取结果取上次赋值的结果
??取纳秒计数取纳秒计数器的低32位结果,高32位再用%获取
浮点运算专用符号:表达式的小括号之后使用,用法:(a+b)余;(c)正;(a*a+b*b)根;(c)cos;(n)pat;
英文 中文释义
abs表达式取绝对值(含整数)
cos表达式取余弦
sin表达式取正弦
sqr表达式取平方根
tan表达式取正切
atn表达式取反正切
第五节 编程语法
编程代码里的文字部分,包括关键字和名称定义,都是用标点符号区分开的。空格 制表符 回车换行 逗号 分号它们的作用类似
整数 数一;小数 数二;也可以写成 整数 数一 小数 数二 空格 制表符 回车换行 逗号 分号 括号这些都能把文字给区分开
分号通常用于这句代码结束时,也可以用空格 制表符 回车 换行等符号代替分号;而关键字后面通常是自定义的名称,如:整数 数一
这是要申请一个整数变量,名字叫数一,一句代码的中间是用空格而不是加分号,所以空格 换行 制表符可以代替分号,分号却不能代替空格等
而逗号通常是要连续重复操作某件事时,比如 整数 数一,数二,数三,数四 这里是要连续申请四个整数变量,使用逗号可以不用每次都写整数
再比如调用函数时,发送消息(窗口,消息,参数,数据),小括号里也是要连续提交多个变量,就用逗号隔开;括号都是成对出现,代表一个范围
程序段 窗体消息(窗口,消息,参数,数据)
  判断(消息)为 窗口关闭{停止(0)}
  为 单击左键{左键点击(参数)}
  否则 处理窗口(窗口,消息,参数,数据)
结束
上面这段代码是一个程序段的示例, 程序段后面用空格,表示后面是要定义一个名称:窗体消息
后面是一对小括号,里面也是连续申请了四个接收参数,跟发送消息提交的四个参数一一对应
调用发送消息函数,把消息发给指定窗口,在窗体消息这里就能收到发过来的四个参数
窗体消息里第一行代码是判断消息窗口关闭停止程序运行,停止哪个程序?括号里写0,代表是本程序
这句话用平时说话的语句,就把所有关键词都写成一段文字了,编程代码是要把这些都区分开
判断后面加小括号就把判断两个字分开,括号里是要判断的对象,这里判断发来的消息是什么
如果消息窗口关闭,后面是大括号,它表示可能有多句代码,会执行大括号里的这些代码
如果只有一句,大括号也可以省略,比如否则 处理窗口(窗口,消息,参数,数据) 就没写大括号
否则后面就要加个空格,不加的话,就是否则处理窗口,这六个字就不是已经定义的名称,编程器无法解读
最后的结束是这段代码结束了,结束后面可以加分号,但是结束后面都的换行,就不用加分号,整段代码也可以用大括号,不用写结束两个字
程序段 窗体消息(窗口,消息,参数,数据)
{
  判断(消息)为 窗口关闭{停止(0)}
  为 单击左键{左键点击(参数)}
  否则 处理窗口(窗口,消息,参数,数据)
}
判断语句只用写一次,第二行还是判断消息为单击左键的时候,执行左键点击这个函数
这个消息到来时,参数是控件的编号,数据是控件对象,窗口都是主窗口,设计多个主窗口时,可以根据哪个窗口去执行不同的操作
窗体的消息非常多,大部分都是交给处理窗口这个函数来处理,否则就是其它消息就执行这里代码
左键点击也判断提交过来的参数,判断编号是几就执行相应的功能函数,比如:按钮1点击;按钮2点击
也可以根据控件对象进行判断,此时第四个参数:数据是控件对象,判断它是哪个控件
  为 单击左键{
  如果(数据=编辑框1)编辑事件(参数)
  否则 左键点击(参数)}

鼠标点击编辑框,有可能是选中,也有可能是右键,也有可能是双击,使用如果语句比如数据和编辑框1
两者相等就执行编辑副本,否则就执行左键点击事件,这就是如果否则语句的代码写法
更多的语法请参照下表,后面的教程也有讲到更多的语法规范和代码用法
英文语法 中文语法 简单用法
if 如果 如果(消息=窗口关闭){停止(0);}
else 否则 必须放在如果语句后面,否则{返回(1);}
switch 判断 判断(消息)为 窗口关闭{停止(0);}
do 循环循环(10){...}10次停止;循环{...}无限循环;循环{...i+2}(i=100)到100停止;循环(i<100){...i++}小于100时循环
case判断语句后使用,默认判断条件是相等,可加比较符号,逗号多条件,n~m范围条件
sub程序段 程序段(整数 a,文本b,字节 c);编写一段程序代码
end 结束程序片断代码的末尾,加上此语句表示此段程序结束。可用大括号代替
sub小程序 小程序(整数 a,文本b,字节 c);编写一段程序代码
sub函数 函数(整数 a,文本b,字节 c);编写一段程序代码
export 导出编写一段程序代码,写法与程序段相同,用于写dll时,可被其它程序调用
import 导入 导入 StrStrI 支持库 "SHELL32.DLL",2; 导入dll的函数,最后2是参数数量
include 引入 引入 "lib\odbc32.lib"; 用于引用库文件
const 常量 常量 只读打开=0; const IDYES = 6;用名称定义一个数值
return 返回 返回结果给调用者,例如返回(N1* N2);小数结果加冒号,返回(:N1*2.5);
scls子类子类{整数 变量1,变量2;小程序 登陆(账号)...结束;}
new新建角色=新建 玩家类(等级=1,性别=0);用于新建子类,可选括号内设定初始值。
object对象对象 名称=对象名;申请一个对象变量,结构是(类,标识,函数名..)
crobj创建对象创建一个对象的实例,创建对象 名称;名称=创建对象 "WinHttp.WinHttpRequest.5.1"
ctobj控件对象获取控件窗口对象的实例:对象名=控件对象 窗口名;控件对象 对象名,窗口名
datab 数据表 数据表{整数 a,文本 b[16],字节 c;}自定义表头结构
query 读取表 读取表(数据库名,数据表头,[长度]);按指定结构把数据表读取到内存中。
indexof检索检索(变量名,查询值,[长度]);快速从数组或内存中检索数值,返回序号,未找到返回-1
addin加数组加数组(变量名,表名,[字段名]);把表的字段值加入数组,用来检索
zeros清零清零(变量名,长度,[设定值]);对数组或内存数据清零或者设定统一值
call调用调用 变量名(参数...);获取链接库(dll)的某函数地址到变量中,动态调用执行
rename重命名重命名 发送消息=SendMessage; 把英文函数换成中文使用
type 类型 类型 Form{整数 hwnd;整数 WndProc;}
iif 如果是a =如果是(消息=0)10,500;相当于三态语句
while 循环在 判断条件成立则循环,直到条件不成立. 循环在(a<1000){a++;}
for 循环于 For(i=0;i<100;i++){i从0到99,每次加1,循环一百次}
foreach循环数组循环数组(ab){}可循环读或者写数组或特定数据段的值
Goto 跳到 ABC: ..... goto ABC; 开头: .... 跳到 开头;
jump 跳转等于、大于、小于..时跳转到某处,如:起点@ .... 跳转>起点;
break 跳出 在循环内使用,可跳出循环
lib 支持库 import abort lib "MSVCRT.DLL",0;
local 局部 局部 整数 图片; 局部变量大于120字节在第一行加这两个字
preserve 保留 整数 数组();重置 数组(20); 保留 数组(200);会保留原来的20个
reserve 重置 整数 数组(); 重置 数组(200);把数组重新分配200个,且数据清空
destroy 销毁 销毁 数组; 把数组或子类销毁,释放内存。
direct 置入 置入[字节 $68]; 置入[整数 $20];相当于写机器语言
order 指令 指令[6820088800];连续的十六进制机器码
movads 传址传址[$4001200,a];可以把变量值或数值写入指定内存位置
bytes 字节组 字节组 tmp[15,$20,60,128];
outfile输出文件修改编译输出文件的扩展名。例如:输出文件=exe
with 列举 列举 form{.s=1;.l=5;}等效于form.s=1;form.l=5;
alias 别名 导入 信息框 别名 MessageBoxA lib "USER32.DLL",4;
pever程序版本"1.00",或者用退格符分割的全部版权信息: "注释'\t'公司名'\t'文件描述'\t'主.次.版本'\t'工程名'\t'版权'\t'商标'\t'产品名"
程序类型默认0初级程序,1扩展DLL,2命令控制台,3函数类库。共0-7种。加8是8位,加16是16位,加32是32位,加64是64位,加128是宽字符环境。
peres 程序资源指定资源类型和文件名.例如:程序资源 10,"sec.jpg"
picon 程序图标 程序图标“sec.ico”;
第六节 文本和数组的使用
文本是一段文字数据,数组是按数据类型连续排列的数据,指针是指向内存中某个地址位置的数值。
它们都是用一个整数值来表示所在位置,操作是比较近似的。都可以用指针的语法进行操作
文本相当于一维的字节数组,数组可以用来存放更多数据,跟申请内存一样都可以作为缓冲区
二维数组跟一维数组用法类似,只是多了一组括号,数组都有动态和静态两种申请方法
固定数组申请时括号里指定固定的数值,如:整数 数一(10);小数 数三(15,3);
使用方法: 数一(3)=66; 数二=数一(5) 数三(3,0)=88.4567; 数值=数三(2,1)
动态数组是在申请时候括号里写空: 整数 数二(); 然后在代码段使用重置:
重置 数二(886679) 重置 数二(66,55);文本变量的数组其实就是二维的
例如: 文本 内容(64,10);注意文本变量和固定数组的长度必须是数值
不能是变量,例如这样就是是错的: 文本 内容; 文本 文字(数三)
文本跟字节数组和内存缓冲区的用法相同。示例代码:
文本 内容[64]="0123456789ABCDEF中华人民共和国";
整数 数值=内容
//数值得到数据缓冲区的内存地址
数值=内容(0)
//从数据缓冲区读取第一字节数值,0这个字
数值=内容%
//从数据缓冲区读取两字节数据到数值变量,01这两个字
数值=内容&
//从缓冲区读取四字节数据,0123这四个字,(0)可以不写
数值=内容(2)
//从缓冲区的2字节后读取一字节数据,2这个字
数值=内容(2)%
//从缓冲区的2字节后读取两字节数据,23这两个字
数值=内容(2)&
//从缓冲区的2字节后读取四字节数据,2345这四个字
内容% =数值
//向缓冲区写入两字节数值,01被修改
内容& =数值
//向缓冲区写入四字节数值,0123被修改
内容(2)% =数值
//向缓冲区的2字节后写入两字节数值,23被修改
内容(2)& =数值
//向缓冲区的2字节后写入四字节数值,2345被修改
读写文本内的文字使用的是数组的写法,同时也是指针的用法
数组和文本内置成员表:
中文名英文名变量类型功能作用
.指针.Ptr数组数据缓冲区的指针
.长度.len数组/文本数组成员的数量/文本变量缓冲区大小
.维数.dim数组第一维数组的长度

第七节 指针和列举语法
极语言并没有专门的指针定义,但是可以实现甚至超越指针的所有功能
例如 整数 s="sdkfskd";
这里s为整数变量,它指向的就是后面这段文字的地址
s(0)=\b;就把文本的第一个字符替换成字符b;
整数变量本身不是一段文字,通过它却能读写文字的内容
同样 整数 m=申请内存(128);
m(13)=128;就是把128这个数字写入第14字节处
a=m(10);是从第11字节处读取1字节。
由于传统编程的文本字节数组和内存数据的用法完全不同
文本只能用处理文字的函数来操作文字里面的内容数据
申请内存也只能使用复制传送内存的函数来读写数据
字节数组才可以使用数组的写法来读写数组成员数据
所以需要一种特殊的指针来突破这些限制自由的读写数据
而极语言没有这些限制,所以本身就可以实现指针的功能
同时也把其它特性比如列举功能整合到指针上
结构体类型和子类数据包含有很多成员,可以使用列举语法:
列举 人物{.等级=35;.职业=6;
物攻=.攻击;血量=.生命}

列举是记住结构体或子类的首地址,加上成员的偏移地址进行读写操作
同样在数组操作时,也会已经记住变量的首地址,可以使用仿列举来读写数据。
还使用一个文本变量来演示,示例代码:
文本 内容[64]="0123456789ABCDEF";
数值=内容(1);
使用数组获取第二字节数值
.(6)=数值
//6是指针之后偏移6字节,读写操作6这个字
.%6=数值
//6是指针之后偏移6字节,读写操作67这两个字
.&6=数值
//6是指针之后偏移6字节,读写操作6789这四个字
.!6=数值
//6是指针之后偏移6字节,读写操作6789这四个字的小数值
使用.语法跟列举的写法类似,但是文本或数据或者内存缓冲区
这些变量并没有成员变量,不能通过成员名来定位,则可以使用数值来定位偏移地址
最早是用#符号作为虚指针的偏移定位,代码写法如下:

数值=#4
//#4是指针之后偏移4字节,就是读取4567这四个字
数值=#(4)
//#(4)是指针之后偏移4字节,小括号就是读取4这一个字
数值=#[4]
//#[4]是指针之后偏移4字节,中括号就是读取45这两个字
数值=#@4
//#@4是指针之后偏移4字节,就是4这个字的位置(取文本)
数值=##4
//#4是指针之后偏移4字节,就是读取456789AB这8个字(取浮点数)
指针操作相关符号:
符号 作用 用法示例
@ 取内存地址@变量名或程序段名
< 左取符号从右边表达式的内存地址读取数据,根据左边变量类型读1到4字节
> 右写符号向右边表达式的内存地址写入数据,根据左边变量类型写1到4字节
[] 取内存处的数据值=变量[8];获取变量地址后第8字节处的字节值
[]% 取内存处的数据值=变量[8]%;获取变量地址后第8字节处的正数值
[]& 取内存处的数据值=变量[8]&;获取变量地址后第8字节处的整数值
` 取已知内存使用中括号后取1字节值:值=`;指针后移1字节
`% 取已知内存使用中括号后取2字节值:值=`%;指针后移2字节
`& 取已知内存使用中括号后取4字节值:值=`&;指针后移4字节
.? 写结果内存.?=30;向返回结果的内存地址写入一字节数值
.?2 写结果内存.?2=300;向返回结果的内存地址写入两字节数值
.?4 写结果内存.?4=888;向返回结果的内存地址写入四字节数值
()读写指定内存数据b=a(3);a(b*6+c/100)=66+d*78;非数组读写一字节
()%读写指定内存数据数=组%;组(b*6)%=值;非数组读写两字节
()&读写指定内存数据数=组(2)%;组&=值;非数组读写四字节
%读写指定内存数据数=组%;组%=值;非数组读写两字节,(0)%偏移为零时可省略(0)
&读写指定内存数据数=组&;组&=值;非数组读写四字节,(0)&偏移为零时可省略(0)
()$ 读写指定内存地址数组指针获取地址指针:地址=$460
()! 读写指定内存数据数组指针读取或写入单精度值:数=组(2)!;组(6)!=值;
()# 读写指定内存数据数组指针读取或写入双精度值:数=组(2)#;组(6)#=值;
# 取已知内存使用小括号或列举后取值(整数或小数):#4
#@ 取已知内存使用小括号或列举后取地址(文本):#@8
#() 取已知内存使用小括号或列举后取值(字节):#(12)
#[] 取已知内存使用小括号或列举后取值(正数):#[12]
## 取已知内存使用小括号或列举后取值(浮点):##16
_[] 读写已知内存使用中括号后读取或写入字节值:_(2)=60
_[]% 读写已知内存使用中括号后读取或写入2字节值:_(4)%=60
_[]& 读写已知内存使用中括号后读取或写入整数值:_(2)&=60;n=_[4]&
_[]$ 读写已知内存地址使用中括号后获取地址指针:地址=_[460]$
_[]! 读写已知内存使用中括号后读取或写入单精度值:_(4)!=60
_[]# 读写已知内存使用中括号后读取或写入双精度值:_(8)#=60
.() 读写已知内存使用小括号或列举后读取或写入字节值:.(2)=60
.% 读写已知内存使用小括号或列举后读取或写入2字节值:.%4=60
.& 读写已知内存使用小括号或列举后读取或写入整数值:.&2=60;n=.&4
.$ 读写已知内存地址使用小括号或列举后获取地址指针:地址=.$460
.! 读写已知内存使用小括号或列举后读取或写入单精度值:.!4=60
.# 读写已知内存使用小括号或列举后读取或写入双精度值:.#6=60
.+ 增加已知内存数据表使用列举时内存增加指定长度:.+10;.+长度;
.++ 增加已知内存数据表使用列举时内存增加到下一行
<读指定内存数值a < b;从b地址处取数据到a,a是字节取一字节,整形取两字节,局部变量固定4字节
>写指定内存值a>b+8;向b+8地址处写入a的数值,a是字节写一字节,整形写两字节,局部变量固定4字节
虚指针就是记住一个内存地址,使用数值定位指针之后的位置进行读写数据
用特殊符号来定义读写的数据是什么类型,而不需要进行字节组和其它类型的数据转换
比如在括号后面加 % 就可以读写两字节正数,加 & 读写四字节整数,加 # 读写八字节浮点。示例代码:
文本 内容[64]="0123456789ABCDEF";
数值=内容[0]
//从数据缓冲区读取第一字节数值,0这个字
数值=_[2]
//从缓冲区的2字节后读取一字节数据,2这个字
数值=_[2]%
//从缓冲区的2字节后读取两字节数据,23这两个字
数值=_[2]&
//从缓冲区的2字节后读取四字节数据,2345这四个字
_[4]=数值
//内容缓冲区向后4字节,就是向4这个字处写一字节
_[4]%=数值
//内容缓冲区向后4字节,百分号就是向45这两个字处写入两字节
_[4]&=数值
//内容缓冲区向后4字节,连接号就是向4567这里写入四字节数值
//==============更早期还有一种指针用法=============
全局变量是字节 整形 整数 小数等4字节以内的数值类型,可以使用左取右写符号
如 文本 a="$32A4B8C6428B";字节 b;正数 i;小数 s;整数 d;
b < a;就是取第一字节,b就得到0x32=50
b > a+2;就把a的第三位置0xB8,换成了50
i < a+3;i取得数值就是0x8B42=35650;
小数使用等号时会把右边的结果转换成小数进行赋值
s < a+4;这样写就不会进行转换,直接从内存地址处获取数据
比如游戏封包里包含有坐标值是小数的结构数据
就不能直接使用等号进行赋值,使用左取右写符号直接读写数据
第八节 置入指令和机器指令的语法规范
编程语法里有一个"指令"的语法,解释为连续的十六进制机器指令,例如: 指令[6820088800];
这些十六进制字符串就是我们常说的机器语言,严格来说它不是编程语言,应该叫它机器指令
在CRC32校验的模块里就有机器指令的书写示例,由于它比较难懂,我们主要看它的书写规范
整数 CRC0;
程序段 校验开启
  CRC0=申请内存(1024)
  指令[89C730C90FB6C1B508D1E87305352083B8EDFECD75F3ABFEC175E9];
结束

程序段 校验数据(数据,长度)
  指令[8B75088B4D0C8B3D];置入[地址 CRC0];
  指令[31C04831DB8A1E30C3C1E80833049F464975F283F0FF];
结束

机器指令穿插有置入指令的使用,因为程序里的变量函数等内存地址并不是固定的
机器指令可以使用更多寄存器去优化处理速度,减少冗余的代码,可以使用更多的指令
置入指令的功能表如下:
英文语法 中文语法 简单用法
byte字节置入[字节 15,20,40];多个用逗号隔开;
dword整数置入[整数 66,$204068AA];相当于汇编的DD
word整形置入[整形 $2040,88];相当于汇编的DW
single小数置入[小数 3.14];
string 文本置入[文本 "你好"];不带引号时是插入指定长度的0,置入[文本 50];
address地址置入[地址 窗体];地址是指变量的内存地址
local局部置入[局部 参数];局部是指局部变量的内存地址
call调用置入[调用 加法];调用一个程序段
function函数置入[函数 信息框];函数是指向外部API函数
@指针置入[@ 加法];指针是获取变量或程序段的偏移地址

第九节 跳到和跳转标记

编程语言实现编译程序使用的机器指令可以分为两种: 运算指令和跳转指令
高级语言里的运算指令用运算符号代替,而跳转指令可分为条件跳转和无条件跳转
无条件跳转在极语言里叫"跳到",就是直接跳到某个标记处;跳转语句就是指条件跳转
如果和否则语句就是对条件条件指令的封装,括号里比较两个结果大小并指定跳转条件
如果(数>值){关闭网络;退出程序}就是如果数大于值的话
执行关闭网络和退出程序这两个函数,实现原理是先比较数和值的大小,然后执行条件跳转
代码里写的是大于,编译时的指令就是它反向条件:小于或等于,跳转到}这里也就是两句代码之后
最终生成的指令是如果数小于或等于值,则跳转到关闭网络和退出程序这两句代码之后
处理器判断不符合小于或者等于这个条件,就会执行这两句代码,符合条件就跳过不执行
如果代码之后又有否则语句时该如何处理?否则{值=数}多了一层逻辑判断关系
只需要在}这里加一条直接跳到{值=数}这个代码之后,这两层逻辑关系的跳转过程也就实现了
处理器比较数和值的大小,符合大于条件就执行关闭网络和退出程序这两句代码再跳过{值=数}这句代码
符合小于或等于条件就跳过关闭网络和退出程序这两句代码去执行{值=数}这句代码
还有循环语句也是通过跳转实现的: 循环{数++}(数=10000)
这个执行过程就是先让数递增,然后把数和一万进行比较,如果不等于就直接跳到循环这里
数就会继续增加,如果等于一万就不再跳回去,处理器就会继续执行后面的代码
循环的第二种写法 循环(数<10000){数++}它会更复杂一些
先比较数和一万,反向判断如果数大于或等于一万就跳转到{数++}的后面,只有这个跳转并不能循环
还需要在数++之后插入一条指令,直接跳到循环这里继续比较大小并进行条件跳转
循环的第三种写法: 循环(10000){数++}无条件但有次数
它的实现原理是先存入条件里一万这个数,执行完{数++}之后对数值递减,结果不为0就跳回去
这种循环不用比较,递减是运算指令,同样会有各种状态标志,然后根据标志进行条件跳转
循环的第四种写法: 循环{数++}无条件也无次数
这种循环就是无限循环,常用于DLL进程或者新创建的线程里,实现原理就更为简单
执行{数++}然后无条件跳到循环这里继续执行,无条件循环只有程序关闭时才会结束
跳转指令在高级语言里几乎就用不到,极语言里可以使用,且记跳转不要和跳到语句弄错
在如果和循环语句中也可以指令这些条件,例如: 如果(数#3值) 循环(数#4值)
在数学运算之后,可以使用 跳转 #0 标记意思是如果溢出则转移到标记处
标记是在一段文字之后加上冒号或者@符号,例如下面的代码:
整数 值=数*10000;
跳转 #1 标记1
信息框(0,"结果值溢出","错误提示",错误图标)
标记1:

通常跳转条件是反向设置,不溢出就转到标记1这里,那么溢出就会弹出错误提示
实际开发中使用跳到要比跳转语法更多一些,比如实现一个特殊的循环过程
标记1:
{过程代码...}跳到 标记1

这段代码就是最简单的无限循环,再举一个替换文字中某个字符的例子 重查:
整数 数值=查找字符(文字1,\?)
如果(数值>0){数值(0)=\!;跳到 重查}

在极语言的判断条件里是不会进行赋值操作的
循环(数值=查找字符(文字1,\?))这样写只会比较数值和查找结果是否相等
循环于(整数 数值=查找字符(文字1,\?),数值>0,数值(0)=33)这样写也不行
因为循环于的第一步是申请变量并向它初始化赋值,它是不会循环执行这个赋值操作的
要实现不用跳到语句进行替换文字,就需要用特殊的指针写法:
循环(查找字符(文字1,\?))
{数值=?;数值(0)=\!}

这里?是当前查找字符的内存地址,向这里写入一字节数值
用法作用解释
跳转 = 标记相等则转移到标记
跳转 != 标记不相等则转移到标记
跳转 <> 标记不相等则转移到标记
跳转 > 标记大于则转移到标记(比较无符号数)
跳转 < 标记小于则转移到标记(比较无符号数)
跳转 <= 标记小于或等于则转移到标记(比较带符号数)
跳转 =< 标记小于或等于则转移到标记(比较带符号数)
跳转 >= 标记大于或等于则转移到标记(比较无符号数)
跳转 => 标记大于或等于则转移到标记(比较无符号数)
跳转 #0 标记若溢出则转移到标记
跳转 #1 标记不溢出则转移到标记
跳转 #2 标记小于则转移到标记(比较无符号数)
跳转 #3 标记大于或等于/进位为零则转移到标记(比较无符号数)
跳转 #4 标记相等则转移到标记
跳转 #5 标记不相等则转移到标记
跳转 #6 标记小于或等于则转移到标记(比较无符号数)
跳转 #7 标记大于则转移到标记(比较无符号数)
跳转 #8 标记结果为负则转移到标记
跳转 #9 标记结果为正则转移到标记
跳转 #A 标记奇偶位为偶则转移到标记
跳转 #B 标记奇偶位为奇则转移到标记
跳转 #C 标记小于则转移(比较带符号数)
跳转 #D 标记大于或等于则转移(比较带符号数)
跳转 #E 标记小于或等于(比较带符号数)
跳转 #F 标记大于则转移(比较带符号数)
第十节 结构体类型的使用
在申请变量的时候,特定的场合总是会申请相同的多种变量,这些变量的排列顺序也是一样的结构,所以就有了结构体这种类型
极语言里自定义结构体就叫"类型",对于特别常用的结构类型会用套装标准的格式来定义这个结构,比如下面几种结构体:
类型 坐标类{整数 左,顶;}
一个坐标点或者一个几何形体的坐标位置,都需要左和顶两个整数值去定义这个位置
在代码里写书写坐标类 坐标;就会申请坐标.左和坐标.顶这两个整数变量
类型 尺寸类{整数 宽,高;}
一个方形或者近似方形的几何形状,都需要宽和高两个整数值去定义它的大小
在代码里写书写尺寸类 大小;就会申请大小.宽和大小.高这两个整数变量
类型 矩形类{整数 左,顶,宽,高;}
一个正方形或者长方形的窗口对象,都需要左和顶以及宽和高这四个整数值去定义它的大小和位置
在代码里写书写矩形类 矩形;就会申请矩形.左、矩形.顶、矩形.宽、矩形.高这四个整数变量
类型 快捷键类{整形 行为,键值,标识;}
一个快捷键或者键盘鼠标的动作信息,都需要用数值去描述和定义动作行为(SHIFT,CTRL,Alt等)
还需要一个数值去定义具体哪一个动作(鼠标左键,右键,中键,键盘具体哪个键等等)和加速器标识符
在代码里写书写快捷键类 快捷;就会申请快捷.行为,快捷.键值和快捷.标识这三个整形变量
类型 窗口类{整数 风格,消息,类长,实长,实例,图标,光标,背景,菜单,名称;}
窗口类是创建窗口程序需要使用的类,极语言的基础程序内置模块(GUI.inc)就有使用这个类
窗口类 程序(风格=$83,实例=$400000,背景=6)申请类型时可以在后面括号里给成员赋值
类型 窗口外观类{整数 参数,实例,菜单,父窗,高度,宽度,顶部,左边,风格,名称,类名,扩展}
窗口外观类可以通过发送消息函数来创建窗口控件,在窗口创建消息到来时也能收到这个结构体
类型只能是全局变量,在类型变量名后面加小括号设定初始值,不用按顺序指定,需要指定成员名。例如:
文件框类 文件框(长度=76,路长=64,名长=64);//要注意预置初始值时,整数只能用数字,文本只能用字符串。
托盘类 托盘(长度=488,标识=7,回调=$3FF,超时=12000,信息图标=4,提示="测试程序",标题="提示",信息="鼠标右键右下角图标可以弹出菜单!");
赋值代码是在程序段之内书写,例如:文件框.标题="打开文件",用文本向整数变量赋值。
标题这个整数成员变量赋值的是"打开文件"这段文字的指针地址,它只能在编译程序时才能确定地址
还有一种情况:文件框.窗口=窗体;虽然都是整数变量,但是窗体是运行程序创建窗口之后才有具体地址
窗体虽然也是个整数变量,但是这个数值指向的地址里包含一系列窗口相关的数据信息,通常称之为对象
类型是用来连续申请多种变量,复杂的类型结构长度也是可变的
这种结构体的第一个变量通常都是长度,其成员结构也并不确定,使用组合标志来确定使用哪些成员
也有的不用长度而只用标志,指定包含哪些数据就去特定位置获取
对于复杂的结构只用指定部分成员数值时,可以使用小括号语法赋值,还有一种大括号初始化值的方法:
矩形类 矩形={10,20,800,600}这是给单个矩形指定左顶宽高四个值的写法
使用大括号初始化数值,必须给所有成员变量都指定数值,指定的数值跟成员变量的位置是对应的
矩形类 矩形[5]={
{10,20,800,600},
{30,50,600,500},
{40,60,700,400},
{50,30,900,700},
{20,10,300,200}
}
这是给五个矩形类变量初始化值的写法,五组大括号里都包含有四个变量的数值
下面是坐标类,尺寸类,矩形类的详细介绍,更多结构体详见:常用结构体类型定义
中文名字英文名称长度作用解释
坐标类POINT8用来存储坐标位置的信息
坐标类 成员表
中文英文类型作用解释
x整数水平坐标位置。
y整数垂直坐标位置。

中文名字英文名称长度作用解释
尺寸类SIZE8用来存储尺寸大小的信息
尺寸类 成员表
中文英文类型作用解释
cx整数尺寸大小的宽度。
cy整数尺寸大小的高度。

中文名字英文名称长度作用解释
矩形类RECT16用来表示一个矩形框的四条边位置。
矩形类——成员表
left整数指定矩形框左上角的x坐标
top整数指定矩形框左上角的y坐标
right整数指定矩形框右下角的x坐标
bottom整数指定矩形框右下角的y坐标

第十一节 数据表和数据库的使用
数据表是为批量读取数据库而设计的特殊类型,可以自定义数据结构,然后直接把数据读取到相应结构内存中,无需使用ADO等对象。
通常我们使用ADO对象来读写数据,由于记录集对象结构过于复杂,每行每列的类型、名称、序号、长度、缓冲区指针和长度,以及各种属性、方法等。
可是实际应用中,往往需要把记录集中的数据,再次读取到自己定义的变量(结构内存)中,所以极语言增加了直接读取数据到指定结构的功能。
只要需要的字段数据读取出来,还可以直接改变数据类型。例如数据库中字段类型为整数,程序需要把整数类型数据全部转换成小数类型。
同样的数值15,整数和单精度小数都占四字节,但是它们的数据却大不相同。程序定义为小数,数据库里是整数,就可以全部提取为小数数据
读取后的数据表读写方法为:表名(行号).字段名。如:lv=玩家表(0).等级;玩家表(3).职业=5; 表名.rows为行数 表名.cols为列数
读取数据是按查询的sql语句里的表名和字段顺序,并不是按照程序里的表名和字段名,所以程序代码里的表名和字段名是完全自定义的。
数据表结构类型,跟自定义类型(type)的性质类似,类型是不支持数组的,所以可以用数据表代替类型,当自定义数组类型使用。
长(表名)获取的是类型结构或者说每一行的数据长度,表名.len是申请的数组长度,使用前需要 重置 表名(数量)。
申请的长度数量要大于或等于查询表的记录数,读取完数据之后,得到 表名.rows 数据表的实际读取记录数。
数据表的序号是从0开始的,100行记录就是按序号0-99获取。读取的数据存放是一段连续的内存,行列是连续整齐排列的。
数据表结构的名称定义和数据库(对象)的字段定义对比:
英文语法中文语法字段类型数值范围
char字符TinyInt-128~127
byte字节TinyInt数据同上,转为正数
short整形SmallInt-32768到32767
int整数Int-2147483648到2147483647
single小数Real参见数据类型
double浮点Float参见数据类型
string 文本VarChar[16]需指定长度
date日期DateTime64位整数
long大数BigInt64位整数
binary二进制Binary[1640]需指定长度
由于数据库中没有字节类型,把TinyInt读入字节类型时,负数会变成加256的正数
中文名英文名功能作用
.指针.Ptr数据缓冲区的指针
.长度.len初始化可存储行数
.行数.rows已读取数据的行数
.列数.cols每行数据的列数
读取表query读取数据到数组缓冲区
加数组addin把某列数据加到一维数组
数组,数据表和结构体都属于全局变量,数组可以是静态和动态两种
静态数组例如: 整数 一(10);字节 二(5);动态数组括号内为空,例如 整形()
结构体类型只支持是静态数组,静态数组不支持重置,保留和销毁
数据表只支持动态数组,申请的数据是清零的,支持重置,保留和销毁
使用示例:
1.先在全局段定义一个数据表
数据表 账号表{文本 密码[16],密保[16],邮箱[16];整数 性别}
2.像数组一样重置数据表的长度,数据表可以作为动态二维数组用
重置 账号表(5000);此时账号表长度为5000,可以存入五千行数据
如果不用数据库的话,现在就可以直接直接账号表了,比如:
账号表(0).密码="ASDFGHretuivhJhj";
密码保护验证=账号表(105).密保;
邮箱地址=账号表(8868).邮箱;

3.多数情况下使用数据表,也是为了操作数据库,可以在模块列表里选中"数据库"
数据.连接(连接语句);首先要跟数据库建立连接
连接语句对于不同的数据库类型,使用不同的驱动连接字符串:
ACCACE数据库: "Driver={Microsoft Access Driver (*.mdb)};DBQ=game.mdb"
SQLite数据库: "Driver={SQLite3 ODBC Driver};Database=d:\game.db"
mssql远程连接: "Driver={SQL Server};Server=127.0.0.1;Database=game;Uid=sa;Pwd=admin;"
mssql本机连接: "Driver={SQL Server};SERVER=(local);Trusted_Connection=yes;DATABASE=game"

4.跟数据库建立连接之后,执行SQL语句,查询或更新
数据.执行("update 表名 set 字段名=数值")
数据库语句除了表名和字段可以用中文,其它都是英文,具体上网查
5.快速读取整个表
根据第一步定义的数据表结构,写好查询语句,读取到指定的数据表中
数据库模块提供有读取数据库里整个表字段的方法: 数据.读表 长度=数据.读表("账号");通过表名"账号"读取整个表,得到记录数:长度
读取表(库表,账号表,长度);这里有三个参数要重要说明一下
第一个参数库表是模块固定的一个变量,刚才读表就是把表对象地址指向库表这个变量
读取表是极语言封装的一个专用库,把整个表对象内数据读取到账号表这个定义的数据表中
第三个参数是可选参数,第二步如果没有重置表的长度,这里加上它就会自动重置长度
好处就是数据库里有多少行,就申请多少内存去存放数据,一点内存也不会浪费
还有第二种情况:如果账号表里很多字段,定义的数据表只是用到的几个,就读取指定字段
数据.执行("select 密码,密保,邮箱,性别 from 账号");指定读取这四个字段
读取表(库表,账号表);读取表的时候不用指定长度
第二步已经重置了数据表的长度,就无需指定,如果想根据数据库里实际行数去重置数据表行数
长度=数据.读取("select count(*) from 账号");注意使用的是读取,语句也不一样
重置 账号表(长度);使用重置长度,或者在读取表时候指定长度都可以
但是两者有很多区别,重置是新申请一个内存,原来申请过的话,就要使用销毁语句
而读取表时指定长度是会自动销毁原来的内存,重新申请指定长度的内存
第十二节 子类和对象的使用
子类需要通过"新建"语句创建子类才能使用,数据自动清零,只支持销毁
子类和对象支持全局变量和局部变量,实体是一个整数指针变量
子类代码需要单独一个模块文件来书写,格式为: 子类 角色类{
整数 攻击,防御,减伤;小数 横标,竖标,纵标; 程序段 函数名(参数) 整数 数字=参数 结束 }
整个子类的代码除了"子类 名称"之外,都在大括号范围内
子类代码有全局和局部变量,在子类的程序段内可以直接使用当前子类的全局变量
就是说子类内的全局变量只是在当前子类适用,不是整个工程的全局变量
在工程代码里访问子类变量是在新建实例化之后
整数 人物=新建 角色类
人物.攻击=30
左边距=人物.横标
人物.函数名(350)

如果是在子类内部,访问另一个子类,就需要提交实例化的子类变量
假如在子类内部写好了这样一个程序段
程序段 计算(角色类 人物)
  整数 伤害=(攻击-人物.防御)*1.5 -人物.减伤;

就可以再创建一个角色类,也就是游戏里人另一个人物角色
角色类 人物1=新建 角色类
人物.计算(人物1)
一号人物攻击另一个人物进行伤害计算
子类内部使用单独的"@"代表子类本身,在需要提交自身这个子类时
程序段 发动攻击(数据)
  角色类 人物=数据(15)&
人物.计算(@)
通过数据获取到另一个人物对象的指针,提交自身并调用另一个子类对象
子类的变量类型支持如下几种:
英文语法中文语法数值范围
Bool布尔真(True),假(False)
char,sbyte 字符 -128~127
byte,uchar 字节 0到256
short 整形 -32768到32767
word 短数 -32768到32767
ushort 正数 0到65535
int,uint,dword 整数 -2147483648到2147483647
single 小数 负数-3.402823E38到-1.401298E-45;正数1.401298E-45到3.402823E38
Double 浮点 负数时-1.79769313486232E308到-4.94065645841247E-324;
正数4.94065645841247E-324到1.79769313486232E308
long,ulong大数64位整数,32位编程下多用于存储或时间计算。
string 文本[16]需指定长度,可代替二进制数据
子类对象只有一个内置成员:长度
中文名英文名功能作用
.长度.len子类空间的长度
COM对象有两个内置成员:类和标识,但是这两个成员也是可选的,可以只有一个,或者两个都没有
中文名英文名变量类型功能作用
.类对象对象数据的类关联标识CLSID,或称接口
.标识对象对象数据的IID标识
子类变量均可以使用数组,下标长度必须是数字,不支持动态数组
书写子类变量时不能赋值,未新建子类时变量的数据并不存在
子类如果不包含变量,是不需要新建,不用申请内存空间
子类里面包括程序段,可以直接使用子类内部的变量
子类书写完之后,以大括号}结尾,跟命名子类后的{对应
使用子类时先要新建子类,才可以使用其变量和方法函数
子类名 名称1 = 新建 子类名; 整数 名称2=新建 子类名
也可以用赋值指向已存在的子类: 子类名 名称3=名称1;
子类变量用法:整数 数一=名称1.变量名;名称1.变量名=88;
传递参数时也可以使用子类:程序段 测试(子类名 名称3)
名称3.变量=99;变量9=名称3.读取(数据,4);名称3.写入(内容)
销毁子类方法是:销毁 名称2;子类名和子类实体要区分清楚
子类本身并没有特别定义,它可以是全局的整数变量,也可以是局部整数,也可以是整数数组。
全局变量是编译程序时,提前在数据区段申请的。局部变量仅在小程序段内有效,属于临时存储空间。
子类和数据表的变量,是在程序运行之后,去动态申请的内存区块。子类使用前需要使用 新建 子类名称
数据表相当于自定义二维数组,使用前需要先“重置”数组的长度,该长度不能小于所读取数据的行数。
数据表可以使用数组的重置、保留和销毁方法,而子类只可以使用新建和销毁这两个方法。
子类和数据表的区别:
子类申请的内存区域并不是清零的,所以在新建的时候,可以用:玩家=新建 角色类(等级=1,职业=2,性别=1);
去设置子类变量的数值,未清零的内存数据是随机的,也就是说子类变量在新建子类时数值是不确定的。)
而数据表在重置长度后,内存区域是清零的,所有变量此时值都是0,数据表也可以用作自定义数组。
成员变量使用方法是:玩家表(0).性别,括号内是行号也就是数组的标号,是从0开始计数的。
子类变量的使用方法是:玩家.性别。如果申请的子类变量是数组形式,如:角色类 玩家()
也可以像数组一样,先 重置 玩家(1000),玩家(0)=新建 角色类; 玩家(0).性别=1;
但是销毁只能是先销毁一个成员,销毁 玩家(0)。或者 N=玩家(0);销毁 N;
子类变量在子类内部可以不加前缀直接访问,如:等级=100;职业=3;xb=性别等等。
COM对象申请可以在全局和局部,方法是:对象 名称=对象名;也可以用对象结构。例如:对象 任务=任务栏类;也可以写成下面的代码形式
对象 任务($44F3FD566DFDD011958A006097C9A090,$42F3FD566DFDD011958A006097C9A090,接口,计数,释放,初始化,添加,删除,激活,活动)
第一项是对象数据和代码关联的类接口CLSID,第二项是与对象通信的接口标识符的IID
这两项为十六进制转换写法,不需要CLSID或者IID时数据可以为空,也可以使用简写:
很多系统对象的后面部分相同,前4字节不同,如:$0B01000000000000C000000000000046
可以只写前面部分:$0B01,注意这里只写了两字节,后面是00就可以不写,还有一种简写:
比如上面申请对象使用的CLSID和IID后面部分相同,只有第一字节不同,第二项可以写成:$42
极语言库里已有的COM对象结构在说明书里有使用方法
例如:任务栏类,链接类,存储类,可以查看具体说明
申请完对象变量,需要使用创建对象去创建对象实体
语法是:创建对象 任务;任务.初始化;任务.添加(窗口)
任务.删除(窗口);任务.激活(窗口),任务.活动(窗口)
对象不使用新建和销毁,释放对象写法是:任务.释放;
第十三节 常量的申请和使用
编程所用到的数值非常多,在调用函数或者实现某个功能时,需要定义某个数值代表什么含义。
调用API函数都会定义每项参数可以使用哪些数值,返回值的数值又代表什么含义,由于这些数值太多太难记。
极语言根据这些数值对应作用进行中文命名,看到这些中文名称就能理解它的使用,常量的名称其实是代表某个数值。
很多时候这些数值是某些选项的组合,比如信息框的图标样式就是多种组合,例如: [确定取消 + 问号图标]。
可以看出是“确定”“取消”两个按钮加上问号图标的组合,这里为什么要用中括号呢?
中括号是在编译时候对括号里的运算表达式进行计算,最终得到一个数值。
不加中括号就不计算,而是编译成运算指令,在程序运行的时候再进行运算处理。
常量通常都是数值,都是可以提前进行计算。所以使用常量或者已知数字进行进行时要加中括号
中括号里面可以嵌套中括号,但是不要嵌套小括号,遇到小括号就会编译成运算指令。 中括号表达式可以使用的运算符号有:+加、-减、*乘、/除、|或、&与、!非、^异或、~乘方。
其中!非运算也就是按位取反,如:!1=-2。~乘方只能在中括号表达式里有效。示例:
常量 样式=[6+[35-12]*150-[60/12]];注意这种计算不是按先乘除后加减进行运算
需要优先计算就要多加一层中括号,通常使用中括号的表达式都不会太复杂,所以是按顺序优先
信息框示例:
如果(信息框(0,"中国","你好",[确定取消 + 问号图标])=选了确定)退出程序
信息框不只是按钮和图标样式可以选择,还可以通过返回值,知道用户点击了哪个按钮
不指定按钮也有一个确定按钮和右上角的X关闭,包括按ESC键也会关闭对话框
只有一个按钮时,点X或者按ESC都是返回确定按钮这个数值1,如果有多个按钮
点X或者按ESC通常是返回最后的按钮,取消或者否,对于Win10以前的系统,点X返回关闭8
按ESC返回结果也不一样,为了兼容不同系统,就可以判断点了确定按钮如何处理
否则如何处理,无论是点的取消或者否还是点了X还是按了Esc,都按否则进行处理

信息框、消息框、延时框——图标按钮样式

中文名字常量数值英文名称释义
确定取消$000001MB_OKCANCEL弹出的信息框包含“确定”和“取消”两个按钮
中止重试$000002MB_ABORTRETRYIGNORE弹出的信息框包含“中止”、“重试”和“放弃”三个按钮
是否取消$000003MB_YESNOCANCEL弹出的信息框包含“是”、“否”和“取消”三个按钮
弹出是否$000004MB_YESNO弹出的信息框包含“是”和“否”两个按钮
重试取消$000005MB_RETRYCANCEL弹出的信息框包含“重试”和“取消”两个按钮
错误图标$000010MB_ICONHAND弹出的信息框包含红色的“错号”图标
问号图标$000020MB_ICONQUESTION弹出的信息框包含蓝色的“问号”图标
惊叹图标$000030MB_ICONEXCLAMATION弹出的信息框包含黄色三角的“惊叹”图标
信息图标$000040MB_ICONASTERISK弹出的信息框包含蓝色的“i符号”图标
用户图标$000080MB_USERICON弹出的信息框可以显示用户自定义图标
弹出系统$001000MB_SYSTEMMODAL弹出窗口会置顶,且标题栏有系统图标。
弹出任务$002000MB_TASKMODAL弹出窗口到任务栏显示
帮助按钮$004000MB_HELP弹出窗口包含“帮助”按钮。
弹出置前$010000MB_SETFOREGROUND消息框变为前景窗口。
默认桌面$020000MB_DEFAULT_DESKTOP_ONLY 当前桌面为默认桌面才会返回
弹出置顶$040000MB_TOPMOST消息框置顶显示。
文字居右$080000MB_RIGHT消息框的内容文字居右显示。
图标居右$100000MB_RTLREADING内容文字在左边,图标在右边,标题文字也在右边
弹出服务$200000MB_SERVICE_NOTIFICATION弹出的消息框即使没有登陆到系统,也会显示。

信息框、消息框、延时框——点击按钮返回值

中文名字常量数值英文名称释义
选了确定1IDOK 点击选中了"确定"按钮
选了取消2IDCANCEL 点击选中了"取消"按钮
选了中止3IDABORT 点击选中了"中止"按钮
选了重试4IDRETRY 点击选中了"重试"按钮
选了忽略5IDIGNORE 点击选中了"忽略"按钮
选了是6IDYES 点击选中了"是"按钮
选了否7IDNO 点击选中了"否"按钮
选了关闭8IDCLOSE 点击选中了"关闭"按钮
选了帮助9IDHELP 点击选中了"帮助"按钮
窗口(对话框/控件)——发送/接收消息:
窗口消息可以使用发送消息向窗口发送消息,也可以在窗体消息这里处理接收的消息
初级程序默认的代码都有窗体消息这个程序段,在这里可以控制键盘鼠标等各种消息
程序段 窗体消息(窗口,消息,参数,数据)
  文本 内容[16]="数值"-数据;
  判断(消息)为 窗口创建{信息框(0,"创建")}
  为 程序关闭{停止(0)}
  为 窗口移动{窗体~内容}
  为 窗口缩放{窗体~内容}
  为 单击左键{左键点击(参数)}
  否则 处理窗口(窗口,消息,参数,数据)
结束
上面这段代码是在收到窗口创建消息时, 弹出信息框;在收到程序关闭消息时停止程序运行
在收到窗口移动消息时,显示窗口的位置(左顶);在收到窗口缩放消息时,显示窗口的大小(宽高)
当然也可以使用发送消息给窗口,让程序来处理;发送消息(窗体,窗口关闭,0,0)
有些消息主要常用来接收处理,例如窗口改变或键盘鼠标等;有些消息就常用来发送,如获取设置文本等
中文名字常量数值英文名称释义
窗口创建1WM_CREATE新建一个窗口。③参数:0;④数据:创建窗口的数据结构
程序关闭2WM_DESTROY销毁一个窗口。③参数:0;④数据:0
窗口移动3WM_MOVE移动一个窗口。③参数:0;④数据:xy坐标(各占16位)
窗口缩放5WM_SIZE改变一个窗口的大小。③参数:0=已调整;1最小化;2最大化,3其它窗口还原;4其它窗口最大化;④数据:宽高大小(各16位)
窗口激活6WM_ACTIVATE一个窗口被激活或失去激活状态。③参数:0关闭,1非鼠标激活,2鼠标激活;④数据:参数为0是激活窗口,非0是停用的窗口
获得焦点7WM_SETFOCUS将键盘焦点转向一个窗口。③参数:失去焦点的窗口,可为0;④数据:0
失去焦点8WM_KILLFOCUS使一个窗口失去焦点。③参数:接收焦点的窗口,可为0;④数据:0
可用状态10WM_ENABLE使一个窗口处于可用状态。③参数:0为禁用,非零启用;④数据:0
是否重绘11WM_SETREDRAW设置窗口是否能重绘。③参数:0不重绘,非0重绘;④数据:0
窗口重绘15WM_PAINT当需要绘制一部分应用窗口的时候,发送本消息给所有者程序。③参数:0;④数据:0
窗口关闭$0010WM_CLOSE用户关闭窗口时会发送本消息,紧接着会发送程序关闭消息。③参数:0;④数据:0
消息结束$0012WM_QUIT提交退出函数提交一个代码数值,程序收到此消息,用以关闭消息循环,结束程序的运行。③参数:退出码;④数据:0
窗口恢复$0013WM_QUERYOPEN最小化的窗口即将被恢复以前的大小位置。③参数:0;④数据:0
擦除背景$0014WM_ERASEBKGND当一个窗口的背景必须被擦除时本消息会被触发(如:窗口大小改变时)。③参数:设备;④数据:0
显示窗口$0018WM_SHOWWINDOW发送本消息给一个窗口,以便隐藏或显示该窗口。③参数:0隐藏,非0显示;④数据:0不变,1最小化,2最大化,3正在还原,4已被还原
界面激活$001CWM_ACTIVATEAPP窗口进程激活状态改动,正被激活的窗口属于不同的应用程序。③参数:0停用,非0激活;④数据:线程标识
模态窗口$001FWM_CANCELMODE发送本消息来取消某种正在进行的模态(操作)(如鼠示捕获),例如:启动一个模态窗口时,父窗会收到本消息;③参数:0;④数据:0
拖放小窗$0037WM_QUERYDRAGICON本消息发送给最小化的窗口,当该窗口将被拖放而其窗口类中没有定义图标,应用程序能返回一个图标或光标的句柄。③参数:0;④数据:0
显存不足$0041WM_COMPACTING显示内存已经很少了。③参数:时间比;④数据:0。例如,0x8000表示压缩内存所用的 CPU 时间的 50%。
首创窗口$0081WM_NCCREATE当某窗口首次被创建时,本消息在WM_CREATE消息发送前发送。③参数:0;④数据:创建窗口的全部数据
窗口初始$0110WM_INITDIALOG在某对话框程序被显示前发送本消息给该对话框程序,通常用本消息对控件进行一些初始化工作和执行其它任务。③参数:控件;④数据:其它
循环调整$231WM_ENTERSIZEMOVE当某窗口进入移动或调整大小的模式循环时,本消息发送到该窗口。③参数:0;④数据:0
退出调整$232WM_EXITSIZEMOVE确定用户改变窗口大小或改变窗口位置的事件是何时完成的。③参数:0;④数据:0
窗口绘制$317WM_PRINT请求窗口在指定的设备(如打印机)绘制自身。③参数:设备;④数据:1绘可见窗口,2绘非工作区,4绘工作区,8擦除背景,16绘所有可见子窗,32绘所有窗口
绘客户区$318WM_PRINTCLIENT请求窗口在指定的设备(如打印机)绘制其客户区。③参数:设备;④数据:1绘可见窗口,2绘非工作区,4绘工作区,8擦除背景,16绘所有可见子窗,32绘所有窗口

读写控件文本/字体/热键——控制消息:

1.读写窗体/标签/文本框/按钮/单选钮/复选钮/分组框/组合框/高级组合框里的文字内容
发送消息(窗体,设置文本,0,"标题名称")  这个代码可以修改窗口的标题栏内容
文本 内容[64];整数 长度=发送消息(文本框1,获取文本,64,内容)  这个代码可以获取编辑框的内容
获取文本时第三参数要指定缓冲区的长度,并不是文字长度,返回值是文本内容的真实长度,接收文本的缓冲区应该用一个比较大的容量
内容这个缓冲区长度为64,那就只能获取63字节数据,因为文字内容必须以0结尾,如果填满了64字节,就会认为后面还有文字没有读取完
如果文本框内容比较多,不清楚有多少字,就需要先获取文字的长度,然后申请相应长度的内存缓冲区
整数 长度=发送消息(文本框1,文本长度,0,0) 真实长度不计算文字末尾的0
整数 内存=申请内存(长度+1) 申请的内存长度要比真实长度多一字节
如果是宽字符模式,需要多加三字节;动态申请内存缓冲区不能使用 文本 内容[长度]这种方法,只能用申请内存相关的函数
发送消息(文本框1,获取文本,长度+1,内存) 指定缓冲区的长度也要加上一
释放内存(内存) 内存使用完之后,要释放内存。注意内存这个变量使用了三次
2.修改控件的字体
创建字体可以使用创建字体和新建字体这两个函数,新建字体需要使用逻辑字体类这个结构体
逻辑字体类 字号(高度=-12,名字="微软雅黑")添加名为字号的逻辑字体类,高度也就是字体大小,使用负数表示
申请一个整数变量比如叫字体,然后在窗体启动时用 字体= 新建字体(字号),也就创建了一个字体
还有一种不用逻辑字体的创建方法:字体=创建字体(15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "宋体")
第一个参数逻辑高度是字体大小,详见:创建字体(逻辑高度,字符宽度,擒纵角,取向角,粗细,斜体,下划线,删除线,字符集,输出精度,剪辑精度,输出质量,间距和字体,字体名称)
创建字体函数不支持微软雅黑等字体,参数也太多,建议使用新建字体这个函数,只需要逻辑字体类这一个结构体参数即可创建
创建字体之后可以使用发送消息(按钮1,指定字体,字体,0)来指定标签,文本框,列表框,按钮等控件的字体
3.为窗口指定热键
发送消息(窗体,设置热键,0x71,0) 当用户按下F2键时,系统将激活窗口。键码参见键盘事件
第三参数的低8位是键码,高8位是组合类型:1 SHIFT,2 CTRL,4 ALT,8 扩展;参数为0取消热键关联
发送消息(窗体,设置热键,0x271,0) F2键前面加上2,高位就是CTRL,按下CTRL+F2就能激活主窗口 当用户按下热键时,系统会生成一条 单击窗口 消息,交给处理窗口函数,会弹出该窗口;设置热键不能指定子窗口
中文名字常量数值英文名称释义
设置文本12WM_SETTEXT设置一个窗口的文本。③参数:0;④数据:内容文本
获取文本13WM_GETTEXT复制窗口的文本到缓冲区。③参数:最大长度;④数据:文本缓冲区
文本长度14WM_GETTEXTLENGTH得到窗口的文本长度(不含结束符)。③参数:0;④数据:0
指定字体$30WM_SETFONT指定控件所用字体。③参数:字体;④数据:0不重绘;非0立即重绘
获取字体$31WM_GETFONT得到当前控件绘制其文本所用的字体。③参数:0;④数据:0
设置热键$32WM_SETHOTKEY为某窗口关联一个热键。③参数:键码/高位1SHIFT,2CTRL,4ALT,8扩展;④数据:0
获取热键$33WM_GETHOTKEY为某窗口关联一个热键。③参数:0;④数据:0;返回值:键码/高位1SHIFT,2CTRL,4ALT,8扩展
单击窗口$112WM_SYSCOMMAND当用户按下 设置热键 指定的按键。③参数:键值;④数据:窗口
热键消息$312WM_HOTKEY当用户按下由注册热键函数注册的热键时。③参数:-1窗口,-2桌面;④数据:低字=1Alt,2CTRL,4SHIFT,8WIN;高字=键码
命令消息$319WM_APPCOMMAND用户点击应用程序命令按钮或键盘命令键(如导航刷新搜索)③参数:窗口;④数据:命令/设备/按键

窗口外观——控制消息:

整数 图标=加载图像(0,"sec.ico",图标类型,0,0,$10);从文件中加载一个图标,$10标志是从文件加载
发送消息(窗体,设置图标,0,图标);修改窗口标题栏显示的小图标,0是小图标,1是大图标
删除对象(图标);删除加载的图标对象,从而释放读取图标使用的内存
加载图标可以使用系统固有的图标,例如把图标换成整数 图标=载入图标(0,32518)
显示的就是一个盾牌图标;32512默认图标,32513错误图标,32514问号图标,32515警告图标,32516,信息图标
中文名字常量数值英文名称释义
窗口改变$0024WM_GETMINMAXINFO当窗口将要改变大小或位置时,由系统发送本消息给窗口,用户拖动一个可重置大小的窗口时便会发出本消息。③参数:0;④数据:MINMAXINFO结构
图标重绘$0026WM_PAINTICON当一个最小化的窗口图标将被重绘时发送本消息。③参数:0;④数据:0
图标背景$0027WM_ICONERASEBKGND本消息发送给某个最小化的窗口,仅当它在画图标前它的背景必须被重画。③参数:0;④数据:0
切换焦点$0028WM_NEXTDLGCTL发送本消息给一个对话框程序窗口过程,以便在各控件间设置键盘焦点位置。③参数:0下个控件,非0上个控件;④数据:0参数为方向,非0参数为控件对象
打印变化$002AWM_SPOOLERSTATUS每当打印管理列队增加或减少一条作业时就会发出本消息。③参数:状态;④数据:作业数
外观改变$002BWM_DRAWITEM 按钮、组合框、列表框、菜单的外观改变时会发送本消息给这些控件的所有者。③参数:控件号;④数据:DRAWITEMSTRUCT 结构
改变窗口$0046WM_WINDOWPOSCHANGING本消息会发送给那些大小和位置(Z_Order)将被改变的窗口,以调用设置窗口函数或其它窗口管理函数。③参数:0;④数据: WINDOWPOS 结构
窗口变化$0047WM_WINDOWPOSCHANGED本消息会发送给那些大小和位置(Z_Order)已被改变的窗口,以调用设置窗口函数或其它窗口管理函数。③参数:0;④数据: WINDOWPOS 结构
改变风格$007CWM_STYLECHANGING将要改变一个或多个窗口的风格时,发送本消息给那个窗口。③参数:-16窗口样式,-20扩展样式;④数据:STYLESTRUCT 结构
风格变化$007DWM_STYLECHANGED改变一个或多个窗口的风格后,发送本消息给那个窗口。③参数:-16窗口样式,-20扩展样式;④数据:STYLESTRUCT 结构
窗口图标$007FWM_GETICON本消息发送给某个窗口,用于返回与某窗口有关联的大图标或小图标的句柄。③参数:0小图标,1大图标,2生成图标;④数据:DPI大小(16*16)
设置图标$0080WM_SETICON应用程序发送本消息让一个新的大图标或小图标与某窗口相关联。③参数:0小图标,1大图标;④数据:图标;窗口标题栏是小图标,“Alt+Tab”对话框中显示大图标

图片类型

中文名字常量英文名称释义
位图类型0IMAGE_BITMAP位图类型(bmp)
图标类型1IMAGE_ICON图标类型(ico)
光标类型2IMAGE_CURSOR光标类型(cur)
强图类型3IMAGE_ENHMETAFILE强图类型(emf)

修改窗口类的值——控制外观

示例1:修改窗口背景颜色 整数 红刷=创建画刷($FF);创建一个红色的画刷(用来填充颜色)
修改类值(窗体, 类背景色, 红刷);修改窗体的背景颜色为红色
重绘矩形(窗体, 0, 1)重绘窗体擦除背景,从而显示新的背景色
画刷可以使用系统固有的,有0-15种,把红刷改成整数 红刷=取控件数(窗体,1,0,0)
这里假定文本框的编号为1,在文本框里输入0-15的数字,可以修改查看修改窗体背景颜色的效果
示例2:修改窗口光标
整数 光标=加载图像(0,"sec.cur",光标类型,0,0,$10);从文件中加载一个图标,$10标志是从文件加载
修改类值(窗体,窗类光标,光标);修改窗体的光标为指定的cur文件
删除对象(图标);删除加载的图标对象,从而释放读取图标使用的内存
加载光标可以使用系统固有的光标,例如把光标换成整数 光标=载入光标(0,32649)
显示的就是一个手形光标;32512箭头,32513文本I,32514转圈(忙),32515十字,32516,向上
32631笔形,32642左上右下对角线,32643右上左下对角线,32644水平调整,32645垂直调整
32646移动光标,32648禁止,32649链接,32650后台工作,32651帮助,32671定位,32672人员
中文名字常量数值英文名称释义
类菜单名-8GCL_MENUNAME获取/替换菜单名字符串的地址。
类背景色-10GCL_HBRBACKGROUND获取/替换与类有关的背景刷子的句柄。
窗类光标-12GCL_HCURSOR获取/替换与类有关的光标的句柄。
窗类图标-14GCL_HICON获取/替换与类有关的图标的句柄。
窗类模块-16GCL_HMODULE获取/替换注册类的模块的句柄。
窗类内存-18GCL_CBWNDEXTRA获得/修改与类中的每个窗口相关的额外窗口中内存空间的字节大小
窗类尺寸-20GCL_CBCLSEXTRA设置与类相关的尺寸的大小。不改变己分配的额外字节数。
窗类过程-24GCL_WNDPROC获取/替换与窗口类有关的窗口过程的地址。
窗类风格-26GCL_STYLE获取/替换窗口类的风格位。
窗类原子-32GCW_ATOM获得一个唯一标识窗口类的原子值
类小图标-34GCL_HICONSM获得与类有关的小图标句柄。

修改窗口属性——外观指针

改窗口值(窗体,窗口过程,@消息函数);为窗口过程设置新的函数地址。
改窗口值(窗体,窗口扩展,$200);修改窗体的扩展窗口风格为3D边框
改窗口值(窗体,窗口数值,数据);修改窗体的定义数值为指定数据
中文名字常量数值英文名称释义
窗口过程-4GWL_WNDPROC获得/修改窗口过程的地址
窗口实例-6GWL_HINSTANCE获得/修改应用事例的句柄。
窗口父级-8GWL_HWNDPARENT获得/修改父窗口句柄。
窗口风格-16GWL_STYLE获/修改得窗口风格。
窗口扩展-20GWL_EXSTYLE获得/修改扩展窗口风格。
窗口数值-21GWL_USERDATA获得/修改与窗口有关的定义数值。
窗口标识-12GWL_ID获得/修改窗口标识。
对话消息0DWL_MSGRESULT获得/修改在对话框过程中一个消息处理的返回值。
对话过程4DWL_DLGPROC获得/修改对话框过程的地址
对话定义8DWL_USER获得/修改应用程序私有的额外信息,例如一个句柄或指针。

修改窗口显示

显隐窗口(窗体,窗口最小);激活窗口并将其最小化。
显隐窗口(窗体,窗口隐藏);隐藏窗口并激活其他窗口
显隐窗口(窗体,窗口显示);激活窗口并恢复原来的尺寸。
中文名字常量数值英文名称释义
窗口隐藏0SW_HIDE隐藏窗口并激活其他窗口。常用于显隐窗口
恢复原来1SW_SHOWNORMAL激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。
窗口最小2SW_SHOWMINIMIZED激活窗口并将其最小化。
窗口最大3SW_SHOWMAXIMIZED激活窗口并将其最大化
恢复最近4SW_SHOWNOACTIVATE以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态。
窗口显示5SW_SHOW在窗口原来的位置以原来的尺寸激活和显示窗口。
最小切换6SW_MINIMIZE最小化指定的窗口并且激活在Z序中的下一个顶层窗口。
最小激活7SW_SHOWMINNOACTIVE窗口最小化,激活窗口仍然维持激活状态。
恢复激活8SW_SHOWNA以窗口原来的状态显示窗口。激活窗口仍然维持激活状态。
激活原来9SW_RESTORE激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。
恢复设定10SW_SHOWDEFAULT依据在STARTUPINFO结构中指定的SW_FLAG标志设定显示状态

修改窗口大小位置和显示隐藏

设置窗口(标签1,0,0,0,0,0,$23);在窗口周围画一个边框。尺寸位置不变
设置窗口(窗口,0,左,顶,0,0,1);设置窗口的位置,忽略宽高
设置窗口(窗口,0,0,0,宽,高,2);设置窗口的宽高,忽略位置。
中文名字常量数值英文名称释义
保持尺寸$0001SWP_NOSIZE维持当前尺寸(忽略宽高参数)。常用于设置窗口
保持位置$0002SWP_NOMOVE维持当前位置(忽略左顶参数)。
保持层序$0004SWP_NOZORDER维持当前Z序。
保持图像$0008SWP_NOREDRAW不重画改变的内容。如果设置了这个标志,则不发生任何重画动作。
保持状态$0010SWP_NOACTIVATE不激活窗口。
增加边框$0020SWP_DRAWFRAME在窗口周围画一个边框(定义在窗口类描述中)。
显现窗口$0040SWP_SHOWWINDOW显示窗口
隐藏窗口$0080SWP_HIDEWINDOW隐藏窗口
清空窗口$0100SWP_NOCOPYBITS清除客户区窗口的所有内容。
不变顺序$0200SWP_NOREPOSITION不改变z序中的所有者窗口的位置。
防止同步$2000SWP_DEFERERASE防止产生同步消息。
防止死锁$4000SWP_ASYNCWINDOWPOS如果进程没有窗口,系统会向有窗口的线程发出消息。防止在其他线程处理消息时发生死锁。

修改窗口层序

设置窗口(标签1,0,0,0,0,0,3);设置窗口显示在上层。尺寸位置不变
设置窗口(标签1,-1,0,0,0,0,3);设置窗口显示在最顶层。尺寸位置不变
中文名字常量数值英文名称释义
移至顶序0HWND_TOP将窗口置于Z序的顶部。常用于设置窗口
移至底层1HWND_BOTTOM将窗口置于Z序的底部。顶层窗口失去顶级位置,并且被置在其他窗口的底部。
移至顶层-1HWND_TOPMOST将窗口置于所有非顶层窗口之上。即使窗口未被激活窗口也将保持顶级位置。
移至顶后-2HWND_NOTOPMOST将窗口置于所有非顶层窗口之上(即在所有顶层窗口之后)。

查找指定窗口的指定关系窗口

整数 窗口=获取窗口(窗体,同级首个);查找窗体同级别第一个窗口
整数 窗口=获取窗口(窗体,同级最后);查找窗体同级别最后一个窗口
使用更多的是查找窗口:整数 窗口=查找窗口(0,窗口名)
中文名字常量数值英文名称释义
同级首个0GW_HWNDFIRST同级别第一个,常用于GetWindow
同级最后1GW_HWNDLAST同级别最后一个
同级下个2GW_HWNDNEXT同级别下一个
同级上个3GW_HWNDPREV同级别上一个
从主窗口4GW_OWNER属主窗口
属子窗口5GW_CHILD查子窗口
属弹出窗6GW_ENABLEDPOPUP查弹出窗

绘制控件——通知消息:

如果是指定多个或多种控件的字体,可以在绘制控件消息时指定,比如判断(消息) 为 绘制编辑{发送消息(数据,指定字体,0,字体)}
绘制不同的控件可以指定不同的字体,如果要所有控件都指定同一种字体,可以用 为 绘制弹窗 ~ 绘制静态{发送消息(数据,指定字体,0,字体)}
使用波浪线符号是从绘制弹窗 到 绘制静态的消息,包括弹窗,编辑框,列表框,按钮,对话框,滚动条,静态标签框这些控件都指定为同一字体
在绘制控件的时候,第三参数为控件的设备,所以也可以用选择对象(参数,字体)来修改字体,但是这个方法不支持按钮一类的控件
也可以在绘制控件时指定文字颜色和背景颜色,如:文本改色(参数,$C0FFFF) 改背景色(参数,$C0FF30)
改背景色适合编辑框,其它控件可以使用创建画刷($C0FFC0)来修改背景,或者使用固有对象(5)让背景透明,这里5是空画刷
绘制弹窗$0132WM_CTLCOLORMSGBOX系统绘制消息框前发送本消息给消息框的所有者窗口,可用来设置消息框的文本和背景色③参数:设备;④数据:控件
绘制编辑$0133WM_CTLCOLOREDIT当一个编辑框控件将要被绘制时,发送本消息给其父窗;可用来设置编辑框的文本和背景色③参数:设备;④数据:控件
绘制列表$0134WM_CTLCOLORLISTBOX当一个列表框控件将要被绘制前,发送本消息给其父窗;可用来设置列表框的文本和背景色③参数:设备;④数据:控件
绘制按钮$0135WM_CTLCOLORBTN绘制按钮的背景色③参数:设备;④数据:控件
绘制对话$0136WM_CTLCOLORDLG绘制对话框的背景色③参数:设备;④数据:控件
绘制滚条$0137WM_CTLCOLORSCROLLBAR绘制滚动条的背景色③参数:设备;④数据:控件
绘制静态$0138WM_CTLCOLORSTATIC绘制一个静态控件的背景色③参数:设备;④数据:控件

控件事件——控制消息:

判断(消息) 为 控件事件 公共事件(数据)调用公共事件这段程序代码,④数据:包含多项事件信息的数据
程序段 公共事件(数据)
  整数 窗口=数据&,参数=.&4,事件=.&8
  处理窗口(窗口,控件事件,参数,数据)
结束

数据地址里第一个整数是窗口,第二个整数是控件编号(对应窗体消息的参数),第三个整数是控件事件
这种事件是用负数表示,如-2是单击左键,-3是双击左键,具体参照下面:公用控件事件这个表
中文名字常量数值英文名称释义
绘制控件$0019WM_CTLCOLOR在每个控件开始绘制之前,都会向其父窗口发送此消息,可用来设置控件显示文本的前景色、背景色以及字体。③参数:设备;④数据:控件
控件创建$002CWM_MEASUREITEM按钮、组合框、列表框、列表控件、菜单项被创建时会发送本消息给这些控件的所有者。③参数:控件号;④数据:MEASUREITEMSTRUCT 结构
删除项目$002DWM_DELETEITEM 列表框或组合框被销毁或删除清空某些项时,会发送本消息给这些控件的所有者。③参数:控件号;④数据: DELETEITEMSTRUCT 结构
列表按键$002EWM_VKEYTOITEM响应按键风格的列表框会发出本消息给其所有者,以便响应键盘按下消息。③参数:键码/位置;④数据:列表框
列表字符$002FWM_CHARTOITEM 响应按键风格的列表框会发送本消息给其所有者,以便响应键入字符消息。③参数:键码/位置;④数据:列表框
新项位置$0039WM_COMPAREITEM可发送本消息来确定组合框(CBS_SORT)或列表框(LBS_SORT)中新增项的相对位置。③参数:控件号;④数据:COMPAREITEMSTRUCT 结构
串口事件$0044WM_COMMNOTIFYWin3.1中,当串口事件产生时,通讯设备驱动程序发送消息本消息给系统,指示输入输出队列的状态。
控件事件$004EWM_NOTIFY当某控件的某事件已发生或该控件需得到一些信息时,发送本消息给其父窗。③参数:控件号;④数据:NMHDR 结构
帮助按键$0053WM_HELP按下后,若某菜单是激活的,就发给此窗口关联的菜单;否则就发送给有焦点的窗口;若当前都没有焦点,发给当前激活的窗口。③参数:0;④数据:HELPINFO 结构
消息判断$0055WM_NOTIFYFORMAT公用控件、自定义控件和其父窗通过本消息判断控件在WM_NOTIFY通知消息中是使用ANSI还是UNICODE。③参数:窗口;④数据:3控件,4父窗;返回值:1ANSi,2UNICODE
定时事件$0113WM_TIMER发生了定时器事件。③参数:编号;④数据:回调函数
水平滚动$0114WM_HSCROLL当窗口的标准水平滚动条产生一个滚动事件时,发送本消息给该窗口。③参数:低位=0点左键,1点右/下键,2点滑块左,3点滑块右,4按住滑块,
5拖动滑块,6按home,7按END,8释放按键;高位=按住拖动位置;④数据:控件
垂直滚动$0115WM_VSCROLL当窗口的标准垂直滚动条产生一个滚动事件时,发送本消息给该窗口。③参数:低位=0点上键,1点下键,2点滑块上方,3点滑块下方,4按住滑块,
5拖动滑块,6按home,7按END,8释放按键;高位=按住拖动位置;④数据:控件
调整大小$214WM_SIZING当用户正在调整窗口大小时,发送本消息给窗口;③参数:1左边缘,2右边缘,3上边缘,4左上角,5右上角,下边缘,7左下角,8右下角;④数据:矩形类

公用控件事件——通知消息:

发生控件事件时,若无特别说明④数据:传递NMHDR 结构的数据
中文名字常量数值英文名称释义
控件内存不足-1NM_OUTOFMEMORY内存不足,操作不能完成
控件单击左键-2NM_CLICK用户在控件上点击了鼠标左键
控件双击左键-3NM_DBLCLK用户在控件上双击了鼠标左键
控件按下回车-4NM_RETURN控件获得键盘焦点并按下回车键
控件单击右键-5NM_RCLICK用户在控件上点击了鼠标右键
控件双击右键-6NM_RDBLCLK用户在控件上双击了鼠标右键
控件得到焦点-7NM_SETFOCUS控件收到输入焦点
控件失去焦点-8NM_KILLFOCUS用户失去输入焦点
控件自行绘制-12NM_CUSTOMDRAW通知控件的父窗口有关自定义绘制操作的信息。
控件鼠标掠过-13NM_HOVER用户的鼠标掠过控件
控件命中测试-14NM_NCHITTEST当控件收到消息时,由 伸缩条 控件发送。④数据:NMMOUSE 结构
控件按下键盘-15NM_KEYDOWN控件获得键盘焦点并按下某键
控件释放鼠标-16NM_RELEASEDCAPTURE控件要释放鼠标捕捉
控件设置光标-17NM_SETCURSOR控件响应消息要设置光标
控件键入字符-18NM_CHAR字符键被处理后由控件发送
控件工具提示-19NM_TOOLTIPSCREATED通知控件的父窗口控件已创建工具提示控件。④数据:NMTOOLTIPSCREATED 结构
控件鼠标左键-20NM_LDOWN通知控件的父窗口已按下鼠标左键。
控件鼠标右键-21NM_RDOWN不支持此通知代码。
控件主题更改-22NM_THEMECHANGED通知控件的父窗口主题已更改。
控件字体更改-23NM_FONTCHANGED当控件更改字体时,由列表视图控件发送。
控件自定文本-24NM_CUSTOMTEXT通知控件的父窗口有关自定义文本操作的信息。④数据:NMCUSTOMTEXT 结构

表格框——通知消息:

中文名字常量数值英文名称释义
控件单击左键-2NM_CLICK用户在控件上点击了鼠标左键
控件双击左键-3NM_DBLCLK用户在控件上双击了鼠标左键
控件按下回车-4NM_RETURN控件获得键盘焦点并按下回车键
控件单击右键-5NM_RCLICK用户在控件上点击了鼠标右键
控件双击右键-6NM_RDBLCLK用户在控件上双击了鼠标右键
控件得到焦点-7NM_SETFOCUS控件收到输入焦点
控件失去焦点-8NM_KILLFOCUS用户失去输入焦点
控件自行绘制-12NM_CUSTOMDRAW通知控件的父窗口有关自定义绘制操作的信息。
控件鼠标掠过-13NM_HOVER用户的鼠标掠过控件
控件释放鼠标-16NM_RELEASEDCAPTURE控件要释放鼠标捕捉
表项正在改变-100LVN_ITEMCHANGING有个项目正被改变
表项已被改变-101LVN_ITEMCHANGED有个项目已经被改变
表项插入新项-101LVN_INSERTITEM有个新项目被插入了
表项删除单项-103LVN_DELETEITEM有个项目要被删除
表项删除全项-104LVN_DELETEALLITEMS所有项目要被删除
表项编辑起点-105LVN_BEGINLABELEDITA一个项目的文本标签编辑的起点
表项编辑终点-106LVN_ENDLABELEDITA一个项目的文本标签编辑的终点
表项列被点击-108LVN_COLUMNCLICK一个列被点击了
表项左键拖放-109LVN_BEGINDRAG鼠标左键的拖放操作开始了
表项右键拖放-111LVN_BEGINRDRAG鼠标右键的拖放操作开始了
表项内容改变-113LVN_ODCACHEHINT由虚列表控件在其可视区域的内容被改变时发送
表项用户激活-114LVN_ITEMACTIVATE由虚列表控件在用户激活了某个项目时发送
表项状态改变-115LVN_ODSTATECHANGED由虚列表控件在一个项目的状态或排列已被改变时发送
表项鼠标掠过-121LVN_HOTTRACK由虚列表控件在用户的鼠标掠过某个项目时发送
表项请求显示-150LVN_GETDISPINFOA请求父窗提供显示项目或对某个项目排序所需的信息
表项更新显示-151LVN_SETDISPINFOA需要更新某个项目的信息
表项查找回调-152LVN_ODFINDITEMA由虚列表控件在需要其所有者查找特定的回调项目时发送
表项键盘按下-155LVN_KEYDOWN通知列表视图控件的父窗口已按下某键。
表项选择边框-156LVN_MARQUEEBEGIN某个边框选择已开始
表项附加文本-157LVN_GETINFOTIPA请求附加的文本信息(显示于工具提示控件中)时发送
表项附加提示-158LVN_GETINFOTIPW请求附加的文本信息(显示于工具提示控件中)时发送

标头框——通知消息:

中文名字常量数值英文名称释义
控件单击右键-5NM_RCLICK用户在控件上点击了鼠标右键
控件自行绘制-12NM_CUSTOMDRAW通知控件的父窗口有关自定义绘制操作的信息。
控件释放鼠标-16NM_RELEASEDCAPTURE控件要释放鼠标捕捉
标头正在改变-300HDN_ITEMCHANGING有个项目正被改变
标头已被改变-301HDN_ITEMCHANGEDA有个项目已经被改变
标头单击项目-302HDN_ITEMCLICKA用户单击项目
标头双击项目-303HDN_ITEMDBLCLICKA用户双击项目
标头双击分割-305HDN_DIVIDERDBLCLICKA用户双击控件的分隔线区域。
标头拖起分割-306HDN_BEGINTRACKA用户已开始拖动控件中的分隔符
标头拖完分割-307HDN_ENDTRACKA用户已完成拖动分隔符。
标头拖动分割-308HDN_TRACKA用户正在拖动标题控件中的分隔符
标头显示回调-309HDN_GETDISPINFOA有关回调标头项的信息
标头开始拖动-310HDN_BEGINDRAG对其某个项开始拖动操作
标头结束拖动-311HDN_ENDDRAG拖动操作对其某个项结束

树表框——通知消息:

中文名字常量数值英文名称释义
控件单击左键-2NM_CLICK用户在控件上点击了鼠标左键
控件双击左键-3NM_DBLCLK用户在控件上双击了鼠标左键
控件按下回车-4NM_RETURN控件获得键盘焦点并按下回车键
控件单击右键-5NM_RCLICK用户在控件上点击了鼠标右键
控件双击右键-6NM_RDBLCLK用户在控件上双击了鼠标右键
控件得到焦点-7NM_SETFOCUS控件收到输入焦点
控件失去焦点-8NM_KILLFOCUS用户失去输入焦点
控件自行绘制-12NM_CUSTOMDRAW通知控件的父窗口有关自定义绘制操作的信息。
控件设置光标-17NM_SETCURSOR控件响应消息要设置光标
树表图像更改-24NM_TVSTATEIMAGECHANGING由树视图控件发送到其状态图像正在更改的父窗口。④数据:NMTVSTATEIMAGECHANGING 结构
树项正在改变-401TVN_SELCHANGINGA用户对树控件项目的选择将改变
树项已被改变-402TVN_SELCHANGEDA用户已改变树控件项目的选择
树项单击项目-403TVN_GETDISPINFOA需要得到树控件的某结点信息
树项双击项目-404TVN_SETDISPINFOA通知更新树控件项目的信息
树项即将开合-405TVN_ITEMEXPANDINGA树控件某结点将被展开或收缩
树项已经开合-406TVN_ITEMEXPANDEDA树控件某结点已被展开或收缩
树项左键拖起-407TVN_BEGINDRAGA树控件中鼠标左键拖放开始
树项右键拖起-408TVN_BEGINRDRAGA树控件中鼠标右键拖放开始
树项删除项目-409TVN_DELETEITEMA删除树控件中的项目
树项修改标签-410TVN_BEGINLABELEDITA开始编辑项目的标签
树项改完标签-411TVN_ENDLABELEDITA用户完成编辑项目的标签
树项键盘按下-412TVN_KEYDOWN用户在树控件中按下了某键盘按键
树项显示文字-413TVN_GETINFOTIPA请求显示结点信息或提示文字
树项请求显示-414TVN_GETINFOTIPW请求显示结点信息或提示文字
树项单击开合-415TVN_SINGLEEXPAND用户使用鼠标单击打开或关闭树控件项目

工具提示——通知消息:

中文名字常量数值英文名称释义
控件自行绘制-12NM_CUSTOMDRAW通知控件的父窗口有关自定义绘制操作的信息。
提示显示信息-520TTN_GETDISPINFOA检索显示工具提示窗口所需的信息
提示即将显示-521TTN_SHOW即将显示工具提示控件
提示即将隐藏-522TTN_POP工具提示即将隐藏。

选项卡——通知消息:

中文名字常量数值英文名称释义
控件单击左键-2NM_CLICK用户在控件上点击了鼠标左键
控件双击左键-3NM_DBLCLK用户在控件上双击了鼠标左键
控件单击右键-5NM_RCLICK用户在控件上点击了鼠标右键
控件双击右键-6NM_RDBLCLK用户在控件上双击了鼠标右键
控件释放鼠标-16NM_RELEASEDCAPTURE控件要释放鼠标捕捉
选卡键盘按下-550TCN_KEYDOWN用户已按下某键
选卡已被改变-551TCN_SELCHANGE选项卡的当前选择已被改变
选卡将要改变-552TCN_SELCHANGING选项卡的当前选择将要改变
选卡放置目标-553TCN_GETOBJECT请求放置目标对象

对话框——通知消息:

中文名字常量数值英文名称释义
对话完成排列-601CDN_INITDONE系统已完成在打开另存为通用对话框中排列控件
对话选择改变-602CDN_SELCHANGE用户在对话框文件列表里选择了一个新文件或文件夹
对话新文件夹-603CDN_FOLDERCHANGE向钩子函数发送一个新文件夹被打开的消息
对话共享冲突-604CDN_SHAREVIOLATION用户选择的文件名发生网络共享冲突
对话点击帮助-605CDN_HELP通用对话框中的帮助按钮被按下
对话点击确定-606CDN_FILEOK向钩子函数发送确定按钮被按下的消息
对话类型改变-607CDN_TYPECHANGE从文件类型列表中选择一个新文件类型
对话包含项目-608CDN_INCLUDEITEM对话框会针对文件夹中的每一项发送包含项通知。

工具栏——通知消息:

中文名字常量数值英文名称释义
控件单击左键-2NM_CLICK用户在控件上点击了鼠标左键
控件双击左键-3NM_DBLCLK用户在控件上双击了鼠标左键
控件单击右键-5NM_RCLICK用户在控件上点击了鼠标右键
控件双击右键-6NM_RDBLCLK用户在控件上双击了鼠标右键
控件自行绘制-12NM_CUSTOMDRAW通知控件的父窗口有关自定义绘制操作的信息。
控件按下键盘-15NM_KEYDOWN控件获得键盘焦点并按下某键
控件释放鼠标-16NM_RELEASEDCAPTURE控件要释放鼠标捕捉
控件键入字符-18NM_CHAR字符键被处理后由控件发送
控件工具提示-19NM_TOOLTIPSCREATED通知控件的父窗口控件已创建工具提示控件。④数据:NMTOOLTIPSCREATED 结构
控件鼠标左键-20NM_LDOWN通知控件的父窗口已按下鼠标左键。
工具按钮信息-700TBN_GETBUTTONINFOA获取工具栏的自定义信息
工具拖起按钮-701TBN_BEGINDRAG用户已开始拖动工具栏的某个按钮
工具拖放按钮-702TBN_ENDDRAG用户已停止拖动工具栏的某个按钮
工具开始定义-703TBN_BEGINADJUST用户已开始自定义一个工具栏
工具结束定义-704TBN_ENDADJUST用户已停止自定义一个工具栏
工具已经重置-705TBN_RESET用户在自定义工具栏对话框中已经对工具栏进行重置了
工具可插左侧-706TBN_QUERYINSERT按钮是否可被插入到指定按钮的左侧
工具可被删除-707TBN_QUERYDELETE用户自定义工具栏时一个按钮是否可被删除
工具已被改变-708TBN_TOOLBARCHANGE用户已经定制完一个工具栏
工具选择帮助-709TBN_CUSTHELP用户已经选择了自定义工具栏对话框上的帮助按钮
工具单击下拉-710TBN_DROPDOWN当用户单击下拉按钮时,工具栏控件发送。
工具放置目标-712TBN_GETOBJECT请求放置目标对象。
工具热项更改-713TBN_HOTITEMCHANGE突出显示的热 () 项更改
工具拖出按钮-714TBN_DRAGOUT用户单击按钮,然后将光标移出按钮
工具删除按钮-715TBN_DELETINGBUTTON按钮即将被删除
工具显示信息-716TBN_GETDISPINFOA检索工具栏项的显示信息
工具信息显示-717TBN_GETDISPINFOW检索工具栏项的显示信息
工具提示信息-718TBN_GETINFOTIPA检索工具栏项的信息提示信息。
工具信息提示-719TBN_GETINFOTIPW检索工具栏项的信息提示信息。

调节框——通知消息:

中文名字常量数值英文名称释义
控件释放鼠标-16NM_RELEASEDCAPTURE控件要释放鼠标捕捉
调节位置更改-720UDN_DELTAPOS调节器控件的位置即将更改。④数据:NMUPDOWN 结构
发送消息——常数表
调节设置范围0x465UDM_SETRANGE设置上下控件范围的最小和最大位置。③参数:0;④数据:最大/最小
调节获取范围0x466UDM_GETRANGE获取上下控件范围的最小和最大位置。③参数:0;④数据:0
调节设置位置0x467UDM_SETPOS设置上下控件16位精度的当前位置。③参数:0;④数据:新位置
调节获取位置0x468UDM_GETPOS获取上下控件16位精度的当前位置。③参数:0;④数据:0
调节设置窗口0x469UDM_SETBUDDY设置上下控件的伙伴窗口。③参数:窗口;④数据:0
调节获取窗口0x46AUDM_GETBUDDY获取上下控件的伙伴窗口。③参数:0;④数据:0
调节设置加速0x46BUDM_SETACCEL设置上下控件的加速。③参数:数目;④数据:UDACCEL 结构的数组
调节获取加速0x46CUDM_GETACCEL获取上下控件的加速。③参数:数目;④数据:UDACCEL 结构的数组
调节设置基数0x46DUDM_SETBASE设置上下控件的基数。③参数:10十进制,16十六进制;④数据:0
调节获取基数0x46EUDM_GETBASE获取上下控件的基数。③参数:0;④数据:0
调节设置限定0x46FUDM_SETRANGE32设置上下控件的32 位范围。③参数:下限;④数据:上限
调节获取限定0x470UDM_GETRANGE32获取上下控件的32 位范围。③参数:@下限;④数据:@上限;为0不获取
调节设置定位0x471UDM_SETPOS32设置上下控件32位精度的当前位置。③参数:0;④数据:新位置
调节获取定位0x472UDM_GETPOS32获取上下控件32位精度的当前位置。③参数:0;④数据:0
控件设置宽字0x2005CCM_SETUNICODEFORMAT设置控件的 Unicode 字符格式标志。③参数:是否宽字;④数据:0;
控件获取宽字0x2006CCM_GETUNICODEFORMAT获取控件的 Unicode 字符格式标志。③参数:0;④数据:0;

月历框——通知消息:

中文名字常量数值英文名称释义
控件释放鼠标-16NM_RELEASEDCAPTURE控件要释放鼠标捕捉
月历选项改变-749MCN_SELCHANGE当前选择项已被改变
月历显示风格-747MCN_GETDAYSTATE获取月历控件的日期显示风格
月历选择日期-746MCN_SELECT在月历控件中选择一个日期

日期框——通知消息:

中文名字常量数值英文名称释义
控件得到焦点-7NM_SETFOCUS控件收到输入焦点
控件失去焦点-8NM_KILLFOCUS用户失去输入焦点
日历内容改变-759DTN_DATETIMECHANGEDTP控件中的内容已发生改变
日历完成编辑-758DTN_USERSTRINGA用户已完成DTP控件的编辑
日历单击回调-757DTN_WMKEYDOWNA用户单击了DTP控件的回调域
日历显示回调-756DTN_FORMATADTP控件中的文本需要显示在回调域中
日历显示尺寸-755DTN_FORMATQUERYADTP控件中的文本显示所需最大尺寸
日历显示月历-754DTN_DROPDOWNDTP控件中的月历控件将要显示
日历关闭月历-753DTN_CLOSEUPDTP控件中的月历控件将要关闭

超组合框——通知消息:

中文名字常量数值英文名称释义
控件设置光标-17NM_SETCURSOR控件响应消息要设置光标
组框显示信息-800CBEN_GETDISPINFOA获取组框控件的回调条目的显示信息
组框插入条目-801CBEN_INSERTITEM一个新条目已插入到组框控件
组框删除条目-802CBEN_DELETEITEM组框控件的某条目已被删除
组框激活编辑-804CBEN_BEGINEDIT用户激活下拉列表或点击组框控件的编辑框
组框结束编辑-805CBEN_ENDEDITA用户已结束对组框控件的编辑框的操作或选择了下拉列表
组框完成编辑-806CBEN_ENDEDITW用户已结束对组框控件的编辑框的操作或选择了下拉列表
组框信息显示-807CBEN_GETDISPINFOW获取组框控件的回调条目的显示信息
组框拖起图像-808CBEN_DRAGBEGINA用户开始拖动组框控件的编辑框中的条目图像
组框拖起条目-809CBEN_DRAGBEGINW用户开始拖动组框控件的编辑框中的条目图像

伸缩条——通知消息:

中文名字常量数值英文名称释义
控件自行绘制-12NM_CUSTOMDRAW通知控件的父窗口有关自定义绘制操作的信息。
控件命中测试-14NM_NCHITTEST当控件收到消息时,由 伸缩条 控件发送。④数据:NMMOUSE 结构
控件释放鼠标-16NM_RELEASEDCAPTURE控件要释放鼠标捕捉
伸缩高度改变-831RBN_HEIGHTCHANGE高度已被更改
伸缩放置目标-832RBN_GETOBJECT对象被拖动到此控件中的带区上
伸缩更改布局-833RBN_LAYOUTCHANGED用户更改此控件的带区布局
伸缩自动调整-834RBN_AUTOSIZE控件自己自动调整大小
伸缩开始拖动-835RBN_BEGINDRAG用户开始拖动带区
伸缩结束拖动-836RBN_ENDDRAG用户停止拖动带区
伸缩将被删除-837RBN_DELETINGBAND带区即将被删除
伸缩已被删除-838RBN_DELETEDBAND带区已被删除
伸缩调整子窗-839RBN_CHILDSIZE调整带区的子窗口大小

IP控件——通知消息:

IP框允许用户以易于理解的格式输入 IP 地址。 此控件还允许应用程序以数字形式而不是文本形式获取地址。
中文名字常量数值英文名称释义
IP框内容改变-860IPN_FIELDCHANGED更改控件中的字段或从一个字段移动到另一个字段
发送消息——常数表
IP框清除内容$464IPM_CLEARADDRESS清除 IP 地址控件的内容。③参数:0;④数据:0
IP框设置地址$465IPM_SETADDRESS设置 IP 地址控件中所有四个字段的地址值。 ③参数:0;④数据:32位IP地址
IP框获取地址$466IPM_GETADDRESS获取 IP 地址控件中所有四个字段的地址值。 ③参数:0;④数据:@地址
IP框设置范围$467IPM_SETRANGE设置 IP 地址控件中指定字段的有效范围。③参数:0-3字段;④数据:低/高(各1字节)
IP框设置焦点$468IPM_SETFOCUS将键盘焦点选中为控件中的指定字段。 ③参数:0-3字段;④数据:0
IP框是否为空$469IPM_ISBLANK确定控件中的所有字段是否为空。③参数:0;④数据:0

状态栏——通知消息:

状态栏是父窗口底部的水平窗口,应用程序可在其中显示各种状态信息。 状态栏可以分为多个部分以显示多种类型的信息。
中文名字常量数值英文名称释义
控件单击左键-2NM_CLICK用户在控件上点击了鼠标左键。④数据:NMMOUSE 结构
控件双击左键-3NM_DBLCLK用户在控件上双击了鼠标左键。④数据:NMMOUSE 结构
控件单击右键-5NM_RCLICK用户在控件上点击了鼠标右键。④数据:NMMOUSE 结构
控件双击右键-6NM_RDBLCLK用户在控件上双击了鼠标右键。④数据:NMMOUSE 结构
状态模式改变-880SBN_SIMPLEMODECHANGE状态栏简单模式发生改变
发送消息——常数表
状态设置文本0x401SB_SETTEXTA设置状态窗口的指定部分中的文本。③参数:序号/样式(各1字节);④数据:内容文本;
序号=255单窗口;样式=0凹陷边框,0x100无边框,0x200凸起边框,0x400反向显示,0x800忽略制表,0x1000父窗口绘制
状态获取文本0x402SB_GETTEXTA从状态窗口的指定部分检索文本。③参数:序号;④数据:文本;
状态获取长度0x403SB_GETTEXTLENGTHA从状态窗口的指定部分检索文本的字数。③参数:序号;④数据:0;返回值:低字=字数,高字=样式
状态设置部件0x404SB_SETPARTS设置状态窗口中的部件数以及每个部件右边缘的坐标。③参数:数量;④数据:整数数组;
状态获取部件0x406SB_GETPARTS获取状态窗口中的部件数以及每个部件右边缘的坐标。③参数:数量;④数据:整数数组;返回部件数
状态获取边框0x407SB_GETBORDERS获取状态窗口的水平边框和垂直边框的当前宽度。③参数:0;④数据:3整数=0宽度,1高度,2边框宽;
状态最小高度0x408SB_SETMINHEIGHT设置状态窗口绘图区域的最小高度。③参数:高度;④数据:0;
状态简单样式0x409SB_SIMPLE指定状态窗口是显示简单文本还是上一个设置部件。③参数:是否简单;④数据:0;
状态边框矩形0x40ASB_GETRECT检索状态窗口中部件的边框。③参数:序号;④数据:矩形;
状态设置文字0x40BSB_SETTEXTW设置状态窗口的指定部分中的文本。③参数:序号/样式(各1字节);④数据:内容文本;
状态获取字数0x40CSB_GETTEXTLENGTHW从状态窗口的指定部分检索文本的字数。③参数:序号;④数据:0;返回值:低字=字数,高字=样式
状态获取文字0x40DSB_GETTEXTW从状态窗口的指定部分检索文本。③参数:序号;④数据:文本;
状态是否简单0x40ESB_ISSIMPLE检查状态栏控件以确定它是否处于简单模式。③参数:0;④数据:0;
状态设置图标0x40FSB_SETICON设置状态栏中部件的图标。③参数:序号;④数据:图标;
状态设置提示0x410SB_SETTIPTEXTA设置状态栏中部件的工具提示文本。③参数:序号;④数据:文本;
状态修改提示0x411SB_SETTIPTEXTW设置状态栏中部件的工具提示文本。③参数:序号;④数据:文本;
状态获取提示0x412SB_GETTIPTEXTA检索状态栏中部件的工具提示文本。③参数:序号/大小;④数据:文本;
状态获得提示0x413SB_GETTIPTEXTW检索状态栏中部件的工具提示文本。③参数:序号/大小;④数据:文本;
状态获取文本0x414SB_GETICON检索状态栏中部件的图标。③参数:序号;④数据:0;
控件设置宽字0x2005CCM_SETUNICODEFORMAT设置控件的 Unicode 字符格式标志。③参数:是否宽字;④数据:0;
控件获取宽字0x2006CCM_GETUNICODEFORMAT获取控件的 Unicode 字符格式标志。③参数:0;④数据:0;

分页导航——通知消息:


分页控件是一个窗口容器,与没有足够的显示区域来显示其所有内容的窗口一起使用。 寻呼控件允许用户滚动到当前不在视图中的窗口区域。
中文名字常量数值英文名称释义
控件释放鼠标-16NM_RELEASEDCAPTURE控件要释放鼠标捕捉
分页开始滚动-901PGN_SCROLL所包含窗口即将被滚动。④数据:NMPGSCROLL 结构
分页滚动尺寸-902PGN_CALCSIZE获得所包含窗口的可滚动尺寸。④数据:NMPGCALCSIZE 结构
分页热项更改-903PGN_HOTITEMCHANGE通知父窗口突出显示的热项已更改。④数据:NMPGHOTITEM 结构
发送消息——常数表
分页设置窗口0x1401PGM_SETCHILD设置页码控件的包含窗口。③参数:0;④数据:窗口
分页重算大小0x1402PGM_RECALCSIZE强制控件重新计算包含窗口的大小。③参数:0;④数据:0
分页鼠标转发0x1403PGM_FORWARDMOUSE为页码控件启用或禁用鼠标转发。③参数:是否转发;④数据:0
分页设置背景0x1404PGM_SETBKCOLOR设置页码控件的当前背景色。③参数:0;④数据:颜色
分页获取背景0x1405PGM_GETBKCOLOR获取页码控件的当前背景色。③参数:0;④数据:0
分页设置边框0x1406PGM_SETBORDER设置页码控件的当前边框大小。③参数:0;④数据:像素
分页获取边框0x1407PGM_GETBORDER获取页码控件的当前边框大小。③参数:0;④数据:0
分页设置位置0x1408PGM_SETPOS设置页码控件的当前滚动位置。③参数:0;④数据:位置
分页获取位置0x1409PGM_GETPOS获取页码控件的当前滚动位置。③参数:0;④数据:0
分页设置按钮0x140APGM_SETBUTTONSIZE设置页码控件的当前按钮大小。③参数:0;④数据:像素
分页获取按钮0x140BPGM_GETBUTTONSIZE获取页码控件的当前按钮大小。③参数:0;④数据:0
分页按钮状态0x140CPGM_GETBUTTONSTATE设置页码控件指定按钮的状态。③参数:0;④数据:像素
分页拖放接口0x2004PGM_GETDROPTARGET获取页码控件的 IDropTarget 接口指针。③参数:0;④数据:@接口
分页超时行数0x140DPGM_SETSCROLLINFO设置超时值、每超时行数和每行像素。③参数:超时数;④数据:超时行数/每行像素(各2字节)

链接框——通知消息:

中文名字常量数值英文名称释义
控件单击左键-2NM_CLICK用户在控件上点击了鼠标左键
发送消息——常数表
链接是否点击0x700LM_HITTEST确定用户是否单击了指定链接。③参数:0;④数据:LHITTESTINFO 结构
链接首选高度0x701LM_GETIDEALHEIGHT检索控件当前宽度的链接的首选高度。③参数:0;④数据:0
链接修改属性0x702LM_SETITEM设置项的状态和属性。③参数:0;④数据:LITEM 结构
链接获取属性0x703LM_GETITEM检索项的状态和属性。③参数:0;④数据:LITEM 结构

热键框——通知消息:


很多程序都有自定义热键的功能,但往往都是有几种组合键可以选择。而按键有两百多种,
加上SHIFT、CTRL、ATLT等组合,让用户输入任意组合就太复杂,还容易写错。
使用热键框可以显示用户按下的组合键,并获取它的键值,给指定窗口设置热键。
程序段 按钮1_点击
  整数 键值=发送消息(热键框1, 热键获取按键, 0, 0)
  发送消息(窗体, 设置热键, 键值, 0)
结束

中文名字常量数值英文名称释义
热键设置按键0x401HKM_SETHOTKEY设置热键控件的热键组合。③参数:键码/修饰符(各1字节);④数据:0
热键获取按键0x402HKM_GETHOTKEY获取热键控件的键码和修饰符标志。③参数:0;④数据:0;返回值1SHIFT,2CTRL,4ALT,8扩展
热键设置组合0x403HKM_SETRULES定义热键控件的无效组合和默认修饰符组合。③参数:标志,1无,2SHIFT,4CTRL,8ALT,16S+C,32S+A,64C+A,128SCA;④数据:组合1SHIFT,2CTRL,4ALT,8扩展;

富编辑——通知消息:

只写 ④数据 为控件事件;同时写 ③参数④数据 或不写时为单击左键
中文名字常量数值英文名称释义
编辑窗口更改0x0300EN_CHANGE通知无窗口富编辑控件的主机窗口发生了更改。④数据:CHANGENOTIFY 结构
编辑键盘鼠标0x0700EN_MSGFILTER通知富编辑控件的父窗口,该控件中的键盘或鼠标事件。④数据:MSGFILTER 结构
编辑超出大小0x0701EN_REQUESTRESIZE通知富编辑控件的父窗口,控件的内容小于或大于控件的窗口大小。④数据:REQRESIZE 结构
编辑选字更改0x0702EN_SELCHANGE通知富编辑控件的父窗口当前所选内容已更改。④数据:SELCHANGE 结构
编辑文件拖放0x0703EN_DROPFILES通知富编辑控件父窗口,用户正在尝试将文件拖放到控件中。④数据:ENDROPFILES 结构
编辑保护文本0x0704EN_PROTECTED通知富编辑控件的父窗口,用户正在执行的操作将更改受保护的文本范围。④数据:ENPROTECTED 结构
编辑校正手势0x0705EN_CORRECTTEXT通知富编辑控件父窗口发生了SYV_CORRECT手势,使父窗口有机会取消更正文本。④数据:ENCORRECTTEXT 结构
编辑撤销不足0x0706EN_STOPNOUNDO通知富编辑控件的父窗口该控件无法为其分配足够的内存来维持撤消状态。④数据:NMHDR 结构
编辑换输入法0x0707EN_IMECHANGE通知富编辑控件的父级 IME 转换状态已更改。③参数:标识/代码;④数据:控件
编辑存剪切板0x0708EN_SAVECLIPBOARD通知富编辑控件的父窗口控件正在关闭,并且剪贴板包含信息。④数据:ENSAVECLIPBOARD 结构
编辑对象失败0x0709EN_OLEOPFAILED通知富编辑控件的父窗口,用户对组件对象模型(COM)对象的操作失败。④数据:ENOLEOPFAILED 结构
编辑对象读取0x070AEN_OBJECTPOSITIONS当控件在对象中读取时,通知富编辑控件的父窗口。④数据:OBJECTPOSITIONS 结构
编辑链接通知0x070BEN_LINK控件在收到各种消息时发送EN_LINK通知代码。④数据:ENLINK 结构
编辑拖放完成0x070CEN_DRAGDROPDONE通知富编辑控件的父窗口拖放操作已完成。④数据:NMHDR 结构
编辑展开大纲0x070DEN_PARAGRAPHEXPANDED通知富编辑控件的父级已展开大纲。④数据:NMHDR 结构
编辑页面更改0x070EEN_PAGECHANGE通知富编辑控件的父窗口页面已更改。
编辑无效字符0x070FEN_LOWFIRTF通知控件的父窗口收到不支持的RTF格式关键字。④数据:ENLOWFIRTF 结构
编辑从左到右0x0710EN_ALIGNLTR通知富编辑控件的父窗口段落方向已更改为从左到右。③参数:标识/代码;④数据:控件
编辑从右到左0x0711EN_ALIGNRTL通知富编辑控件的父窗口段落方向更改为从右到左。③参数:标识/代码;④数据:控件
编辑特定粘贴0x0712EN_CLIPFORMAT通知富编辑控件的父窗口,特定剪贴板格式发生粘贴。④数据:CLIPBOARDFORMAT 结构
编辑输入服务0x0713EN_STARTCOMPOSITION通知用户开始使用IME或文本服务框架键入的丰富编辑控件父窗口。④数据:NMHDR 结构
编辑完成输入0x0714EN_ENDCOMPOSITION用户已输入新数据或已完成使用IME或文本服务框架的输入数据。④数据:ENDCOMPOSITIONNOTIFY 结构

滑块条——通知消息:


中文名字常量数值英文名称释义
控件自行绘制-12NM_CUSTOMDRAW通知控件的父窗口有关自定义绘制操作的信息。④数据:NMCUSTOMDRAW 结构的 dwItemSpec 成员:1边缘显示刻度,2拇指标记,3拇指沿轨道滑动
控件释放鼠标-16NM_RELEASEDCAPTURE通知控件的父窗口控件要释放鼠标捕捉
滑块位置更改-1502TRBN_THUMBPOSCHANGING通知跟踪条上的拇指位置正在更改。④数据:NMTRBTHUMBPOSCHANGING 结构
水平滚动$0114WM_HSCROLL当窗口的标准水平滚动条产生一个滚动事件时,发送本消息给该窗口。③参数:低位=0点左键,1点右/下键,2点滑块左,3点滑块右,4按住滑块,
5拖动滑块,6按home,7按END,8释放按键;高位=滑块当前位置;④数据:控件
垂直滚动$0115WM_VSCROLL当窗口的标准垂直滚动条产生一个滚动事件时,发送本消息给该窗口。③参数:低位=0点上键,1点下键,2点滑块上方,3点滑块下方,4按住滑块,
5拖动滑块,6按home,7按END,8释放按键;高位=滑块当前位置;④数据:控件

影音动画——通知消息:

单击按钮事件的高位值为事件代码
发送消息(影音,动画打开文件,0,"D:\sec.avi")打开视频文件
发送消息(影音,动画开始播放,1,$FFFF0000)播放视频文件
发送消息(影音,动画停止播放,0,0)停止播放视频文件
中文名字常量数值英文名称释义
动画开始事件1ACN_START通知动画控件的父窗口关联的AVI剪辑已开始播放。③参数:标识/代码;④数据:控件
动画停止事件2ACN_STOP通知动画控件的父窗口关联的 AVI 剪辑已停止播放。 ③参数:标识/代码;④数据:控件
发送消息——常数表
动画打开文件$464ACM_OPENA打开 AVI 剪辑并在动画控件中显示其第一帧。③参数:0/实例;④数据:路径/资源标识
动画开始播放$465ACM_PLAY在动画控件中播放 AVI 剪辑。 ③参数:次数,-1无限;④数据:开头/结尾
动画停止播放$466ACM_STOP停止在动画控件中播放 AVI 剪辑。 ③参数:0;④数据:0
动画视频文件$467ACM_OPENW打开 AVI 剪辑并在动画控件中显示其第一帧。③参数:0/实例;④数据:路径/资源标识
动画是否播放$468ACM_ISPLAYING检查是否正在播放AVI剪辑。 ③参数:0;④数据:0

图像列表——通知消息:

使用图像列表可以为其它控件提供显示图标
图像列表(数量,大小,格式)格式:0=位图1图标2光标。
添加指定数量和大小的图像到列表,默认从图像目录下名称为0的文件开始加载
在程序目录下新建一个图像的文件夹,把图片文件从0开始递增排序,如0.bmp,1.bmp
位图扩展名是bmp,图标扩展名是ico,光标扩展名是cur
中文名字英文名称常量数值释义
图像掩码ILC_MASK0x00001使用掩码。 图像列表包含两个位图,其中一个是用作蒙板的单色位图。 如果未包含此值,则图像列表仅包含一个位图。
图像颜色ILC_COLOR0x00000如果未指定其他ILC_COLORx标志,请使用默认行为。 通常,默认值为ILC_COLOR4,但对于较旧的显示驱动程序,默认值为ILC_COLORDDB。
图像位色ILC_COLORDDB0x000FE使用与设备相关的位图。
图像四位ILC_COLOR40x00004使用 4 位 (16 色) 与设备无关的位图 (DIB) 部分作为图像列表的位图。
图像八位ILC_COLOR80x00008使用 8 位 DIB 节。 用于颜色表的颜色与半色调调色板的颜色相同。
图像16位ILC_COLOR160x00010使用 16 位 (32/64k 彩色) DIB 部分。
图像24位ILC_COLOR240x00018使用 24 位 DIB 节。
图像32位ILC_COLOR320x00020使用 32 位 DIB 节。
图像粘贴ILC_PALETTE0x00800未实现。
图像镜图ILC_MIRROR0x02000镜像包含的图标(如果进程已镜像)
图像插入ILC_PERITEMMIRROR0x08000导致镜像代码在插入一组图像时镜像每个项,而不是整个条带。
图像小于ILC_ORIGINALSIZE0x10000Windows Vista 及更高版本。 Imagelist 应接受小于设置的图像,并根据添加的图像应用原始大小。
图像预留ILC_HIGHQUALITYSCALE0x20000Windows Vista 及更高版本。 保留。

用户控件——通知消息:

创建静态图片框,选择自绘控件风格,可以用来绘制图片和文字。目前,以下控件支持自定义绘制功能:
标头控件NMCUSTOMDRAW 结构
表格框 NMLVCUSTOMDRAW 结构
伸缩条NMCUSTOMDRAW 结构
工具栏NMTBCUSTOMDRAW 结构
工具提示NMTTCUSTOMDRAW 结构
滑动条NMCUSTOMDRAW 结构
树表框NMTVCUSTOMDRAW 结构
中文名字常量数值英文名称释义
控件自行绘制-12NM_CUSTOMDRAW通知控件的父窗口有关自定义绘制操作的信息。
自绘控件13SS_OWNERDRAW静态控件的所有者负责绘制控件。每当需要绘制控件时,所有者窗口都会收到 外观改变 消息。
外观改变$002BWM_DRAWITEM 按钮、组合框、列表框、菜单的外观改变时会发送本消息给这些控件的所有者。④数据:DRAWITEMSTRUCT 结构

窗口非客户区——通知消息:

窗口非客户区包括标题栏菜单栏最小最大化关闭按钮等区域,也就是可以设计显示控件的区域是客户区
鼠标左键按住标题栏可以拖曳窗口移动位置,但是对于无标题栏的窗口怎么拖动位置呢?
判断(消息) 为 按下左键{发送消息(窗口,区外按左,2,0)}在窗口客户区按下鼠标左键
发送消息是区外按左,也就是在非客户区按下鼠标左键,参数写2是标题栏,模拟鼠标左键点击标题的消息
然后移动鼠标,窗体就会跟随鼠标一起移动了,松开鼠标左键再移动鼠标,窗体也不再跟随鼠标移动
③参数:点击区域,0在屏幕与窗口分界线上,1在窗口客户区,2在标题栏,3菜单或子窗口的关闭按钮,4在大小框中
5在菜单中,6在水平滚动条中,7在垂直滚动条,8在最小化按钮中,9在最大化按钮中,10在调整窗口宽度的左边框
11,在调整窗口宽度的右边框,12在窗口的上水平边框中,13边框的左上角,14边框的右上角,15垂直调整边框中
16边框左下角(对角调整),17边框右下角(对角调整),18不可调大小的边框中,20在关闭按钮中,21在帮助按钮中
中文名字常量数值英文名称释义
区外删除$0082WM_NCDESTROY本消息通知某窗口,非客户区正在销毁。③参数:0;④数据:0
区外调整$0083WM_NCCALCSIZE当某窗口的客户区的大小和位置须被计算时发送本消息。③参数:0不需要指示工作区的有效部分,非0需要;④数据:参数为真NCCALCSIZE_PARAMS 结构,参数为假 矩形类
光标离开$0084WM_NCHITTEST当用户在在非客户区移动鼠标、按住或释放鼠标时发送本消息(击中测试);若鼠标没有被捕获,则在得到光标之后发出。③参数:0;④数据:屏幕坐标x/y
区外重绘$0085WM_NCPAINT当窗口框架(非客户区)必须被被重绘时,应用程序发送本消息给该窗口。③参数:区域;④数据:0
区外激活$0086WM_NCACTIVATE本消息发送给某窗口,在窗口的非客户区被激活时重绘窗口。③参数:0绘制非活动标题栏或图标,非0活动;④数据:0活动窗口,-1不重绘,非活动窗口区域指针
切换控件$0087WM_GETDLGCODE发送本消息给某个与对话框程序关联的控件,系统控制方位键和TAB键使输入进入该控件。③参数:键码;④数据:消息类
经过区外$00A0WM_NCMOUSEMOVE当光标在某窗口的非客户区内移动时,发送本消息给该窗口。③参数:点击区域;④数据:坐标x/y;
区外按左$00A1WM_NCLBUTTONDOWN当光标在某窗口的非客户区内的同时按下鼠标左键,会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外放左$00A2WM_NCLBUTTONUP当用户释放鼠标左键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外双左$00A3WM_NCLBUTTONDBLCLK当用户双击鼠标左键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外按右$00A4WM_NCRBUTTONDOWN当用户按下鼠标右键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外放右$00A5WM_NCRBUTTONUP当用户释放鼠标右键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外双右$00A6WM_NCRBUTTONDBLCLK当用户双击鼠标右键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外按中$00A7WM_NCMBUTTONDOWN当用户按下鼠标中键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外放中$00A8WM_NCMBUTTONUP当用户释放鼠标中键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外双中$00A9WM_NCMBUTTONDBLCLK当用户双击鼠标中键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外按向$00ABWM_NCXBUTTONDOWN当光标位于窗口非工作区中并且用户按下鼠标前进后退按钮时发送。③参数:1后退(X1),2前进(X2);④数据:坐标类;
区外放向$00ACWM_NCXBUTTONUP当光标位于窗口非工作区中并且用户释放鼠标前进后退按钮时发送。③参数:1后退(X1),2前进(X2);④数据:坐标类;
区外双向$00ADWM_NCXBUTTONDBLCLK当光标位于窗口非工作区中并且用户双击鼠标前进后退按钮时发送。③参数:1后退(X1),2前进(X2);④数据:坐标类;

键盘事件——通知消息:

判断(消息) 为 键盘按下 获取键值(参数)
  为 键盘松开 获取键值(参数)

在键盘按下的动作事件里,把参数提交给获取键值的程序段,也就是键值
程序段 获取键值(键码)
  判断(键码)为 37 左方向键
  为 38 上方向键 为 65 字母A键

根据不同的键码去执行相应的功能函数(程序段),按键对应的虚拟键代码请查看下面的表
中文名字常量数值英文名称释义
键盘起始$0100WM_KEYFIRST用于WinCE系统,本消息在使用获取消息查探消息函数时,用于过滤键盘消息
键盘按下$0100WM_KEYDOWN当一个非系统按键被按下时(键没有被按下),会发送本消息给拥有键盘焦点的窗口。③参数:键码;④数据:扫描码
键盘松开$0101WM_KEYUP当一个非系统按键被释放弹起时(键没有被按下),会发送本消息给拥有键盘焦点的窗口。③参数:键码;④数据:扫描码
键入字符$0102WM_CHAR按下某按键,并已发出按下、松开消息,本消息包含被按下的按键的字符码。③参数:字码;④数据:扫描码
敲击按键$0103WM_DEADCHAR\"死字符\"消息,当使用翻译消息函数翻译WM_KEYUP消息时,发送本消息给拥有键盘焦点的窗口。③参数:键码;④数据:扫描码
ALT键按下$0104WM_SYSKEYDOWN当用户按住键的同时又按下其它键时,发送本消息给拥有焦点的窗口。③参数:键码;④数据:扫描码
ALT键松开$0105WM_SYSKEYUP当用户释放一个按键的同时键还按着时,发送本消息给拥有焦点的窗口。③参数:键码;④数据:扫描码
ALT键字符$0106WM_SYSCHAR当WM_SYSKEYDOWN消息被翻译消息函数翻译后,发送本消息给拥有焦点的窗口,注:键被按下。③参数:键码;④数据:扫描码
ALT敲字符$0107WM_SYSDEADCHAR\"死字符\"消息,当使用翻译消息函数翻译WM_SYSKEYDOWN消息时,发送本消息给拥有键盘焦点的窗口。③参数:键码;④数据:扫描码
键盘结束$0108WM_KEYLAST用于WinCE系统,本消息在使用获取消息查探消息函数时,用于过滤键盘消息
输入开始$010DWM_IME_STARTCOMPOSITION在输入法因为击键生成组合字符串之前立即发送。③参数:0;④数据:0
输入结束$010EWM_IME_ENDCOMPOSITION在输入法结束组合时发送到应用程序。③参数:0;④数据:0
输入更改$010FWM_IME_COMPOSITION当输入法因击键而更改组合状态时,发送到应用程序。③参数:字符;④数据:方式
输入启动$281WM_IME_SETCONTEXT应用程序的窗口激活时,系统将向应用程序发送消息。③参数:0非活动,非0活动;④数据:1显候选窗口(左移位数是索引几),
15显所有候选,0x40000000显指南窗口,0x80000000显合成窗口
输入改变$282WM_IME_NOTIFY可使用WM_IME_NOTIFY消息来通知关于IME窗口状态的常规改变。③参数:命令;④数据:相应数据
输入控制$283WM_IME_CONTROL可使用WM_IME_CONTROL消息来改变字母组合窗口的位置。③参数:命令;④数据:相应数据
输入超出$284WM_IME_COMPOSITIONFULL用户接口窗口不能增加编码窗口的尺寸时,IME用户接口窗口将发送消息。③参数:0;④数据:0
输入选择$285WM_IME_SELECT系统发此消息以便选择一个新的IME输入法。③参数:0未选,非0已选;④数据:区域
输入打字$286WM_IME_CHAR当打开输入法输入文字时发送消息。③参数:0字码;④数据:扫描码
输入请求$288WM_IME_REQUEST应用程序请求输入法时,触发发送本消息。③参数:命令;④数据:相应数据
输入按下$290WM_IME_KEYDOWN在输入法录字窗口中按下按键时,触发发送本消息。③参数:0键码;④数据:扫描码
输入松开$291WM_IME_KEYUP在输入法录字窗口中释放按键时,触发发送本消息。③参数:0键码;④数据:扫描码

虚拟键代码表:

0x01鼠标的左键0x02鼠标的右键0x03Ctrl+Break0x04鼠标的中键0x08Backspace键0x09Tab键0x0CClear键0x0DEnter键
0x10Shift键0x11Ctrl键0x12Alt键0x13Pause键0x14Caps0x15IME-朝鲜日文模式0x16IME-打开0x17IME-Junja模式
0x18IME-最终模式0x19IME-汉字0x1AIME-关闭0x1BEse键0x1CIME-转换0x1DIME-不转换0x1EIME-接受0x1FIME-模式更改请求
0x20空格键0x21上页键0x22下页键0x23End键0x24Home键0x25左键(←)0x26上键(↑)0x27右键(→)
0x28下键(↓)0x29Select键0x2APRINT键0x2BEXECUTE键0x2C(抓屏)0x2DIns键0x2EDel键0x2FHelp键
0x300键0x311键0x322键0x333键0x344键0x355键0x366键0x377键
0x388键0x399键0x41A键0x42B键0x43C键0x44D键0x45E键0x46F键
0x47G键0x48H键0x49I键0x4AJ键0x4BK键0x4CL键0x4DM键0x4EN键
0x4FO键0x50P键0x51Q键0x52R键0x53S键0x54T键0x55U键0x56V键
0x57W键0x58X键0x59Y键0x5AZ键0x5B左win键0x5右win键0x5菜单键0x5休眠键
0x60数字键0键0x61数字键1键0x62数字键2键0x62数字键3键0x64数字键4键0x65数字键5键0x66数字键6键0x67数字键7键
0x68数字键8键0x69数字键9键0x6A数字*键0x6B数字+键0x6C分隔符键0x6D数字-键0x6E数字.键0x6F数字/键
0x70F1键0x71F2键0x72F3键0x73F4键0x74F5键0x75F6键0x76F7键0x77F8键
0x78F9键0x79F10键0x7AF11键0x7BF12键0x7CF13键0x7DF14键0x7EF15键0x7FF16键
0x80F17键0x81F18键0x82F19键0x83F20键0x84F21键0x85F22键0x86F23键0x87F24键
0x90数字开关键0x91ScrollLock键0xA0左SHIFT键0xA1右SHIFT键0xA2左Ctrl键0xA3右Ctrl键0xA4左ALT键0xA5右ALT键
0xA6后退键0xA7前进键0xA8刷新键0xA9停止加载0xAA搜索键0xAB收藏键0xAC主页键0xAD静音键
0xAE音量减0xAF音量加0xB0下一曲0xB1上一曲0xB2停止播放0xB3播放/暂停0xB4邮件键0xB5选曲键
0xB6程序1键0xB7程序2键0xBB通用+键0xBC通用,键0xBD通用-键0xBE通用.键0xE5IME-PROCESS0xF6Attn 键
0xF7CrSel键0xF8ExSel键0xF9EraseEOF键0xFAPlay键0xFBZoom键0xFC预留0xFDPA1键0xFEClear键

菜单事件——通知消息:

菜单的单击事件可以在设计菜单的时候双击菜单列表项目进行绑定
其它的菜单事件都可以交给"处理窗口"这个函数自动完成,下面演示几种常用的菜单操作:
1.控制菜单项选中或者禁用
菜单复选(菜单,1001,8) 控制编号为1001的菜单选中
第一个窗体的菜单编号是从1001开始排序,一级菜单和弹出式菜单不计编号,只算可以点击的菜单
最后参数: 0是不选,1是灰色,2是禁用,8是选中,$400相对菜单项
菜单复选(菜单,1,$408) 控制相对位置为1的菜单选中
使用相对菜单项$400加上其它功能,然后控制第几个菜单,从0开始排序
2.托盘或控件右键事件弹出菜单
展示菜单(菜单.1,0,左,顶,窗口,0) 第一个一级菜单就叫菜单.1
第二个一级菜单就叫菜单.2,设计菜单的时候主菜单名称为空就不会在窗体上显示
中文名字常量数值英文名称释义
初始菜单$0116WM_INITMENU当一个菜单将被激活时发送本消息,它发生在用户点击了某菜单项或按下某菜单键。它允许程序在显示前更改菜单。③参数:菜单;④数据:0
弹出菜单$0117WM_INITMENUPOPUP当一个下拉菜单或子菜单将被激活时发送本消息,它允许程序在它显示前更改菜单,却不更改全部菜单。③参数:菜单;④数据:低位=序号,高位=是否菜单
选择菜单$011FWM_MENUSELECT当用户选择一条菜单项时,发送本消息给菜单的所有者(一般是窗口)。③参数:低位=序号,高位=标志;④数据:菜单
菜单激活$0120WM_MENUCHAR当菜单已被激活且用户按下了某菜单字符键(括号括着、带下划线,不同于快捷键)。③参数:低位=序号,高位=标志$10弹出菜单,$2000菜单;④数据:菜单;
模框空载$0121WM_ENTERIDLE当一个模态对话框或菜单进入空闲状态时,发送本消息给它的所有者,就是在处理完先前的消息后,消息队列为空时。③参数:0对话框,2菜单;④数据:窗口对象
菜单右键$0122WM_MENURBUTTONUP本消息允许程序为菜单项提供一个感知上下文的菜单(即快捷菜单)。③参数:序号;④数据:菜单
菜单点击$0123WM_MENUDRAG当用户拖动菜单项时,发送本消息给拖放菜单的拥有者,可让菜单支持拖拽,可使用OLE拖放传输协议启动拖放操作。③参数:序号;④数据:菜单;返回0保持活动,1菜单结束
单击菜单$0126WM_MENUCOMMAND当用户在一个菜单上作出选择时,会发送本消息,菜单要具有MNS_NOTIFYBYPOS风格(在MENUINFO结构体中设置)。③参数:序号;④数据:菜单
进入菜单循环$211WM_ENTERMENULOOP发送本消息通知应用程序的主窗口已进入菜单循环模式。③参数:是否显示菜单;④数据:0
退出菜单循环$212WM_EXITMENULOOP发送本消息通知应用程序的主窗口已退出菜单循环模式。③参数:是否快捷菜单;④数据:0
菜单切换$213WM_NEXTMENU当使用左箭头光标键或右箭头光标键在菜单条与系统菜单之间切换时触发本消息,③参数:键码;④数据:MDINEXTMENU

鼠标事件——通知消息:

捕获光标$0020WM_SETCURSOR若鼠标光标在某窗口内移动且鼠标没被捕获时,就会发送本消息给某个窗口。③参数:窗口;④数据:命中消息
拖曳后窗$0021WM_MOUSEACTIVATE当鼠标光标在某个未激活窗口内,而用户正按着鼠标的某个键时,会发送本消息给当前窗口。③参数:父窗;④数据:命中消息;返回值:1激活窗口不丢弃鼠标,2激活丢弃鼠标,3不激活不丢弃,4不激活丢弃鼠标
点击右键$007BWM_CONTEXTMENU当用户在某窗口中点击右键就发送本消息给该窗口,设置右键菜单。③参数:窗口;④数据:屏幕坐标x/y
单击左键$0111WM_COMMAND用户选择一条菜单命令项或某控件发送一条通知消息给其父窗,或某快捷键被翻译时,本消息被发送。③参数:低位=编号,高位=事件;④数据:控件;菜单无高位事件,快捷键高位1,两者数据都是0
单击窗口$0112WM_SYSCOMMAND当用户选择一条系统菜单命令、用户最大化或最小化或还原或关闭时。③参数:命令;④数据:点菜单时鼠标位置
鼠标起始$0200WM_MOUSEFIRST鼠标移动时发生(与WM_MOUSEMOVE等值),常用于判断鼠标消息的范围
鼠标移动$0200WM_MOUSEMOVE当鼠标在窗口客户区移动时。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
按下左键$0201WM_LBUTTONDOWN当鼠标左键在窗口客户区按下。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
释放左键$0202WM_LBUTTONUP当鼠标左键在窗口客户区放开。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
双击左键$0203WM_LBUTTONDBLCLK当鼠标左键在窗口客户区双击。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
按下右键$0204WM_RBUTTONDOWN当鼠标右键在窗口客户区按下。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
释放右键$0205WM_RBUTTONUP当鼠标右键在窗口客户区放开。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
双击右键$0206WM_RBUTTONDBLCLK当鼠标右键在窗口客户区双击。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
按下中键$0207WM_MBUTTONDOWN当鼠标中键在窗口客户区按下。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
释放中键$0208WM_MBUTTONUP当鼠标中键在窗口客户区放开。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
双击中键$0209WM_MBUTTONDBLCLK当鼠标中键在窗口客户区双击。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
滚轮转动$020AWM_MOUSEWHEEL当滚动鼠标滚轮时。③参数:高位120向后,-120向前;低位1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
鼠标结束$020AWM_MOUSELASTWM_MBUTTONDBLCLK的别名,通常用于判断鼠标消息的范围,对应的还有WM_MOUSEFIRST(鼠标起始)
失去鼠标$215WM_CAPTURECHANGED当它失去捕获的鼠标时,发送本消息给窗口。③参数:0;④数据:窗口
移动消息$216WM_MOVING当用户在移动窗口时发送本消息,通过本消息应用程序以监视窗口大小和位置,也可修改它们。③参数:0;④数据:矩形类
拖放文件$233WM_DROPFILES鼠标拖放时,放下事件产生时发送本消息,比如:文件拖放功能。③参数:文件;④数据:0
鼠标经外$2A0WM_NCMOUSEHOVER当光标悬停在窗口的非工作区上的达到指定时间发送本消息。③参数:命中值;④数据:坐标类;
鼠标经过$2A1WM_MOUSEHOVER当光标悬停在窗口的工作区上的达到指定时间发送本消息。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
鼠标离外$2A2WM_NCMOUSELEAVE当光标离开之前调用 TrackMouseEvent 中指定的窗口的非工作区时发送本消息。③参数:0;④数据:0;
鼠标离开$2A3WM_MOUSELEAVE鼠标离开控件时,触发发送本消息。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;

系统事件——通知消息:

配置更新$001AWM_WININICHANGE读写"win.ini"时会发送本消息给所有顶层窗口,通知其它进程该文件已被更改。③参数:0;④数据:名称
设备模式$001BWM_DEVMODECHANGE改变设备模式设置("win.ini")时,处理本消息的应用程序可重新初始化它们的设备模式设置③参数:0;④数据:名称
系统关机$0011WM_QUERYENDSESSION关机或注销时系统会按优先级给各进程发送,告诉应用程序要关机或注销了。③参数:0;④数据:0正在关闭事件;1文件要换或资源耗尽;4强制关闭程序;8用户正在注销
系统变色$0015WM_SYSCOLORCHANGE当系统颜色改变时,发送本消息给所有顶级窗口。③参数:0;④数据:0
开始关机$0016WM_ENDSESSION关机或注销时系统会发出消息给应用程序,通知程序会话结束。③参数:0会话结束,非0正在结束;④数据:0正在关闭事件;1文件要换或资源耗尽;4强制关闭程序;8用户正在注销
时间错误$0017WM_SYSTEMERROR系统时间错误。③参数:0;④数据:0
字库更新$001DWM_FONTCHANGE当系统的字体资源库变化时发送本消息给所有顶级窗口。③参数:0;④数据:0
时间改变$001EWM_TIMECHANGE当系统的时间变化时发送本消息给所有顶级窗口。③参数:0;④数据:0
系统暂停$0048WM_POWER当系统将要进入暂停状态时发送本消息(适用于16位的windows)③参数:1即将挂起,2挂起恢复,3含两种;④数据:0
传递数据$004AWM_COPYDATA当一个应用程序传递数据给另一个应用程序时发送本消息。③参数:窗口;④数据: COPYDATASTRUCT 结构
取消日志$004BWM_CANCELJOURNAL当用户取消程序日志激活状态时,发送本消息给那个应用程序。该消息使用空窗口句柄发送。③参数:0;④数据:0
用户出入$0054WM_USERCHANGED当用户已登入或退出后发送本消息给所有窗口;当用户登入或退出时以及系统更新用户设置时,立即发送本消息。③参数:0;④数据:0; 自 Windows Vista 起,不支持此消息。
调分辨率$007EWM_DISPLAYCHANGE当显示器的分辨率改变后,发送本消息给所有窗口。③参数:位深;④数据:分辨率x/y
电源消息$218WM_POWERBROADCAST通知它有关电源管理事件。③参数:4正在扶起,7正在恢复,10状态更改,18自动恢复,32781设置更改;④数据:无/POWERBROADCAST_SETTING/PBT_POWERSETTINGCHANGE
硬件修改$219WM_DEVICECHANGE当设备的硬件配置改变时,发送本消息给应用程序或设备驱动程序。③参数:事件;④数据:结构
主题更改$31AWM_THEMECHANGED在主题更改事件后广播到每个窗口。③参数:0;④数据:0
消息保留$0000PM_NOREMOVE查探消息处理后,消息不从队列里除掉。
消息清除$0001PM_REMOVE查探消息处理后,消息从队列里除掉。
消息空闲$0002PM_NOYIELD此标志使系统不释放等待调用程序空闲的线程。

系统特定目录——常量数值

中文名字常量英文名称释义
桌面目录0CSIDL_DESKTOP表示Windows桌面的虚拟文件夹,命名空间的根目录。
上网目录1CSIDL_INTERNETInternet Explorer 的虚拟文件夹。
程序目录2CSIDL_PROGRAMS包含用户程序组的文件系统目录
控制面板3CSIDL_CONTROLS包含控制面板应用程序的图标的虚拟文件夹。
打印目录4CSIDL_PRINTERS包含已安装打印机的虚拟文件夹。
文档目录5CSIDL_PERSONAL表示“我的文档”桌面项的虚拟文件夹。
收藏目录6CSIDL_FAVORITES用作用户收藏项的公共存储库的文件系统目录。
启动目录7CSIDL_STARTUP对应于用户的启动程序组的文件系统目录。
最近记录8CSIDL_RECENT包含用户最近使用的文档的快捷方式的文件系统目录。
发送目录9CSIDL_SENDTO包含“ 发送到” 菜单项的文件系统目录。
回收目录10CSIDL_BITBUCKET包含用户 回收站中的对象的虚拟文件夹。
开始菜单11CSIDL_STARTMENU包含 “开始” 菜单项的文件系统目录。
用户桌面16CSIDL_DESKTOPDIRECTORY用于在桌面上物理存储文件对象的文件系统目录 (不要与桌面文件夹本身混淆) 。
我的电脑17CSIDL_DRIVES表示“我的电脑”的虚拟文件夹,其中包含本地计算机上的所有内容
网络目录18CSIDL_NETWORK表示网络邻里(网络命名空间层次结构的根)的虚拟文件夹。
网上邻居19CSIDL_NETHOOD包含“网上邻居”虚拟文件夹中可能存在的链接对象。
字体目录20CSIDL_FONTS包含字体的虚拟文件夹。典型路径为 C:\Windows\Fonts。
模板目录21CSIDL_TEMPLATES用作文档模板通用存储库的文件系统目录。
公用菜单22CSIDL_COMMON_STARTMENU包含所有用户的“开始”菜单上都出现的程序和文件夹。
公用程序23CSIDL_COMMON_PROGRAMS包含所有用户在 “开始” 菜单上显示的常见程序组的目录。
公用开始24CSIDL_COMMON_STARTUP包含在所有用户的“开始”文件夹中都出现的程序的文件系统目录。
公用桌面25CSIDL_COMMON_DESKTOPDIRECTORY包含在所有用户桌面上出现的文件和文件夹的文件系统目录。
应用数据26CSIDL_APPDATA用作应用程序特定数据的通用存储库的文件系统目录。
用户打印27CSIDL_PRINTHOOD文件系统目录,包含“打印机”虚拟文件夹中可能存在的链接对象。
虚程序组29CSIDL_ALTSTARTUP对应于用户的非本地化启动程序组的文件系统目录。(已弃用)
公程序组30CSIDL_COMMON_ALTSTARTUP与所有用户的非本地化启动程序组对应的文件系统目录。(已弃用)
公用收藏31CSIDL_COMMON_FAVORITES文件系统目录,用作所有用户通用的收藏夹项目的通用存储库。
网络缓存32CSIDL_INTERNET_CACHE用作临时 Internet 文件的通用存储库的文件系统目录。
信息缓存33CSIDL_COOKIES用作 Internet Cookie 通用存储库的文件系统目录。
历史记录34CSIDL_HISTORY用作Internet历史记录项的公共存储库的文件系统目录。

子窗口事件——通知消息:

中文名字常量数值英文名称释义
通知子窗$0022WM_CHILDACTIVATE点击窗口标题栏或当窗口被激活、移动、大小改变时,会发送本消息给MDI子窗口。③参数:0;④数据:0
子窗变动$210WM_PARENTNOTIFY当MDI子窗口被创建或被销毁,或用户按了一下鼠标键而光标在子窗口上时,发送本消息给其父窗③参数:事件;④数据:坐标x/y;
子窗创建$220WM_MDICREATE发送本消息给多文档应用程序的客户窗口来创建一个MDI子窗口。③参数:0;④数据:子窗结构
子窗关闭$221WM_MDIDESTROY发送本消息给多文档应用程序的客户窗口来关闭一个MDI子窗口。③参数:子窗;④数据:0
子窗激活$222WM_MDIACTIVATE发送本消息通知客户窗口激活另一个MDI子窗口。③参数:0;④数据:0忽略,非0最大化
子窗恢复$223WM_MDIRESTORE发送本消息给MDI客户窗口,让子窗口从最大最小化恢复到原来的大小。③参数:子窗;④数据:0
子窗下个$224WM_MDINEXT发送本消息给MDI客户窗口,激活下一个或前一个窗口。③参数:子窗;④数据:0激活下个,非0激活上个
子窗最大$225WM_MDIMAXIMIZE发送本消息给MDI客户窗口来最大化一个MDI子窗口。③参数:子窗;④数据:0
子窗平铺$226WM_MDITILE发送本消息给MDI客户窗口,以平铺方式重新排列所有MDI子窗口。③参数:0垂直,1水平;④数据:0
子窗层叠$227WM_MDICASCADE发送本消息给MDI客户窗口,以层叠方式重新排列所有MDI子窗口。③参数:2不排禁用窗口,4按Z序;④数据:0
子窗排底$228WM_MDIICONARRANGE发送本消息给MDI客户窗口重新排列所有最小化的MDI子窗口。③参数:0;④数据:0
子窗活动$229WM_MDIGETACTIVE发送本消息给MDI客户窗口以找到激活的子窗口句柄。③参数:0;④数据:0忽略,非0最大化
子窗设置菜单$230WM_MDISETMENU发送本消息给MDI客户窗口,用MDI菜单代替子窗口的整个菜单和/或框架窗口菜单。③参数:框架菜单;④数据:窗口菜单
子窗更新菜单$234WM_MDIREFRESHMENU发送本消息给多文档应用程序的客户窗口,根据当前MDI子窗口更新MDI框架窗口的菜单。③参数:0;④数据:0

剪切板操作——控制消息:

1.控制编辑框使用复制粘贴
发送消息(编辑框1,内容剪切,0,0) 剪切编辑框1选中的内容文本
发送消息(编辑框1,内容复制,0,0) 复制编辑框1选中的内容文本
发送消息(编辑框1,内容粘贴,0,0) 粘贴文本到编辑框1中
发送消息(编辑框1,内容删除,0,0) 删除编辑框1选中的内容文本
发送消息(编辑框1,内容撤销,0,0) 撤销编辑框1刚刚的操作
2.使用系统剪切板,需要在模块列表里选择剪切板模块
剪切板="要写入剪切板的内容" 向剪切板中写入一段文字
整数 内容=剪切板 获取剪切板的文本内容指针地址
发送消息(窗体,设置文本,0,内容) 把获取到的内容显示到窗口标题栏
中文名字常量数值英文名称释义
内容剪切0x300WM_CUT剪切删除当前选择的文本。③参数:0;④数据:0
内容复制0x301WM_COPY复制当前选择的文本到剪贴板。③参数:0;④数据:0
内容粘贴0x302WM_PASTE应用程序发送本消息给编辑框或组合框,以便从剪贴板中得到数据。③参数:0;④数据:0
内容删除0x303WM_CLEAR应用程序发送本消息给编辑框或组合框,以清除当前选择的内容。③参数:0;④数据:0
内容撤销0x304WM_UNDO应用程序发送本消息给编辑框或组合框,以撤消最后一次操作。③参数:0;④数据:0
剪切数据$305WM_RENDERFORMAT应用程序需要系统剪切板数据时,触发发送本消息。③参数:剪切格式;④数据:0
剪切数列$306WM_RENDERALLFORMATS应用程序退出时,系统会给当前程序发送该消息,要求提供所有格式的剪帖板数据,避免造成数据丢失。③参数:0;④数据:0
剪切清空$307WM_DESTROYCLIPBOARD当调用"清剪切板"函数时,发送本消息给剪贴板的所有者
剪切变更$308WM_DRAWCLIPBOARD当剪贴板的内容变化时,触发本消息;它允许用剪贴板观察窗口来显示剪贴板的新内容。③参数:0;④数据:0
剪切重绘$309WM_PAINTCLIPBOARD当剪贴板观察窗口的客户区需要重画时,触发发送本消息。③参数:窗口;④数据: PAINTSTRUCT 结构
剪切竖条$30AWM_VSCROLLCLIPBOARD当剪贴板查看器的垂直滚动条被单击时。③参数:窗口;④数据:0上滚一行,1下滚一行,2上滚一页,3下滚一页,4绝对位置(高字是位置),6到左上角,7到右下角,8结束滚动;
剪切缩放$30BWM_SIZECLIPBOARD当剪贴板包含CF_OWNERDIPLAY格式的数据,并且剪贴板观察窗口的大小已改变。③参数:窗口;④数据:矩形类
剪切取名$30CWM_ASKCBFORMATNAME通过剪贴板观察窗口发送本消息给剪贴板的所有者,以请求一个CF_OWNERDISPLAY格式的剪贴板的名字。③参数:大小;④数据:缓冲区
剪切移出$30DWM_CHANGECBCHAIN当一个窗口从剪贴板观察链中移去时,发送本消息给剪贴板观察链的首个窗口。③参数:窗口;④数据:下个窗口
剪切平条$30EWM_HSCROLLCLIPBOARD点击剪贴板观察窗的水平滚动条。③参数:窗口;④数据:0上滚一行,1下滚一行,2上滚一页,3下滚一页,4绝对位置(高字是位置),6到左上角,7到右下角,8结束滚动;
剪切板改$31DWM_CLIPBOARDUPDATE剪贴板的内容发生更改时发送。③参数:0;④数据:0

调色板——消息消息:

中文名字常量数值英文名称释义
色板请求$30FWM_QUERYNEWPALETTE本消息发送给将要收到焦点的窗口,本消息能使窗口在收到焦点时同时有机会实现逻辑调色板。③参数:0;④数据:0
色板启用$310WM_PALETTEISCHANGING当一个应用程序正要实现它的逻辑调色板时,发本消息通知所有的应用程序。③参数:窗口;④数据:0
色板变更$311WM_PALETTECHANGED发送本消息给所有顶级并重叠的窗口,以此来改变系统调色板。③参数:窗口;④数据:0
用户消息$400WM_USER用于帮助应用程序自定义私有消息,通常形式为:WM_USER + X
程序消息$8000WM_APP用于帮助应用程序自定义私有消息,通常形式为:WM_APP + X

编辑框——控件消息:

发送消息(编辑框1,编辑替换,真,"插入替换的文字") 替换编辑框1选中的内容,若无选中向光标处插入文本
发送消息(编辑框1,编辑选中,3,9) 控制选中编辑框1选中的从第3到第9个字之间的内容
文本 内容[120]=120;发送消息(编辑框1,编辑取行,2,内容) 获取编辑框1第三行文字到内容缓冲区,要先写入长度数值
中文名字常量数值英文名称释义
编辑所选$B0EM_GETSEL获取光标位置(④数据)或取得编辑控件中选定内容的范围(③参数为起点,④数据为终点)。返回值中低16位为起点,高16位为终点
编辑选中$B1EM_SETSEL设置编辑控件中文本选定内容范围(或设置光标位置),③参数为起点,④数据为终点。
编辑矩形$B2EM_GETRECT获取编辑控件的格式矩形(控件在其中绘制文本的限制矩形)。在④数据中获取
编辑范围$B3EM_SETRECT设置多行编辑控件的格式矩形(绘制范围)。它与编辑控件窗口的大小无关。在④数据中指定矩形
编辑大小$B4EM_SETRECTNP设置多行编辑控件的格式矩形。与编辑范围的区别是不重绘编辑控件窗口。
编辑竖翻$B5EM_SCROLL在多行编辑控件中垂直滚动文本。③参数:0上滚一行 1下滚一行 2上滚一页 3下滚一页
编辑滚动$B6EM_LINESCROLL滚动多行编辑控件中的文本。③参数:水平滚动字数(富文本框为0),④数据:垂直滚动的行数。
编辑滚点$B7EM_SCROLLCARET将插入点(光标)滚动到编辑控件的视图中。③参数:0;④数据:0
编辑状态$B8EM_GETMODIFY获取编辑控件的修改标志的状态。③参数:0;④数据:0,返回值非零表示编辑控件的内容已修改
编辑修改$B9EM_SETMODIFY设置或清除编辑控件的修改标志。③参数用真或假指定修改标志的状态。
编辑行数$BAEM_GETLINECOUNT获取多行编辑控件中的行数。③参数:0;④数据:0,返回行数。
编辑行位$BBEM_LINEINDEX获取多行编辑控件中指定行的第一个字符的字符索引。也就是从开头的第几个字,③参数:行号 -1表示光标所在行
编辑指针$BCEM_SETHANDLE设置多行编辑控件将使用的内存的句柄。③参数:指定新的内存缓冲区
编辑手柄$BDEM_GETHANDLE获取当前为多行编辑控件的文本分配的内存的句柄。③参数:0;④数据:0,返回句子手柄
编辑滑块$BEEM_GETTHUMB获取多行编辑控件垂直滚动条中滚动框 (滑块) 的位置。③参数:0;④数据:0,返回滑块位置
编辑行字$C1EM_LINELENGTH检索编辑控件中行的字符数。③参数:第几个字,-1是光标处
编辑替换$C2EM_REPLACESEL将编辑控件中的选定文本或丰富的编辑控件替换为指定的文本。③参数为真可撤销,④数据是文本指针
编辑取行$C4EM_GETLINE从编辑控件复制一行文本,并将其置于指定的缓冲区中。③参数:行号(0开始),④数据:接收内容的文本指针
编辑限字$C5EM_LIMITTEXT设置编辑控件的文本限制最大字数。③参数:限制字数
编辑可撤$C6EM_CANUNDO确定编辑控件的撤消队列中是否有任何操作。③参数:0;④数据:0,返回非0表示可以进行撤销
编辑撤销$C7EM_UNDO此消息撤消控件队列中最后一次编辑控件操作。③参数:0;④数据:0,返回真表示撤销成功
编辑软行$C8EM_FMTLINES设置一个标志,用于确定多行编辑控件是否包含软换行符(两个回车加一换行符,英文断词用)。③参数为真是可以有,为假则清除
编辑字行$C9EM_LINEFROMCHAR获取包含多行编辑控件中指定字符索引的行的索引。③参数:第几个字,-1是光标所在行
编辑制表$CBEM_SETTABSTOPS设置多行编辑控件中的制表位。③参数:制表位数目,④数据:制表位数组
编辑密码$CCEM_SETPASSWORDCHAR设置或删除编辑控件的密码字符。 ③参数:取代内容文字的字符,为0时恢复文字显示
编辑重置$CDEM_EMPTYUNDOBUFFER重置编辑控件的撤消标志。③参数:0;④数据:0。
编辑上字$CEEM_GETFIRSTVISIBLELINE获取多行编辑控件中最上端可见行的从零开始的索引。③参数:0;④数据:0
编辑只读$CFEM_SETREADONLY设置或删除编辑控件的只读样式。③参数为真是只读,为假是可写;④数据:0。
编辑函数$D0EM_SETWORDBREAKPROC将编辑控件的默认 文字显示处理 函数替换为应用程序自定义的处理函数。④数据:自定函数指针
编辑地址$D1EM_GETWORDBREAKPROC获取编辑控件的默认 文字显示处理 函数的地址。③参数:0;④数据:0,返回地址。
编辑密字$D2EM_GETPASSWORDCHAR获取编辑控件在用户输入文本时显示的密码字符。③参数:0;④数据:0,返回字符。
编辑边距$D3EM_SETMARGINS设置编辑控件的左右边距的宽度。 ③参数:1是左边距 2右边距,④数据:低位左边距,高位右边距
编辑边宽$D4EM_GETMARGINS获取编辑控件的左右边距的宽度。③参数:0;④数据:0,返回低位是左边宽,高位是右边宽。
编辑字限$D5EM_GETLIMITTEXT获取编辑控件的当前文本限制。 ③参数:0;④数据:0,返回限制字数
编辑坐标$D6EM_POSFROMCHAR检索编辑控件中指定字符的工作区坐标。③参数:字的索引,返回低位是左,高位是顶
编辑点字$D7EM_CHARFROMPOS获取与编辑控件的工作区中指定点最接近的字符的信息。④数据:富文本框是坐标结构指针,普通框是整数。低位左,高位顶。返回指定位置字的索引,编辑框高位包含该行的字索引
编辑交互$D8EM_SETIMESTATUS设置编辑控件如何与输入法编辑器交互。③参数:1组合字符串;④数据:1返回结果字符串,2焦点取消组合字符串,3失去焦点完成组合字符串
编辑方式$D9EM_GETIMESTATUS获取编辑控件如何与输入法编辑器交互。③参数:1组合字符串;④数据:0;返回值:1立即返回结果字符串,2焦点取消组合字符串,3失去焦点完成组合字符串
左边编距$1EC_LEFTMARGIN③参数的值,设置编辑控件的左边距的宽度。
右边编距$2EC_RIGHTMARGIN③参数的值,设置编辑控件的右边距的宽度。
精细编距$0FFFFEC_USEFONTINFO③参数的值,设置编辑控件的边距的精细宽度。

按钮、单选钮、复选框、分组框——控件消息:

整数 图标=载入图标(0,32518)
发送消息(按钮1,换按钮图,1,图标)
; 显示的是一个盾牌图标
删除对象(光标); 删除加载的光标对象,从而释放读取光标使用的内存
32512默认图标,32513错误图标,32514问号图标,32515警告图标,32516,信息图标
整数 光标=载入光标(0,32649); 显示的是一个手形光标
发送消息(按钮1,换按钮图,2,光标) 修改按钮1鼠标经过时显示的光标
删除对象(光标); 删除加载的光标对象,从而释放读取光标使用的内存
32512箭头,32513文本I,32514转圈(忙),32515十字,32516,向上
32631笔形,32642左上右下对角线,32643右上左下对角线,32644水平调整,32645垂直调整
32646移动光标,32648禁止,32649链接,32650后台工作,32651帮助,32671定位,32672人员
中文名字常量数值英文名称释义
获取选择$00F0BM_GETCHECK获取单选按钮或复选框的状态。 ③参数:0;④数据:0
设置选择$00F1BM_SETCHECK设置单选按钮或复选框的状态。 ③参数:0不选,1选中,2变灰不可用;④数据:0
获取选形$00F2BM_GETSTATE确定单选按钮或复选框的状态。 ③参数:0;④数据:0
设置选形$00F4BM_SETSTATE改变按钮的高亮状态。 ③参数:0不突出,非0突出显示;④数据:0
改变按钮$00F4BM_SETSTYLE改变按钮的风格。 ③参数:样式;④数据:0不重绘,非0重绘
模拟点击$00F5BM_CLICK模拟用户点击按钮。 ③参数:0;④数据:0
取按钮图$00F6BM_GETIMAGE获取与按钮相关联的图片句柄。 ③参数:0位图,1图标;④数据:0
换按钮图$00F7BM_SETIMAGE把按钮与某张图片相关联。 ③参数:0位图,1图标;④数据:图片
设置单击$00F8BM_SETDONTCLICK控制单选按钮获得焦点时单击事件的生成。 ③参数:0不点,非0点击;④数据:0

组合框——控件消息:

发送消息(组合框1,组合添加,0,"内容");向组合框1添加项目
发送消息(组合框1,组合删除,0,0);删除组合框1的0号项目
数量=发送消息(组合框1,组合总项,0,0);获取组合框1里项目的总数
发送消息(组合框1,组合文件,0,"*");组合框1里显示当前目录下所有文件
中文名字常量数值英文名称释义
组合添加$143CB_ADDSTRING用于向组合框控件追加一个列表项。③参数:0;④数据:文字
组合删除$144CB_DELETESTRING用于删除组合框中指定的列表项。③参数:序号;④数据:0
组合文件$145CB_DIR用于向组合框控件所包含的列表框控件中添加一个文件名列表清单。③参数:路径选项;④数据:路径
组合总项$146CB_GETCOUNT用于返回组合框控件中列表项的总项数。③参数:0;④数据:0
取组合项$147CB_GETCURSEL用于返回当前被选择项的索引。③参数:0;④数据:0
组合读取$148CB_GETLBTEXT获取组合框控件中指定列表项的字符串。③参数:序号;④数据:缓冲区
组合长度$149CB_GETLBTEXTLEN用于返回组合框控件中指定列表项的字符串的长度。③参数:序号;④数据:0
组合插入$14ACB_INSERTSTRING在组合框控件所包含的列表框子控件中的指定位置插入字符串。③参数:序号,-1末尾;④数据:文字
组合清除$14BCB_RESETCONTENT用于清除组合框控件所有列表项。③参数:0;④数据:0
组合查找$14CCB_FINDSTRING在组合框控件中根据给定的字符串查找匹配字符串(忽略大小写)。③参数:序号,-1开头;④数据:文字
组合选择$14DCB_SELECTSTRING在组合框控件中设定与指定字符串相匹配的列表项为选中项。③参数:序号,-1开头;④数据:文字
选组合项$14ECB_SETCURSEL在组合框控件中设置指定的列表项为当前选择项。③参数:序号;④数据:0
下拉显示$14FCB_SHOWDROPDOWN用于显示或关闭下拉式和下拉列表式组合框的列表框。③参数:0隐藏,非0显示;④数据:0
组合数据$150CB_GETITEMDATA获取组合框控件指定列表项的附加数据。③参数:序号;④数据:0
组合附加$151CB_SETITEMDATA更新组合框指定的列表项的32位附加数据。③参数:序号;④数据:新值
组合位置$152CB_GETDROPPEDCONTROLRECT用于取组合框中列表框的屏幕位置。③参数:0;④数据:矩形类
改下拉高$153CB_SETITEMHEIGHT指定组合框中列表项的显示高度。③参数:0项高度,1选字高度;④数据:框高度
取下拉高$154CB_GETITEMHEIGHT用于返回指定列表项的高度。③参数:0项高度,-1选字高度;④数据:0
扩展组合$155CB_SETEXTENDEDUI指定下拉式或下拉列表式组合框是使用默认界面还是扩展界面。③参数:0默认,非0扩展;④数据:0
组合扩展$156CB_GETEXTENDEDUI用于返回组合框是否存在扩展界面。③参数:0;④数据:0
下拉可见$157CB_GETDROPPEDSTATE用于取组合框中列表框是否可见。③参数:0;④数据:0
查组合项$158CB_FINDSTRINGEXACT在组合框中查找字符串,本消息必须整个字符串相同。③参数:序号;④数据:文字
组合设区$159CB_SETLOCALE设置组合框的当前区域。③参数:区域;④数据:0
组合区域$15ACB_GETLOCALE获取组合框的当前区域设置。③参数:0;④数据:0
组合显项$15BCB_GETTOPINDEX检索组合框列表框部分中第一个可见项的从零开始的索引。③参数:0;④数据:0
组合滚动$15CCB_SETTOPINDEX滚动列表框让特定项在组合框的列表框中可见。③参数:序号;④数据:0
组合平宽$15DCB_GETHORIZONTALEXTENT获取列表框可以水平滚动的宽度(像素)。③参数:0;④数据:0
组合改宽$15ECB_SETHORIZONTALEXTENT修改列表框可以水平滚动的宽度(像素)。③参数:宽度;④数据:0
组合宽限$15FCB_GETDROPPEDWIDTH获取组合框的列表框的最小允许宽度(像素)。③参数:0;④数据:0
组合限宽$160CB_SETDROPPEDWIDTH设置组合框的列表框的最小允许宽度(像素)。③参数:宽度;④数据:0
组合内存$161CB_INITSTORAGE分配组合框用于存储列表框项的内存。③参数:项数;④数据:内存大小
组合最少$163CB_GETMINVISIBLE获取组合框下拉列表中可见项的最小数目。③参数:0;④数据:0
组合信息$164CB_SETDROPPEDWIDTH获取有关指定组合框的信息。③参数:0;④数据:COMBOBOXINFO 结构

组合框、列表框——读取文件列表类型

中文名字常量数值英文名称释义
包含只读1DDL_READONLY包括只读文件
包含隐藏2DDL_HIDDEN包括隐藏文件
包含系统4DDL_SYSTEM包括系统文件
包含目录$10DDL_DIRECTORY包括子目录
包含存档$20DDL_ARCHIVE包括存档文件
只传信息$2000DDL_POSTMSGS只把信息传给应用消息队列,不响应列表
包含盘符$4000DDL_DRIVES包括盘符文件
不含读写$8000DDL_EXCLUSIVE不包括默认已经包含的读写文件
全部路径$4037DIRATTR包括全部路径(读写,只读,隐藏,系统,目录,存档,盘符)

静态框——控件消息

整数 图片=加载图像(0,"sec.bmp",图片类型,0,0,$10);从文件中加载一个图片,$10标志是从文件加载
发送消息(图像框1,换静图片,0,图片); 修改图像框1显示的图片
删除对象(图片);删除加载的图片对象,从而释放读取图片使用的内存
在设计界面的时候图像框的文字设置为“#1”就会自动加载资源里的1号资源图标,资源号可以在添加资源时候查看
整数 图标=载入图标(0,32518)
发送消息(图像框1,换静图片,1,图标)
修改图像框1显示的图标
删除对象(图标); 删除加载的图标对象,从而释放读取图像使用的内存
显示的是一个盾牌图标;32512默认图标,32513错误图标,32514问号图标,32515警告图标,32516,信息图标
整数 光标=载入光标(0,32649); 显示的是一个手形光标
发送消息(图像框1,换静图片,2,光标) 修改图像框1鼠标经过时显示的光标
删除对象(光标); 删除加载的光标对象,从而释放读取光标使用的内存
32512箭头,32513文本I,32514转圈(忙),32515十字,32516,向上
32631笔形,32642左上右下对角线,32643右上左下对角线,32644水平调整,32645垂直调整
32646移动光标,32648禁止,32649链接,32650后台工作,32651帮助,32671定位,32672人员
中文名字常量数值英文名称释义
换静图标$170STM_SETICON更改静态图片框的图标。③参数:图标;④数据:0
取静图标$171STM_GETICON获取静态图片框的图标。③参数:0;④数据:0
换静图片$172STM_SETIMAGE更换静态图片框的位图。③参数:0位图,1图标,2光标,3图元;④数据:图片
取静图片$173STM_GETIMAGE获取静态图片框的位图。③参数:0位图,1图标,2光标,3图元;④数据:0

列表框——控件消息:

发送消息(列表框1,列表添加,0,"内容");向列表框1添加项目
发送消息(列表框1,列表删除,0,0);删除列表框1的0号项目
数量=发送消息(列表框1,列表数量,0,0);获取列表框1里项目的总数
序号=发送消息(列表框1,列表选项,0,0);获取列表框1里选中项目的序号
发送消息(列表框1,列表文件,0,"*");列表框1里显示当前目录下所有文件
中文名字常量数值英文名称释义
列表添加$180LB_ADDSTRING向列表框中添加字符串。③参数:序号;④数据:文字
列表插入$181LB_INSERTSTRING向列表框中插入一个条目数据或字符串(不排序)。③参数:序号,-1末尾;④数据:文字
列表删除$182LB_DELETESTRING删除列表框中的一个字符串。③参数:序号;④数据:0
列表选多$183LB_SELITEMRANGEEX在多选状态下的列表框中选择一个或多个连续的条目。③参数:首序号;④数据:末序号
列表清除$184LB_RESETCONTENT清除列表框中所有列表项。③参数:0;④数据:0
列表选择$185LB_SETSEL在多选状态下的列表框中选择一个字符串。③参数:0不选,非0选中;④数据:序号,-1所选
列表选中$186LB_SETCURSEL在列表框中选择一个字符串,并高亮新选中的字符串。③参数:序号,-1不选;④数据:0
列表状态$187LB_GETSEL获得列表框中一个条目的选择状态。③参数:序号;④数据:0
列表选项$188LB_GETCURSEL获得列表框中当前被选条目的索引。仅在单选状态的列表框有效。③参数:0;④数据:0
列表读取$189LB_GETTEXT从列表框中获得一个字符串。③参数:序号;④数据:文字
列表长度$18ALB_GETTEXTLEN获得一个列表框中字符串的长度。③参数:序号;④数据:0
列表数量$18BLB_GETCOUNT获得列表框中条目的数量。③参数:0;④数据:0
选列表项$18CLB_SELECTSTRING仅适用于单选择列表框,设定与指定字符串相匹配的列表项为选中项,会滚动列表框以使选择项可见。③参数:序号,-1开头;④数据:文字
列表文件$18DLB_DIR在列表框中列出文件名。③参数:路径选项;④数据:路径
列表查找$18FLB_FINDSTRING在列表框中查找匹配字符串(忽略大小写)。③参数:序号,-1开头;④数据:文字
列表选数$190LB_GETSELCOUNT本消息用于返回选择项的数目。③参数:0;④数据:0
列表选位$191LB_GETSELITEMS本消息用于获得选中项的数目及位置。③参数:数量;④数据:缓冲区
取列表宽$193LB_GETHORIZONTALEXTENT返回列表框的可滚动的宽度。③参数:0;④数据:0
改列表宽$194LB_SETHORIZONTALEXTENT本消息设置列表框的滚动宽度。③参数:像素;④数据:0
列表列数$195LB_SETCOLUMNWIDTH设置多列列表框中所有列的宽度。③参数:像素;④数据:0
列文件名$196LB_ADDFILE为列表框增加文件名。③参数:0;④数据:文字
列表区域$198LB_GETITEMRECT用于列表框中获得列表项的客户区的矩形。③参数:序号;④数据:矩形类
列表数据$199LB_GETITEMDATA本消息用于返回指定列表项的附加数据。③参数:序号;④数据:0
列表附加$19ALB_SETITEMDATA用于更新列表框中指定列表项的32位附加数据。③参数:序号;④数据:新值
列表非选$19BLB_SELITEMRANGE用来使指定范围内的列表项选中或落选。③参数:0不选,非0选择;④数据:开始-最后项
列表指定$19CLB_SETANCHORINDEX用于列表框中设置鼠标最后选中的表项成指定表项。③参数:序号;④数据:0
列表选取$19DLB_GETANCHORINDEX用于列表框中鼠标最后选中的项的索引。③参数:0;④数据:0
列表键选$19ELB_SETCARETINDEX用于列表框中设置键盘输入焦点到指定表项。③参数:序号;④数据:0完全可见,非0部分可见
列表键取$19FLB_GETCARETINDEX用于列表框中返回具有矩形焦点的项目索引。③参数:0;④数据:0
改列表高$1A0LB_SETITEMHEIGHT用于列表框中指定列表项显示高度。③参数:序号;④数据:像素数
取列表高$1A1LB_GETITEMHEIGHT用于列表框中返回列表框中某一项的高度。③参数:序号;④数据:0
查列表项$1A2LB_FINDSTRINGEXACT用于列表框中查找字符串(忽略大小写),本消息必须整个字符串相同。③参数:序号,-1开头;④数据:文字
改列表数$1A7LB_SETCOUNT用于列表框中设置表项数目。③参数:项数量;④数据:0
列表内存$1A8LB_INITSTORAGE分配用于存储列表框项的内存。③参数:项数量;④数据:内存大小
列表点项$1A9LB_ITEMFROMPOINT获取最接近列表框中指定点的项的从零开始的索引。③参数:0;④数据:坐标x/y

滚动条——控件消息:

发送消息(滚动条1,滚动位置,50,真);控制滚动条1的滑动块到指定位置
位置=发送消息(滚动条1,滚动取值,0,0);获取滚动条1的滑动块当前所在位置
发送消息(滚动条1,滚动限定,0,100);设置滚动条1的最小到最大滚动范围
发送消息(滚动条1,滚动取限,@最小,@最大);获取滚动条1的最小到最大滚动范围
发送消息(滚动条1,滚动箭头,2,0);设置滚动条1的右边(垂直滚动为下边)箭头禁止使用
中文名字常量数值英文名称释义
滚动位置$E0SBM_SETPOS设置滚动框的位置 ,并根据需要重绘滚动条来反映新位置;③参数:位置;④数据:是否重绘;
滚动取值$E1SBM_GETPOS检索滚动条控件的滚动框的当前位置;③参数:0;④数据:0;
滚动限定$E2SBM_SETRANGE设置滚动条控件的最小和最大位置值。③参数:最小值;④数据:最大值;
滚动取限$E3SBM_GETRANGE获取滚动条控件的最小和最大位置值。③参数:@最小值;④数据:@最大值;
滚动箭头$E4SBM_ENABLE_ARROWS启用或禁用滚动条控件的一个或两个箭头。③参数:0都启用,1禁左/上,2禁右/下,3都禁用;④数据:0;
滚动范围$E6SBM_SETRANGEREDRAW设置滚动条最小和最大位置并重绘控件。③参数:最小值;④数据:最大值;
滚动设置$E9SBM_SETSCROLLINFO设置滚动条的位置范围等参数。③参数:是否重绘;④数据:SCROLLINFO 结构;
滚动参数$EASBM_GETSCROLLINFO获取滚动条控件的位置范围等参数。③参数:0;④数据:SCROLLINFO 结构;
滚动信息$EBSBM_GETSCROLLBARINFO获取滚动条控件的位置范围等信息。③参数:0;④数据:SCROLLBARINFO 结构;

进度条——控件消息:

发送消息(进度条1,进度限定,0,300);设置进度条1上下限范围是0-300
发送消息(进度条1,进度位置,50,0);设置进度条1的当前位置到50
发送消息(进度条1,进度步长,20,0);设置进度条1每次步进的值为20
发送消息(进度条1,进度步进,0,0);控制进度条1位置增加指定的步长
位置=发送消息(进度条1,进度取值,0,0);获取进度条1的当前位置
中文名字常量数值英文名称释义
进度范围$401PBM_SETRANGE设置进度条控件范围的上下限,并重绘进度条来反映新范围;③参数:0;④数据:低位最小值,高位最大值;默认0-100
进度位置$402PBM_SETPOS以指定位置来设置进度条的当前位置,并重绘进度条来反映新位置;③参数:位置;④数据:0
进度增量$403PBM_DELTAPOS以指定的增量来增加进度条控件的当前位置;③参数:增量;④数据:0
进度步长$404PBM_SETSTEP为进度条控件指定步长(缺省为10);③参数:步长;④数据:0
进度步进$405PBM_STEPIT用步进值来增加一个进度条控件的当前位置;③参数:0;④数据:0
进度限定$406PBM_SETRANGE32为进度条设置32位的上下限范围;③参数:最小值;④数据:最大值
进度取限$407PBM_GETRANGE获取当前进度条控件的上下限范围;③参数:真=低限,假=高限;④数据:PBRANGE 结构或者0
进度取值$408PBM_GETPOS检取进度条的当前位置;③参数:0;④数据:0;返回当前位置
进度块色$409PBM_SETBARCOLOR设置进度条控件上滑块的颜色(COLORREF值);③参数:0;④数据:颜色;返回之前颜色
进度背色$2001PBM_SETBKCOLOR设置进度条控件的背景色;③参数:0;④数据:新颜色;返回之前颜色

动态链接库——开发应用

中文名字常量英文名称释义
初次调用1DLL_PROCESS_ATTACH当这个DLL被映射到了进程的地址空间时
线程创建2DLL_THREAD_ATTACH一个线程正在被创建
线程结束3DLL_THREAD_DETACH线程终结
结束调用0DLL_PROCESS_DETACH这个DLL从进程的地址空间中解除映射

托盘图标菜单和消息

中文名字常量英文名称释义
托盘添加0NIM_ADD将图标添加到状态区域。
托盘更新1NIM_MODIFY修改状态区域中的图标。
托盘删除2NIM_DELETE从状态区域中删除图标。
托盘焦点3NIM_SETFOCUS将焦点返回到任务栏通知区域。
托盘版本4NIM_SETVERSION指示通知区域按照指定的版本号的行为
第九节 极语言模块类库
开发使用:点击设置菜单-选择"编辑模块",打开设置选项的界面
使用模块勾选模块列表里的项目即可
选中项目,点击"编辑模块"按钮可以查看源代码
开发模块点击"新建模块"按钮,输入模块名称
然后在编辑器界面就可以开发模块了,模块里可以写类
极语言更新的模块函数只有中文名称,英文仅作对照参考
中文名字英文名称用法示例作用解释
定时器Timer定时器(窗体,编号,毫秒)开启指定编号和毫秒的定时器,毫秒数为零关闭定时器。
定时器事件TimerEvents定时器事件(窗口,消息,编号,毫秒)定时器回调的事件。
音乐播放MusicPlay音乐播放("命令").添加("文件名").开始(编号).暂停(1).停止(2)
数据.连接DataConn数据.连接(语句)提交SQL连接语句建立数据库连接。
数据.执行DataExec数据.执行(语句)提交SQL执行语句读取写入数据库。
数据.读取DataRead数据.读取(语句)提交SQL查询语句返回结果数或更新的行数。
数据.读表DataTable数据.读表(表名)提交数据库表名读取全表并返回行数。
数据.写入DataWrite数据.写入(语句)提交SQL执行语句读取写入数据库。
数据.释放DataFree数据.释放释放已打开的数据库表。
数据.关闭DataClose数据.关闭关闭数据库连接。
调用对象callobject调用对象(名称,方式,参数,数据)访问新建对象的属性和方法,方式:1方法;2属性读;3属性写;4参照赋值;参数为DISPPARAMS结构,数据为Variant结构
集合Collection集合集合类,添加(键值):不重复的编号键;取值:获取一个键值并删除;取键(键值):获取编号键值的序号,判断是否存在。
容器类Dictionary容器类初始化;添加(键值,数值):添加键值对,也可修改;取值(键值):获取键对应数值;查值(数值):通过值查询键;取键(键值):获取键的序号;删除(键值):删除指定键
初始页框AtlAxWinInit初始页框初始化ActiveX控件,如:网页浏览框,FLASH控件等
页框控件AtlAxGetControl页框控件获取指向包含在指定窗口内控件的接口指针
进程信息NtQueryInformationProcess进程信息(进程,类别,数据,长度,大小)检索有关指定进程的信息。
网络消息NetworkMessages网络消息{网络事件(参数,数据)}网络通讯模块的自定义消息事件
网络窗口NetworkWindow网络窗口(窗体)网络通讯模块的初始化网络并指定窗口
网络连接NetworkConnection网络连接(网址,端口)网址为0是监听端口,指定IP地址是连接网络
网络数据NetworkData网络数据(网口)网络数据到来或连接成功时触发,从网络接口获取数据
网络断开NetworkClose网络断开(网口)网络接口断开时触发的事件
设置网络SetTcpEntry设置网络(数据)设置 TCP 连接的状态
网卡信息GetAdaptersInfo网卡信息(数据,长度)检索本地计算机的适配器信息。
网络列表GetExtendedTcpTable网络列表(数据,长度,排序,版本,类别,0)检索包含应用程序可用的 TCP 终结点列表的表。
导入列表ImageDirectoryEntryToData导入列表(基址,映像,索引,大小)获取对特定于图像的数据的访问权限。
哈希加密CryptHash哈希加密(数据,长度,算法)常用算法:MD2=$8001;MD4=$8002;MD5=$8003;SHA1=$8004;MAC=$8005;SHA256=$800C;SHA512=$800E;
编码转换CodePage编码转换(数据,65001,936)文字编码相互转换,UTF-8=65001;GBK=936;BIG5=950;日文=932;韩文=949;泰文=874
分割文字split分割文字(内容,符号,@数组)返回分割后数组的长度,动态数组使用名称.指针,固定数组使用@
替换文字Replace替换文字(原文,查找,替换)返回替换后的文字,替换英文区分大小写
替换文本ReplaceI替换文本(原文,查找,替换)返回替换后的文字,替换英文不区分大小写
文件内容filedata文件内容(路径)返回文件数据的地址(自行释放);文件内容(路径,[长度])=数据内容
图像列表ImageList图像列表(数量,大小,格式)格式:0=位图1图标2光标。添加指定数量和大小的图像到列表,默认从ICO_0.ico开始加载,数字依次递增;
表背景色ListView_BkColor表背景色(控件,颜色)获取或设置表格的背景颜色
表格图像ListViewImage表格图像(控件,格式,图列)获取或设置表格控件的图像列表,格式:0大图,1小图标,2状态
表格项数ListView_ItemCount表格项数(控件,数量)获取或设置表格的所有项数,包括子项
表格读取ListView_GetItem表格读取(控件,项,子项,内容,长度)读取表格指定项和子项内的文字内容;点击表项时,数据偏移12为项(行),16为子项(列);
表格添加ListView_AddItem表格添加(控件,内容,行,列,图)向表格添加或修改子项内容,指定行列和图像
表格删除ListView_DeleteItem表格删除(控件,项)删除表格控件的指定项
表格清除ListView_DeleteAllItems表格清除(控件)清除表格控件的所有项
表格回调ListView_Callback掩码=表格回调(控件)获取或设置表格控件的回调掩码
表格查找ListView_FindItem表格查找(控件,内容,起始)返回查到的项序号,从头查找起始值要写负1
表头添加ListView_InsertItem表头添加(控件,列名,序号,宽度)向表格控件添加表头;宽度-1是自动调整列宽,-2是适应标题内容
表头删除ListView_DeleteColumn表头删除(控件,序号)删除表格已添加的表头
表头宽度ListView_ColumnWidth表头宽度(控件,序号,宽度)获取或设置指定表头的宽度
表格字色ListView_TextColor表格字色(控件,颜色)获取或设置表格的文字颜色
表字背色ListView_TextBkColor表字背色(控件,颜色)获取或设置表格的文字背景颜色
表格顶项ListView_GetTopIndex表格顶项(控件)获取列表或报表视图中最顶部可见项的索引。
表格行数ListView_GetCountPerPage表格行数(控件)计算可以垂直容纳在列表视图控件的可见区域中的项数。
表格原点ListView_GetOrigin表格原点(控件,原点)获取列表视图控件的当前坐标视图原点。
表格更新ListView_Update表格更新(控件,项)汇报更新列表视图项。
表格状态ListView_SetItemState表格状态(控件,项,掩码,状态)获取或更改列表视图控件中项的状态。
表格选中ListView_GetCheckState表格选中(控件,项)确定是否选择了列表视图控件中的项。
表格文字ListView_ItemText表格文字(控件,项,子项,内容)读取或设置表格视图控件指定项和子顶的文字内容;点击表项时,数据偏移12为项(行),16为子项(列);
表格排序ListView_SortItems表格排序(控件,函数,参数)使用应用程序定义的比较函数对列表视图控件的项进行排序。可指定参数传递给比较函数的第三个参数
表项移动ListView_SetItemPosition32表项移动(控件,项,左,项)将项移动到列表视图控件中的指定位置, (图标视图或小图标视图) 。
表格选数ListView_GetSelectedCount表格选数(控件)获取表格列表视图控件中所选项的数目。
表格间距ListView_GetItemSpacing表格间距(控件,小图)获取列表视图控件中项之间的间距。 小图标模式为真,大图模式为假
表格搜索ListView_GetISearchString表格搜索(控件,内容)在列表视图中键入字符,将字符追加到搜索内容缓冲区
表格图距ListView_SetIconSpacing表格图距(控件,宽,高)将列表视图控件中图标之间的间距设置为图标视图样式。
表格扩展ListViewExtStyle样式=表格扩展(控件)获取或设置表格扩展样式:1显表格线,2子项带图,4显复选框,8热点选择,$10拖放列头,$20选择整行,$40单击激活,$80双击激活,$100平面滚条
表格提示ListView_ToolTips表格提示(控件,项,子项,内容)设置获取表格提示内容,文字为宽字符编码
树表添加TreeView_InsertItem树表添加(控件,内容,项目,图标,关联)给树表添加项,根节点数值写0
树表删除TreeView_DeleteItem树表删除(控件,项目)从树视图控件中删除项及其所有子项。
树表清除TreeView_DeleteAllItems树表清除(控件,项目)从树视图控件中删除所有项。
树表展开TreeView_Expand树表展开(控件,项目,方式)方式:1折叠;2展开;3开合切换;0x4000部分展开;0x8000折叠并删除子项;
树表数量TreeView_GetCount树表数量(控件)检索树视图控件中的项计数。
树表缩进TreeView_Indent像素=树表缩进(控件)获取或设置子项相对于其父项缩进的数量(以像素为单位)。
树表图像TreeView_ImageList树表图像(控件,方式,图像列表)获取或设置树表视图控件的图像列表,方式:0普通图像;2状态图像
树表关系TreeView_GetNextItem树表关系(控件,关系,项目)获取与指定项承载关系的树视图项。关系:0根节点;1下一项;2前一项;3父项;4项的首个子项;5可见首项;
6下个可见项;7项的可见首项;8拖放目标项;9选中项;10最后可见项
树表选中TreeView_Select树表选中(控件,关系,项目)选中与指定项承载关系的树视图项。关系同树表关系
树表文字TreeView_GetItem内容=树表文字(控件,项目)获取或设置树表文字内容;获取时返回关联值,内容可选;树项改变时,数据偏移60为项目,92为关联,20为旧项目,52为旧关联;
树表拖图TreeView_CreateDragImage树表拖图(控件,项目)为树视图控件中的指定项创建拖动位图的图像列表。
树表升序TreeView_SortChildren树表升序(控件,递归,项目)对树表子项文字进行升序排列;递归为真对所有子项排序,为假只为直属子项排序
树表可见TreeView_EnsureVisible树表可见(控件,项目)确保树视图项可见,如有必要,请展开父项或滚动树视图控件。
树表排序TreeView_SortChildrenCB树表排序(控件,项目,回调,参数)用程序定义的回调函数进行排序
树表停改TreeView_EndEditLabelNow树表停改(控件,取消)结束对树视图项标签的编辑。取消为真不保存,为假保存修改
树表搜索TreeView_GetISearchString树表搜索(控件,内容)在树表视图中键入字符,将字符追加到搜索内容缓冲区
树表提示TreeView_SetToolTips提示=树表提示(控件)获取或设置树视图控件的子工具提示控件。
树表标记TreeView_SetInsertMark树表标记(控件,项目,前后)设置树视图控件中的插入标记。前后非零插入项目之后,为零在项目之前
树表高度TreeView_SetItemHeight高度=树表高度(控件)获取或设置树视图项的高度。以像素为单位
树表背色TreeView_SetBkColor颜色=树表背色(控件)获取或设置树视图项的背景颜色。
树表字色TreeView_SetTextColor颜色=树表字色(控件)获取或设置树视图项的文字颜色。
树表记色TreeView_SetInsertMarkColor颜色=树表记色(控件)获取或设置树视图插入标记的颜色。
组框添加CBEM_INSERTITEMA组框添加(控件,内容,图标,选中,缩进)高级组合框添加项目,可指定图标和选中图标,每个缩进等于10像素。
组框删除CBEM_DELETEITEM组框添加(控件,序号)高级组合框删除指定项目
组框文字CBEM_SETITEMA内容=组框文字(控件,序号)获取或修改高级组合框的指定项目的文字
组框扩展CBEM_GETEXSTYLE样式=组框扩展(控件)获取或修改组合框扩展样式:1不显图像;2不显缩进;4单词分割/.\;8允许剪裁;$10搜索分大小写
组框更改CBEM_HASEDITCHANGED组框更改(控件)确定用户是否已更改高级组合框编辑控件的文本。返回真表示已更改
公共事件PublicEvents公共事件(数据)控件事件到来时,数据前三项为:窗口,编号,事件;-1=内存不足;-2=单击左键;-3=双击左键;-4=按下回车;-5右键单击;-6=右键双击;
-7=得到焦点;-8失去焦点;-15按下键盘;-18键入字符;-402树项改变
配置路径inipath配置路径(名称)指定配置文件的名称,为空指定与程序同名的ini文件。
配置段名inisn配置段名文本=配置段名;配置段名(段名)=内容:多条内容用0字符分割,末尾加0字符
配置结构iniStruct配置结构(段名,键名)文本=配置结构(段名,键名);配置结构(段名,键名,大小)=内容
配置区段iniSec配置区段(段名)文本=配置区段(段名);获取区段的所有键名和内容
配置文字iniString配置文字(段名,键名)文本=配置文字(段名,键名);配置文字(段名,键名)=内容
配置整数iniint配置整数(段名,键名)数值=配置整数(段名,键名);获取键值为数字(含十六进制)的数值
资源数据ResData资源数据(编号,@大小)返回指定编号资源的数据,第二参数获得资源文件的大小
剪切板Clipboard剪切板取剪切板可选参数[格式],写剪切板三个参数(数据,[长度],[格式])。格式:1文本;2位图;3图元;4符号连接;5交换数据;6标签图像;
7OEM文本;8DIB位图;9调色板;10手写笔;11复杂音频;12标准音频;13宽字符;14增强图元;15文件列表
检验开启CRCLoad检验开启crc32校验初始化数据
检验数据CRCData检验数据(数据,长度)crc32校验数据,返回检验结果
格式转换BinaryToString格式转换(数据,长度,格式)二进制转文本,返回转换文本地址。格式:0=Base64含证书标头;1=Base64不含标头;2=纯二进制副本;
3=Base64包含请求标头;4=仅十六进制;5=十六进制带ASCII字符;11=十六进制带ASCII和地址
转换格式StringToBinary转换格式(数据,标志)文本转二进制,返回二进制数据地址。格式:1=Base64不含标头;2=纯二进制副本;3=Base64包含标头;
4=仅十六进制;5=十六进制带ASCII字符;9=Base64带CRL标头;10=十六进制带地址;11=十六进制带ASCII和地址
路径存在PathFileExistsA路径存在(路径)判断目标路径(文件或目录)是否存在
类型结构和子类对象
申请类型(自定义结构体,简称类)时,可在后面加小括号设定初始值,此值在编译程序时预置,无需通过代码赋值。类只能是全局变量。
例如:
文件框类 文件框(长度=76,路长=64,名长=64);//要注意预置初始值时,整数只能用数字,文本只能用字符串。
托盘类 托盘(长度=488,标识=7,回调=$3FF,超时=12000,信息图标=4,提示="测试程序",标题="提示",信息="鼠标右键右下角图标可以弹出菜单!");
赋值代码是在程序段之内书写,例如:文件框.标题="打开文件",用文本向整数变量赋值。
类型是用来连续申请多种变量,复杂的类型结构长度也是可变的
这种结构体的第一个变量通常都是长度,需要指定长度提交数据
也有的不用长度而是用标志,指定包含哪些数据就去特定位置获取
中文名字英文名称长度作用解释
坐标类POINT8用来存储坐标位置的信息
坐标类 成员表
中文英文类型作用解释
x整数水平坐标位置。
y整数垂直坐标位置。

中文名字英文名称长度作用解释
尺寸类SIZE8用来存储尺寸大小的信息
尺寸类 成员表
中文英文类型作用解释
cx整数尺寸大小的宽度。
cy整数尺寸大小的高度。

中文名字英文名称长度作用解释
矩形类RECT16用来表示一个矩形框的四条边位置。
矩形类——成员表
left整数指定矩形框左上角的x坐标
top整数指定矩形框左上角的y坐标
right整数指定矩形框右下角的x坐标
bottom整数指定矩形框右下角的y坐标

中文名字英文名称长度作用解释
鼠标点类MOUSEINPUT24用来表示鼠标点位置。
鼠标点类——成员表
dx整数鼠标的 x 坐标或移动的像素数。
dy整数鼠标的 y 坐标或移动的像素数。
方向mouseData整数取按键时1是左键,2是右键,取滚轮时正值向前滚动,负数向后滚动
标志dwFlags整数一组位标志。1鼠标移动,2按下左键,4松开左键,8按下右键,16松开右键,32按下中键,64松开是中键,
128按下X键,256松开X键,$800滚轮移动,$1000滚轮水平移动,$4000桌面坐标,$8000绝对坐标
时间time整数鼠标坐标的时间戳。(以毫秒为单位)
扩展dwExtraInfo整数与此坐标关联的其他信息。

中文名字英文名称长度作用解释
移动点类MOUSEMOVEPOINT16用来表示鼠标移动位置。
移动点类——成员表
x整数鼠标的 x 坐标。
y整数鼠标的 y 坐标。
时间time整数鼠标坐标的时间戳。(以毫秒为单位)
扩展dwExtraInfo整数与此坐标关联的其他信息。

中文名字英文名称长度作用解释
键盘类KEYBDINPUT16包含有关模拟键盘事件的信息。
键盘类——成员表
键码wVkScan整数虚拟密钥代码和密钥的硬件扫描代码。如果 标志 指定 4或8 则低位是0,高位宽字符
标志dwFlags整数指定击键的各个方面。1扫描码两字节(E0xx),2释放密钥(否则按键),4合成宽字符键,8扫描码
时间time整数鼠标坐标的时间戳。(以毫秒为单位)
扩展dwExtraInfo整数与此坐标关联的其他信息。

中文名字英文名称长度作用解释
硬件输入类HARDWAREINPUT8包含有关由键盘或鼠标以外的输入设备生成的模拟消息的信息。
硬件输入类——成员表
消息uMsg整数输入硬件生成的消息。
参数wParam整数消息的参数值。

中文名字英文名称长度作用解释
文件框类OPENFILENAME76用来初始化打开或另存为对话框的信息
文件框类 成员表
中文英文类型作用解释
长度lStructSize整数指定这个结构的大小,以字节为单位。
窗口hwndOwner整数指向对话框所在窗口的句柄。
实例hInstance整数指向对话框模板的对象。
分类lpstrFilter整数过滤显示指定类型文件(过滤器)如 .分类="所有文件'\0'*.*'\0'文本文件'\0'*.txt'\0'"
指定lpstrCustomFilter整数用来保留用户选择的哪种过滤器,为空不保留
定长nMaxCustFilter整数指定lpstrCustomFilter的缓冲区长度
定位nFilterIndex整数指定选择哪种过滤器,从1开始
路径lpstrFile整数指向选择文件完整路径的缓冲区,可以是一个文本变量或内存
路长nMaxFile整数“路径”缓冲区的长度
文件lpstrFileTitle整数指向接收选择的文件的文件名和扩展名的缓冲(不带路径信息)。
名长nMaxFileTitle整数指定文件名缓冲区的长度
目录lpstrInitialDir整数指定初始目录
标题lpstrTitle整数指向对话框标题栏的字符串,不指定时显示系统默认的打开或另存为
标记Flags整数可以设置对话框的风格样式等。1只读;2允许覆盖;4隐藏只读;8更改默认目录;$10显示帮助;$20启用回调;$40允许模板;$80允许模板数据指针;$100允许无效字符;$200允许多选;
$400输入非指定扩展名指定为空;$800限制有效路径;$1000只能输入现有文件;$2000允许创建;$4000忽略共享错误;$8000不要只读检查;$10000关闭后创建文件;$20000隐藏网络按钮;
$40000短文件名;$80000资源模板对话框;$100000返回快捷方式;$200000长文件名;$400000启用回调通知;$800000允许调整大小;$10000000显示系统和隐藏文件
偏移nFileOffset整数表示完整路径开头到文件名的偏移量,也就是文件名前面有多少个字
扩展lpstrDefExt整数指向包含默认扩展名的缓冲。通常三个字符,如“txt”、“exe”,不带“.”
定义lCustData整数指定应用程序定义的数据,这数据是能被lpfnHook成员识别的系统传到的钩子程序。
回调lpfnHook整数指向一个钩子程序。标记:$20。
模板lpTemplateName整数指向一个对话框模板资源名字的字符串。标记:$40

中文名字英文名称长度作用解释
目录框类BROWSEINFO32用来获取用户选择的目录
目录框类 成员表
中文英文类型作用解释
窗口hwndOwner整数指向所在窗口的句柄。
目录pidlRoot整数ITEMIDLIST结构的地址,包含浏览时的初始根目录
路径pszDisplayName整数用来保存用户选中的目录字符串的内存地址。
标题lpszTitle整数浏览文件夹对话框的标题内容。
选项ulFlags整数描述了对话框的选项。1只含文件目录2不含域名目录,4对话框可设置状态文本,8只返回有意义的文件节点
$10包含编辑框,$20检查输入名称合法性,$1000显示计算机,$2000显示打印机,$4000显示目录和文件
回调lpfn整数程序定义的浏览对话框回调函数的地址。
参数lParam整数对话框传递给回调函数的一个参数指针
图像iImage整数与选中目录相关的图像。该图像将被指定为系统图像列表中的索引值。

中文名字英文名称长度作用解释
对话框类DLGTEMPLATE32用来获取用户选择的目录
对话框类 成员表
中文英文类型作用解释
风格style整数对话框的样式。是窗口样式值和对话框样式值的组合
扩展dwExtendedStyle整数窗口的扩展样式。不用于创建对话框,而用它来创建其他类型的窗口。
项目cdit整数对话框中的项数。
x整数对话框左上角的 x 坐标
y整数对话框左上角的 y 坐标
cx整数对话框的宽度。
cy整数对话框的高度

中文名字英文名称长度作用解释
颜色框类CHOOSECOLOR36弹出一个选取颜色的对话框,并得到颜色相关信息。
颜色框类 成员表
中文英文类型作用解释
长度dwSize整数指定这个结构的大小,以字节为单位。
窗口hwndOwner整数拥有对话框的窗口的句柄。可不指定
实例hInstance整数对话框的模块或内存对象的句柄
颜色rgbResult整数返回用户选择的颜色。
数组lpCustColors整数指向一个包含16个值的数组,该数组包含了对话框中自定义颜色的红、绿、蓝(RGB)值。
标记Flags整数$100所有颜色;$10回调;$20实例模板;$40忽略模板;2定义颜色;4禁用定义;1初始颜色;8显示帮助;$80只显纯色
数据lCustData整数指定程序自定义的数据,该数据会被系统发送给钩子程序。
回调lpfnHook整数指向CCHookProc钩子程序的指针,该钩子可以处理发送给对话框的消息。
模板lpTemplateName整数指向对话框模板资源名称的字符串

中文名字英文名称长度作用解释
托盘类NOTIFYICONDATA英文88用来向任务栏托盘区域添加图标和发送消息
托盘类 成员 中文(5.0)488字节,英文不包含5.0版本的成员,只有88字节
中文英文类型作用解释
长度cbSize整数指定这个结构的大小,以字节为单位。
窗口hWnd整数指向所在窗口的句柄。
标号uID整数程序定义的任务栏图标编号
标识uFlags整数表明哪些成员有效:1回调;2图标;4提示;8状态;$10气泡信息
回调uCallbackMessage整数程序定义的消息常量。托盘图标发生鼠标等事件时,向指定窗口发送此消息。
图标hIcon整数指向托盘图标的句柄。
提示szTip文本鼠标指向托盘图标时的提示信息,英文64个字符,中文128字节
状态dwState(5.0)整数图标的状态,可选值:1隐藏,2共享
状态值dwStateMask(5.0)整数指明dwState状态在哪种状态下可以访问。
信息szInfo(5.0)文本气球提示信息的内容。最长256字节
超时uTimeout(5.0)整数单位为毫秒,到时间后气球提示将消失。最小值为10秒,最大值为30秒
标题szInfoTitle(5.0)文本气球提示的标题,小于64个字符
信息图标dwInfoFlags(5.0)整数1信息图标、2警告图标、3错误图标、4用户自定图标

中文名字英文名称长度作用解释
菜单条类MENUBARINFO31包含菜单栏信息
菜单条类 成员表
中文英文类型作用解释
长度cbSize整数指定这个结构的大小,以字节为单位。
左边rcBar.left整数菜单项的左边位置
顶部rcBar.top整数菜单项的顶部位置
宽度rcBar.right整数菜单项的宽度
高度rcBar.bottom整数菜单项的高度
菜单hMenu整数菜单的句柄。
子项hwndMenu整数子菜单项的句柄。
焦点fBarFocused布尔如果菜单栏或弹出菜单具有焦点为真
项点fFocused布尔如果菜单项具有焦点则为真
预留fUnused布尔未使用

中文名字英文名称长度作用解释
菜单项类MENUITEMINFO48包含菜单栏信息
菜单项类 成员表
中文英文类型作用解释
长度cbSize整数指定这个结构的大小,以字节为单位。
成员fMask整数指示要检索或设置的成员。
选项fType整数菜单项类型。
状态fState整数菜单项状态。
编号wID整数标识菜单项的应用程序定义的值。
子项hSubMenu整数与菜单项关联的下拉菜单或子菜单的控点。
选图hbmpChecked整数选定菜单时位图的句柄
未选hbmpUnchecked整数未选定菜单时位图的句柄
项值dwItemData整数与菜单项关联的应用程序定义的值。
类值dwTypeData整数如果菜单项具有焦点则为真
字长cch整数接收菜单项文本的长度(以字符为单位)。
图片hbmpItem整数要显示的位图的句柄

中文名字英文名称长度作用解释
菜单类MENUINFO28包含菜单栏信息
菜单类 成员表
中文英文类型作用解释
长度cbSize整数指定这个结构的大小,以字节为单位。
成员fMask整数指示要检索或设置的成员。
样式dwStyle整数菜单样式。
最高cyMax整数菜单的最大高度。
背景hbrBack整数用于菜单背景的画笔的手柄。
帮助dwContextHelpID整数上下文帮助标识符。
定义dwMenuData整数应用程序定义的值。

中文名字英文名称长度作用解释
执行类SHELLEXECUTEINFO60用来运行一个外部程序或者打开文件、目录、网址以及打印文件。
执行类 成员表
中文英文类型作用解释
长度cbSize整数指定这个结构的大小,以字节为单位。
标志fMask整数用来设置其他成员的有效性
窗口hwnd整数指向本程序窗口的句柄。
动作lpVerb整数设定执行的动作。"edit"编辑文档,"explore"打开资源管理器,"find"指定目录搜索
"open"打开对应文件,"print"打印文档,"properties"显示文件或文件夹的属性
路径lpFile整数指向操作对象路径的文本
参数lpParameters整数运行/打开程序的参数
目录lpDirectory整数指定工作目录,默认为当前目录
显示nShow整数运行程序显示的模式
回执hInstApp整数如果运行成功,该项的值将大于32,否则是对应的错误值
标识lpIDList整数一个itemidlist结构的地址,用来存储成员的特别标识符
类别lpClass整数用以指明文件类别的名字或GUID,fMask包括see_mask_classname
注册hkeyClass整数获得已注册的文件类型的句柄,fMask包括see_mask_classkey
热键dwHotKey整数程序的热键关联,参照wm_sethotkey消息的描述,fmask包括see_mask_hotkey<
图标hIcon_OR_Monitor整数取得对应文件类型图标和文档显示的句柄,当fMask不含SEE_MASK_ICON时图标无效,不含SEE_MASK_HMONITOR时文档无效
句柄hProcess整数fMask设为see_mask_nocloseprocess且程序运行成功,可返回目标程序的句俩

中文名字英文名称长度作用解释
运行类LOADPARMS3216用来运行一个外部程序。相关函数LoadModule
运行类 成员表
中文英文类型作用解释
环境lpEnvAddress整数指向运行环境的字符串。为空则与调用进程相同的环境启动
参数lpCmdLine整数指向运行程序的命令行参数字符串
显示lpCmdShow整数运行程序显示的模式
备用dwReserved整数必须是0

中文名字英文名称长度作用解释
查找文件类FINDDATA318用来获取文件名称和时间等属性。
查找文件类——成员表
中文英文类型作用解释
属性dwFileAttributes整数表示文件的属性:$20(存档)、2(隐藏)、$80(正常)
1(只读)、$10(文件夹)、4(系统)$100(临时)
创建时间ftCreationTime.dwLowDateTime整数文件被创建的时间
创建高位ftCreationTime.dwHighDateTime整数创建时间的高位。
最后访问ftLastAccessTime.dwLowDateTime整数最后一次访问的时间
访问高位ftLastAccessTime.dwHighDateTime整数最后访问时间的高位
最后修改ftLastWriteTime.dwLowDateTime整数最后一次修改的时间
修改高位ftLastWriteTime.dwHighDateTime整数最后修改时间的高位
文件大小nFileSizeHigh整数文件大小的高位
文件长度nFileSizeLow整数文件大小的低位
预留1dwReserved0整数保留占位
预留2dwReserved1整数保留占位
名称cFileName文本260字节长度的文件名称
备用名cAlternateFileName文本14字节长度的备用文件名

中文名字英文名称长度作用解释
文件信息类SHFILEINFOA352用来获取文件名称和时间等属性。
文件信息类——成员表
中文英文类型作用解释
图标hIcon整数表示文件的图标的句柄。
索引iIcon整数系统映像列表中的图标图像的索引。
属性dwAttributes整数一个值数组,指示文件对象的属性。
名称szDisplayName文本260字节长度的文件名称
备用名szTypeName文本80字节长度的备用文件名

中文名字英文名称长度作用解释
回收站类SHQUERYRBINFO12用来获取文件名称和时间等属性。
回收站类——成员表
中文英文类型作用解释
大小cbSize整数结构大小(以字节为单位)。
长度i64Size整数指定回收站中所有对象的总大小(以字节为单位)。
数量i64NumItems整数指定回收站中的项目总数。

中文名字英文名称长度作用解释
进程类PROCESSENTRY32296用来获取系统进程的相关信息。
进程类——成员表
中文英文类型作用解释
长度dwSize整数指定这个结构的大小,以字节为单位。
引用cntUsage整数此进程的引用计数(已不再使用,总是零。)
编号th32ProcessID整数进程ID(任务管理器里进程的PID)
默认th32DefaultHeapID整数进程默认堆ID(已不再使用,总是零。)
模块th32ModuleID整数进程模块ID(已不再使用,总是零。)
线程cntThreads整数此进程开启的线程计数
父进程th32ParentProcessID整数父进程的ID
优先级pcPriClassBase整数线程优先权
标识dwFlags整数已不再使用,总是零。
名称szexeFile文本260字节长度的进程名称(不含路径)

中文名字英文名称长度作用解释
模块类MODULEENTRY321316用来获取指定进程加载模块(dll)的相关信息。
模块类——成员表
中文英文类型作用解释
长度dwSize整数指定这个结构的大小,以字节为单位。
模组th32ModuleID整数(已不再使用,总是1。)
进程th32ProcessID整数进程ID(任务管理器里进程的PID)
载入GlblcntUsage整数全局模块的载入次数(已不再使用,总是-1。)
引用ProccntUsage整数当前模块的引用次数(已不再使用,总是-1。)
基址modBaseAddr整数模块的基址,在其所属的进程范围内。
大小modBaseSize整数模块的大小,单位字节。
模块hModule整数所属进程的范围内,模块句柄。
名称szModule文本256字节长度的模块名称
路径szExePath文本1024字节长度的模块完整路径

中文名字英文名称长度作用解释
字体框类CHOOSEFONT60弹出一个选取颜色的对话框,并得到颜色相关信息。函数:ChooseFont
字体框类——成员表
中文英文类型作用解释
长度lStructSize整数指定这个结构的大小,以字节为单位。
窗口hwndOwner整数拥有对话框的窗口的句柄。可不指定
设备hDC整数显示的设备环境句柄,不指定
字体lpLogFont整数选中的字体返回值,字体是逻辑字体
大小iPointSize整数字体的大小
标记Flags整数用来初始化对话框。1仅列出系统字体;2仅打印字体;4显示帮助;8启用回调函数;$10启用模板;$20启用模板数据;$40启用逻辑字体;$80自定义字体风格;$100允许选颜色;$200显示应用按钮;
$400仅英文和定制字体;$800不许矢量字体;$1000不允许模拟字体;$2000限指定范围字号;$4000限固定字体;$8000仅可显字体;$10000检查错误字体;$20000仅可缩放字体;$40000仅真实字体;
$80000阻止选择指定字体;$100000阻止默选字体样式;$200000阻止默选字体大小;$400000只显示字体结构中的字符集;$800000禁止脚本组合框;$1000000仅横向字体;$2000000显示隐藏字体;
颜色rgbColors整数返回字体的颜色
数据lCustData整数自定义数据,传到的钩子程序
回调lpfnHook整数指向钩子程序的指针,该钩子可以处理回调消息。
模板lpTemplateName整数指向对话框模板资源名称的字符串
实例hInstance整数实例句柄
风格lpszStyle整数字体风格
分类nFontType整数字体的类型
最小nSizeMin整数字体允许的最小尺寸
最大nSizeMax整数字体允许的最大尺寸

中文名字英文名称长度作用解释
查找替换类FINDREPLACE40弹出一个查找或替换文本的对话框,函数:FindText,ReplaceText
查找替换类——成员表
中文英文类型作用解释
长度lStructSize整数指定这个结构的大小,以字节为单位。
窗口hwndOwner整数拥有对话框的窗口的句柄。可不指定
实例hInstance整数Flags设置了FR_ENABLETEMPLATEHANDLE标志,则 hInstance 是包含对话框模板的内存对象的句柄。
设置了FR_ENABLETEMPLATE标志,是包含对话框模板的模块句柄。
标记Flags整数1选向下;2全字匹配;4大小写;8查找下个;$10替换;$20全部替换;$40关闭;$80显示帮助;$100回调;$200实例模板;$400禁用方向;
$800禁用大小写;$1000禁用全字匹配;$2000忽略模板;$4000隐藏方向;$8000隐藏大小写;$10000隐藏全字匹配;
查找lpstrFindWhat整数如果指定了FR_FINDNEXT标志,则要包含搜索的字符串。
FR_DOWN、FR_WHOLEWORD和FR_MATCHCASE标志指示搜索的方向和类型。
如果指定FR_REPLACE或FR_REPLACE标志,则要包含替换的字符串。
替换lpstrReplaceWith整数如果指定FR_REPLACE或FR_REPLACEALL标志,则要包含替换字符串 。
查长wFindWhatLen整形查找字符缓冲区长度
替长wReplaceWithLen整形替换字符缓冲区长度
数据lCustData整数自定义数据,传到的钩子程序
回调lpfnHook整数指向钩子程序的指针,该钩子可以处理回调消息。
模板lpTemplateName整数指向对话框模板资源名称的字符串

中文名字英文名称长度作用解释
打印框类PRINTDLG用来显示打印对话框或打印设置对话框。函数:PrintDlg(lppd)
打印框类——成员表
中文英文类型作用解释
长度lStructSize整数指定这个结构的大小,以字节为单位。
窗口hwndOwner整数拥有对话框的窗口的句柄。可不指定
设备hDevMode整数包含打印机设备与环境信息的DEVMODE结构句柄
名称hDevNames整数包含驱动器名、打印机名和输出端口名的设备名结构DEVNAMES句柄
芯片hDC整数确定DC或IC(information context),由Flags是否设置PD_RETURNDC或PC_RETURNIC标志来决定。
标记Flags整数用于打印公用对话框初始化的标志位
首页nFromPage整形指定开始页码编辑控件的初始值
末页nToPage整形指定结束页码编辑控件的初始值
初页nMinPage整形指定页码编辑控件的页码范围的最小值
尾页nMaxPage整形指定页码编辑控件的页码范围的最大值
份数nCopies整形指定拷贝份数编辑控件的初始值
实例hInstance整数很少使用
数据lCustData整数很少使用
打印回调lpfnPrintHook整数很少使用
设置回调lpfnSetupHook整数很少使用
打印模板名lpPrintTemplateName整数很少使用
设置模板名lpSetupTemplateName整数很少使用
打印模板hPrintTemplate整数很少使用
设置模板hSetupTemplate整数很少使用

中文名字英文名称长度作用解释
页面框类PAGESETUPDLG84用来显示打印对话框或打印设置对话框。函数:PageSetupDlg(lppd)
页面框类——成员表
中文英文类型作用解释
长度lStructSize整数指定这个结构的大小,以字节为单位。
窗口hwndOwner整数拥有对话框的窗口的句柄。可不指定
设备hDevMode整数包含打印机设备与环境信息的DEVMODE结构句柄
名称hDevNames整数包含驱动器名、打印机名和输出端口名的设备名结构DEVNAMES句柄
标记Flags整数用于打印公用对话框初始化的标志位
纸宽ptPaperSize.x整数指定用户选择的纸张的宽度
纸高ptPaperSize.y整数确指定用户选择的纸张的高度
左边rtMinMargin.left整数指定左边距的最小允许宽度
上边rtMinMargin.top整数指定上边距的最小允许宽度
右边rtMinMargin.right整数指定右边距的最小允许宽度
下边rtMinMargin.bottom整数指定下边距的最小允许宽度
左宽rtMargin.left整数指定左边距的宽度
上宽rtMargin.top整数指定上边距的宽度
右宽rtMargin.right整数指定右边距的宽度
下宽rtMargin.bottom整数指定下边距的宽度
实例hInstance整数程序实例,很少使用
数据lCustData整数指定系统传递给设置回调过程的应用程序定义数据
设置回调lpfnPageSetupHook整数挂接回调过程的指针,可以处理针对该对话框的消息,可忽略
重绘回调lpfnPagePaintHook整数挂钩回调过程的指针,重新绘制示例页面时,可在收到消息时自定义样本页面的外观
设置模板名lpPageSetupTemplateName整数对话框模板资源的名称,可忽略
设置模板hPageSetupTemplate整数包含对话框模板的内存对象的句柄

中文名字英文名称长度作用解释
文档类DOCINFO20用来显示打印对话框或打印设置对话框。函数:PrintDlg(lppd)
文档类——成员表
中文英文类型作用解释
长度cbSize整数指定这个结构的大小,以字节为单位。
名称lpszDocName整数指向指定文档名称的字符串
输出lpszOutput整数指向指定输出文件名称的字符串
数据lpszDatatype整数指定用于记录打印作业的数据类型(已忽略)
其它fwType整数指定有关打印作业的其他信息。(已忽略)

中文名字英文名称长度作用解释
地址类sockaddr_in16用来存储IP地址和端口的数据
地址类——成员表
协议sin_family正数AF_INET=2(地址族)PF_INET=2(协议族)
端口sin_port正数必须是网络数据格式,可以用htons函数转换
地址sin_addr整数网络IP地址
预留sin_zero整数未使用
备用整数未使用

中文名字英文名称长度作用解释
日期类tm36用来存储日期时间的一种结构数据,对应函数:gmtime、localtime
日期类——成员表
tm_sec整数每分钟的第几秒,取值[0-59]
tm_min整数每小时的第几分,取值[0-59]
tm_hour整数每天的第几小时,取值[0-23]
tm_mday整数每月的第几天,取值[1-31]
tm_mon整数每年的月份,取值[0-11]
tm_year整数1900年起距今的年数
星期tm_wday整数每周的第几天,取值[0-6]
tm_yday整数每年的第几天,取值[0-365]
tm_isdst整数夏令时标志

中文名字英文名称长度作用解释
时间类SYSTEMTIME16用来存储日期时间的一种结构数据,对应函数:GetLocalTime、SetLocalTime
时间类——成员表
wYear整形公元年份
wMonth整形每年的月份,取值[1-12]
星期wDayOfWeek整形每周的第几天,取值[0-6]
wDay整形每月的第几天,取值[1-31]
wHour整形每天的第几小时,取值[0-23]
wMinute整形每小时的第几分,取值[0-59]
wSecond整形每分钟的第几秒,取值[0-59]
毫秒wMilliseconds整形每秒的毫秒数,取值[0-999]

中文名字英文名称长度作用解释
窗口类WNDCLASS40用来储存某一类窗口的信息,向系统注册此信息才能创建窗体。
窗口类——成员表
风格style整数窗口类的风格
消息lpfnWndProc整数窗口消息处理函数
类长cbClsExtra整数窗口类扩展
实长cbWndExtra整数窗口实例扩展
实例hInstance整数当前实例句柄,$400000
图标hIcon整数窗口的小图标
光标hCursor整数窗口鼠标光标
背景hbrBackground整数窗口背景色
菜单lpszMenuName整数窗口菜单
名称lpszClassName整数窗口类名

中文名字英文名称长度作用解释
窗口外观类CREATESTRUCT48定义了传递给应用程序的窗口过程的初始化参数,它定义了窗口外观相关特性
窗口外观类——成员表
参数lpCreateParams整数指向将被用于创建窗口的数据的指针
实例hInstance整数标识了拥有新窗口的模块的模块实例的句柄
菜单hMenu整数标识了要被用于新窗口的菜单。如果是子窗口,则包含整数ID。
父窗hwndParent整数父窗口句柄
高度cy整数指定新窗口的高度
宽度cx整数指定新窗口的宽度
顶部y整数指定新窗口的左上角y坐标
左边x整数指定新窗口的左上角x坐标
风格style整数指定了新窗口的风格。
名称lpszName整数指定了新窗口的名字
类名lpszClass整数指定了新窗口的类名
扩展dwExStyle整数指定了新窗口的扩展风格

中文名字英文名称长度作用解释
子窗外观类MDICREATESTRUCT36定义了创建MDI窗口的外观相关特性
子窗外观类——成员表
类名szClass整数创建MDI Client 窗口的类名
标题szTitle整数创建MDI Client 窗口的标题
实例hOwner整数创建MDI Client 窗口的实例
左边x整数指定子窗口的左上角x坐标
顶部y整数指定子窗口的左上角y坐标
宽度cx整数指定子窗口的宽度
高度cy整数指定子窗口的高度
风格style整数指定了子窗口的风格。
参数lParam整数指定了子窗口的附加参数

中文名字英文名称长度作用解释
滚动信息类SCROLLINFO28用来储存滚动条信息
滚动信息类——成员表
长度cbSize整数结构长度字节数,该值在设置和查询参数时都必须填写。
标志fMask整数指定结构中的哪些成员是有效,SIF_ALL全部有效,SIF_DISABLENOSCROLL禁止滚动
SIF_PAGE页码有效,SIF_POS位置有效,SIF_RANGE滚动范围nMin和nMax有效
最小nMin整数滚动范围最小值
最大nMax整数滚动范围最大值
页码nPage整数页尺寸,用来确定比例滚动框的大小
位置nPos整数滚动框的位置
跟踪nTrackPos整数拖动时滚动框的位置,该参数只能查询

中文名字英文名称长度作用解释
滚动条类SCROLLBARINFO40定义了包含滚动条信息
滚动条类——成员表
长度cbSize整数结构长度字节数,该值在设置和查询参数时都必须填写。
rcScrollBar.left整数滚动条的左边位置
rcScrollBar.top整数滚动条的顶部位置
rcScrollBar.right整数滚动条的宽度
rcScrollBar.bottom整数滚动条的高度
宽高dxyLineButton整数滑块的高度或宽度。
左上xyThumbTop整数滑块顶部或左侧的位置。
右下xyThumbBottom整数拇指底部或右侧的位置。
保留reserved整数保留。
元素rgstate整数元素的数组。每个元素都指示滚动条组件的状态。

中文名字英文名称长度作用解释
消息类MSG28定义了传递给应用程序的窗口过程的初始化参数,它定义了窗口外观相关特性
消息类——成员表
窗口hwnd整数表示消息所属的窗口。
消息message整数表示消息类型的标识符
参数wParam整数附加消息1
附加lParam整数附加消息2
时间time整数表示消息投递到消息队列中的时间
左边pt.x整数鼠标在屏幕上左边的位置
顶部pt.y整数鼠标在屏幕上顶部的位置

中文名字英文名称长度作用解释
消息框类MSGBOXPARAMS40包含有显示一个消息(对话框信息)的数据结构。
消息框类——成员表
长度cbSize整数这个结构的大小,以字节计算。
窗口hwndOwner整数对话框所有者窗口的句柄。
实例hInstance整数对话框所有者实例的句柄
内容lpszText整数包含着消息要显示的内容。
标题lpszCaption整数包含着消息的标题,默认用“错误”作为标题。
风格dwStyle整数设置对话框的内容和行为。
图标lpszIcon整数图标资源的ID。字符串或数字
帮助dwContextHelpId整数帮助内容的ID。如果一个Help事件发生,这个值在消息框发送到所有者窗口或回调函数
回调lpfnMsgBoxCallback整数一个处理消息框帮助信息的回调函数的指针。
语言dwLanguageId整数包含在原先定义的按钮中的文本的语言。中文4,英文9。默认是根据系统的语言

中文名字英文名称长度作用解释
绘制区类PAINTSTRUCT64包含用来绘制它所拥有的窗口客户区所需要的信息的结构体。
绘制区类——成员表
设备hdc整数用于绘制的句柄。
擦除fErase整数如果为非零值则擦除背景,否则不擦除
左边rcPaint.left整数要绘制矩形的左边位置
顶部rcPaint.top整数要绘制矩形的顶部位置
宽度rcPaint.right整数要绘制矩形的宽度
高度rcPaint.bottom整数要绘制矩形的高度
恢复fRestore整数预留参数
更新fIncUpdate整数预留参数
颜色rgbReserved文本[32]长度字符串

中文名字英文名称长度作用解释
快捷键类ACCEL6包含有显示一个消息(对话框信息)的数据结构。
快捷键类——成员表
行为fVirt整形加速器行为。$10同时按住 ALT 键,8同时按住 CTRL 键,4同时按住 Shift 键,2不突出显示顶级菜单
键值key整形可以是虚拟键代码或字符代码。
标识cmd整形快捷键标识符。

中文名字英文名称长度作用解释
系统信息类SYSTEMINFO36包含了当前计算机的信息。函数GetSystemInfo
系统信息类——成员表
处理器wProcessorArchitecture整数指定系统中的中央处理器的体系结构
页面大小dwPageSize整数指定页面的大小和页面保护和委托的颗粒。
最低内存lpMinimumApplicationAddress整数指向应用程序和动态链接库(DLL)可以访问的最低内存地址。
最高内存lpMaximumApplicationAddress整数指向应用程序和动态链接库(DLL)可以访问的最高内存地址。
掩码dwActiveProcessorMask整数指定一个用来代表这个系统中装配了的中央处理器的掩码。
数目dwNumberOfProcessors整数指定系统中的处理器的数目。
种类dwProcessorType整数指定系统中中央处理器的类型。
分配dwAllocationGranularity整数指定已经被分配的虚拟内存空间的粒度。分配内存时最小值
级别wProcessorLevel整形指定系统体系结构依赖的处理器级别。例如:3=Intel 80386,4=Intel 80486,5=Pentium
修订wProcessorRevision整形指定系统体系结构依赖的处理器修订版本号。

中文名字英文名称长度作用解释
版本信息类OSVERSIONINFO148载入与平台和操作系统有关的版本信息。函数GetVersionExA
版本信息类——成员表
长度dwOSVersionInfoSize整数初始化为结构的大小
主版本dwMajorVersion整数系统主版本号
次版本dwMinorVersion整数系统次版本号
构建号dwBuildNumber整数系统构建号
平台号dwPlatformId整数系统支持的平台号
系统平台szCSDVersion文本128字节的系统支持的平台名称

中文名字英文名称长度作用解释
内存信息类MEMORYSTATUS32包含了当前计算机的信息。函数GlobalMemoryStatus
内存信息类——成员表
长度dwiLength整数结构的大小,初始设置为32长度
使用率dwMemoryLoad整数返回一个介于0~100之间的值,用来指示当前系统内存的使用率。
物理内存dwTotalPhys整数返回总的物理内存大小,以字节(byte)为单位。
可用内存dwAvailPhys整数返回可用的物理内存大小,以字节(byte)为单位。
交换文件dwTotalPageFile整数显示可以存在页面文件中的字节数。
空闲文件dwAvailPageFile整数返回可用的页面文件大小,以字节(byte)为单位。
可用地址dwTotalVirtual整数返回调用进程的用户模式部分的全部可用虚拟地址空间
空闲地址dwAvailVirtual整数返回调用进程的用户模式部分的实际自由可用的虚拟地址空间

中文名字英文名称长度作用解释
进程信息类PROCESS_BASIC_INFORMATION24包含了某个进程的相关信息。函数NtQueryInformationProcess
进程信息类——成员表
状态ExitStatus整数进程终止状态
基址PebBaseAddress整数进程环境块地址
掩码AffinityMask整数进程关联掩码
优先级BasePriority整数进程的优先级
进程UniqueProcessId整数进程ID
父进程InheritedFromUniqueProcessId整数父进程ID

中文名字英文名称长度作用解释
位图类bitmap28包含了位图数据的结构
位图类——成员表
分类bmType整数位图类型,其值必须为0
宽度bmWidth整数位图的宽度,单位为像素
高度bmHeight整数位图的高度,单位为像素
长度bmWidthBytes整数每行的字节数,其值必须能被2整除。
层数bmPlanes整形颜色平面数,一般为1。
位数bmBitsPixel整形位图的位深度,一般为24或32
数据bmBits整数一个指向内存的指针,所指向的内容为位图存放的地方

中文名字英文名称长度作用解释
位图标头类BITMAPCOREHEADER12包含了位图数据的标头信息
位图标头类——成员表
长度bcSize整数结构体的字节数,12
宽度bcWidth整形位图的宽度,单位为像素
高度bcHeight整形位图的高度,单位为像素
层数bcPlanes整形颜色平面数,一般为1。
位数bcBitCount整形位图的位深度,1, 4, 8, 24或32

中文名字英文名称长度作用解释
位图文件类BITMAPCOREHEADER14包含了位图文件的头部信息
位图文件类——成员表
分类bfType整形图片的类型,只能是BM
长度bfSize整数宽*高*位数+偏移
预留bfReserved1整数无效信息
偏移bfOffBits整数位图数据的偏移量。

中文名字英文名称长度作用解释
位图信息类BITMAPINFOHEADER40包含了位图信息的结构
位图信息类——成员表
长度biSize整数指定这个结构的长度,为40
宽度biWidth整数位图的宽度,单位为像素
高度biHeight整数位图的高度,单位为像素
层数biPlanes整形颜色平面数,一般为1。
位数biBitCount整形位图的位深度,1, 4, 8, 24或32
压缩biCompression整数指定位图是否压缩,有效的值为BI_RGB,BI_RLE8,BI_RLE4,BI_BITFIELDS
大小biSizeImage整数指定实际的位图数据占用的字节数
水平像素biXPelsPerMeter整数指定目标设备的水平分辨率
垂直像素biYPelsPerMeter整数指定目标设备的垂直分辨率
实际颜色biClrUsed整数指定本图象实际用到的颜色数,0表示颜色数为2
重要颜色biClrImportant整数指定本图象中重要的颜色数,0表示全部颜色。

中文名字英文名称长度作用解释
笔刷类LOGBRUSH12包含了笔刷数据的信息
笔刷类——成员表
样式lbStyle整数指定画笔样式。BS_SOLID等
颜色lbColor整数指定要绘制画笔的颜色。中空笔刷和内存指定无效
填充lbHatch整数指定一个填充样式。HS_CROSS等

中文名字英文名称长度作用解释
画笔类LOGPEN12包含了画笔数据的信息
画笔类——成员表
样式lopnStyle整数指定画笔样式。PS_SOLID等
宽度lopnWidth.x整数指定要绘制画笔的宽度
笔宽lopnWidth.y整数未使用,设计的问题
颜色lopnColor整数指定画笔的颜色

中文名字英文名称长度作用解释
色域类LOGCOLORSPACE12包含了逻辑颜色空间信息
色域类——成员表
签名lcsSignature整数颜色空间签名
版本lcsVersion整数版本号,目前是$400
大小lcsSize整数此结构的大小(以字节为单位)。
分类lcsCSType整数颜色空间类型。1设备RGB 2设备CMYK 0标准RGB
匹配lcsIntent整数色域匹配方法。1保持饱和度 2保持图案 3保持对比度
端点lcsEndpoints整数红色,绿色,蓝色端点。
lcsGammaRed整数红色坐标的比例。
绿lcsGammaGreen整数绿色坐标的比例。
lcsGammaBlue整数蓝色坐标的比例。
输出lcsFilename文本[260]输出变量字段的数据,用于命名颜色配置文件。该成员通常设置为零

中文名字英文名称长度作用解释
逻辑字体类LOGFONT60包含了逻辑字体信息的结构
逻辑字体类——成员表
高度lfHeight整数以逻辑单位指定字体字符元或字符的高度。
宽度lfWidth整数以逻辑单位指定字体字符的平均宽度。
角度lfEscapement整数以十分之一度为单位指定每一行文本输出时相对于页面底端的角度。
方向lfOrientation整数以十分之一度为单位指定字符基线相对于页面底端的角度。
粗细lfWeight整数用来指代字体的粗细程度。范围为0到1000
斜体lfItalic字节是否斜体
下划线lfUnderline字节是否下划线
删除线lfStrikeOut字节是否带删除线
字符集lfCharSet字节指定字符集。OEM_CHARSET依赖操作系统DEFAULT_CHARSET基于系统
精度lfOutPrecision字节指定输出精度。OUT_CHARACTER_PRECIS、
OUT_DEFAULT_PRECIS、OUT_STRING_PRECIS、OUT_STROKE_PRECIS。
剪裁lfClipPrecision字节当字符超过区域时的剪辑方式,它可以为:
CLIP_CHARACTER_PRECIS、CLIP_DEFAULT_PRECIS、CLIP_STROKE_PRECIS。
质量lfQuality字节定义输出质量。DEFAULT_QUALITY (默认质量)
、DRAFT_QUALITY (草稿质量)、PROOF_QUALITY (正稿质量)。
间距lfPitchAndFamily字节指定字体的字符间距和族。DEFAULT_PITCH、FIXED_PITCH、VARIABLE_PITCH
FF_DECORATIVE、FF_DONTCARE、FF_MODERN、FF_ROMAN、FF_SCRIPT、FF_SWISS
名称lfFaceName文本32字节以内的字体名

中文名字英文名称长度作用解释
像素格式类PIXELFORMATDESCRIPTOR46包含了逻辑字体信息的结构
像素格式类——成员表
长度nSize整形结构的大小
版本nVersion整形结构的版本,一般设为1
标志dwFlags整数表明像素缓冲特性的标志位,如缓冲是否支持GDI或OpenGL等
索引iPixelType整数说明象素数据类型是RGBA还是颜色索引
颜色位cColorBits整数每个颜色缓冲区中颜色位平面的数目,对颜色索引方式是缓冲区大小
红位数cRedBits字节每个RGBA颜色缓冲区中红色位平面的数目
红偏移cRedShift字节每个RGBA颜色缓冲区中红色位平面的偏移数
绿位数cGreenBits字节每个RGBA颜色缓冲区中绿色位平面的数目
绿偏移cGreenShift字节每个RGBA颜色缓冲区中绿色位平面的偏移数
蓝位数cBlueBits字节每个RGBA颜色缓冲区中蓝色位平面的数目
蓝偏移cBlueShift字节每个RGBA颜色缓冲区中蓝色位平面的偏移数
透明位cAlphaBits字节每个RGBA颜色缓冲区中alpha位平面的数目(现不支持)
透明偏移cAlphaShift字节每个RGBA颜色缓冲区中alpha位平面的偏移数(现不支持)
缓冲位cAccumBits字节累加缓冲区中全部位平面的数目
红缓冲cAccumRedBits字节累加缓冲区中红色位平面的数目
绿缓冲cAccumGreenBits字节累加缓冲区中绿色位平面的数目
蓝缓冲cAccumBlueBits字节累加缓冲区中蓝色位平面的数目
透明缓冲cAccumAlphaBits字节累加缓冲区中透明位平面的数目
缓冲深度cDepthBits字节 Z(深度)缓冲区的深度
模板深度cStencilBits字节模板缓冲区的深度
轴向缓冲cAuxBuffers字节轴向缓冲区的数量(一般1.0版本不支持)
图层iLayerType字节未使用
层数bReserved字节表层和底层平面的数量
图码dwLayerMask整数未使用
显码dwVisibleMask整数是透明色彩的值(RGBA方式)或是一个底层平面的索引(Index)
坏码dwDamageMask整数未使用

中文名字英文名称长度作用解释
调色类LOGPALETTE8已将LOGPALETTE和PALETTEENTRY混合为一个类使用
调色类——成员表
版本palVersion整形指定结构的Windows版本号(目前为$300)
数目palNumEntries整形指定逻辑调色板中的条目数
peRed字节指定调色板条目的红色强度值。PALETTEENTRY的指针位置
绿peGreen字节指定调色板条目的绿色强度值。
peBlue字节指定调色板条目的绿色强度值。
方式peFlags字节指定调色板条目的使用方式。1动态,2索引,4非系统

中文名字英文名称长度作用解释
色度类RGBQUAD4描述了由红色,绿色和蓝色的相对强度组成的颜色。
色度类——成员表
蓝度rgbBlue字节绿色强度值。
绿度rgbGreen字节绿色强度值。
红度rgbRed字节红色强度值。
预留rgbReserved字节预留,必须是0

中文名字英文名称长度作用解释
色位类COLORBYTES4描述了由红色,绿色,蓝色和透明色的颜色位。
色度类——成员表
蓝位BlueByte字节绿色位值。
绿位GreenByte字节绿色位值。
红位RedByte字节红色位值。
透明AlphaByte字节透明色位值

中文名字英文名称长度作用解释
位图数据类BitmapData24包含了位图数据相关信息的结构
位图数据类——成员表
宽度Width整数位图对象的像素宽度
高度Height整数位图对象的像素高度
步长stride整数位图对象的跨距宽度(也称为扫描宽度)
像素PixelFormat整数位图对象的像素信息格式
扫描scan0整数位图对象第一像素数据的地址
预留Reserved整数保留。 请勿使用

中文名字英文名称长度作用解释
变色类ColorMap8定义转换颜色的映射。
变色类——成员表
旧色oldColor整数要转换至的新颜色结构。
新色newColor整数要转换至的现有颜色结构。


中文名字英文名称长度作用解释
路径点类PathData12包含构成 GraphicsPath 对象的图形数据。
路径点类——成员表
数量count整数构成路径点数组的数量
点组Points,整数构成路径点结构的数组
点类types整数路径中相应点的类型。

中文名字英文名称长度作用解释
绘图启动类GdiplusStartupInput24包含GdiplusStartup函数所需的一个参数块。
绘图启动类——成员表
版本GdiplusVersion整数必须为1
回调DebugEventCallback整数可以在调试版本上调用的回调函数的指针
背景SuppressBackgroundThread整数指定是否禁止显示 GDI+ 背景线程的布尔值。
解码SuppressExternalCodecs整数指定是否希望 GDI+ 禁止显示外部图像编解码器的布尔值。

中文名字英文名称长度作用解释
编解码类EncoderParameters24包含GdiplusStartup函数所需的一个参数块。
编解码类——成员表
数量count整数编解码器的总数量
数1Data1整数Clsid结构数据1
数2Data2整数Clsid结构数据2
数3Data3整数Clsid结构数据3
数4Data4整数Clsid结构数据4
个数NumberOfValues整数图像编解码器设定参数值的个数
编码EncoderParameterValueType整数指定图像编解码器数据类型
数值value整数指定图像编解码器转换质量等的数值地址。

中文名字英文名称长度作用解释
串口通讯类DCB28包含了串口通讯相关设置的结构
串口通讯类——成员表
总长度DCBlength整数结构的大小
波特率BaudRate整数设置串口通信的波特率
比特位fBitFields整数设置串口通信的比特位
资源号wReserved整形当前未用
开阈值XonLim整形XON阈值
关阈值XoffLim整形XOFF阈值
数据位ByteSize字节字符位数,4-8
校验位Parity字节奇偶校验位
停止位StopBits字节0,1,2分别为1,1.5,2
开字符XonChar字节XON字符
关字符XoffChar字节XOFF字符
错误符ErrorChar字节奇偶错误替代字符
结束符EofChar字节结束字符
事件符EvtChar字节事件字符
预留wReserved1字节当前未用
备用wReserved2字节当前未用

中文名字英文名称长度作用解释
串口系统类COMMPROP64包含了串口通讯相关设置的结构
串口系统类——成员表
大小wPacketLength_wPacketVersion整数数据包大小,高16位是版本
服务dwServiceMask整数服务的位掩码
预留dwReserved1整数保留;请勿使用
输出dwMaxTxQueue整数输出缓冲区的最大大小
输入dwMaxRxQueue整数输入缓冲区的最大大小
最高dwMaxBaud整数最大允许波特率,75-128K bps或可编程
设备dwProvSubType整数通信提供的程序设备类型
功能dwProvCapabilities整数程序提供的功能的位掩码
参数dwSettableParams整数可更改的通信参数的位掩码
允许dwSettableBaud整数允许的波特率
掩码wSettableData_wSettableStopParity整数低16位是数据位数的位掩码.高16位是停止位和奇偶校验设置的位掩码
发送dwCurrentTxQueue整数驱动程序的内部发送缓冲区的大小
接收dwCurrentRxQueue整数驱动程序的内部接收缓冲区的大小
特定1dwProvSpec1整数特定于提供程序的数据
特定2dwProvSpec2整数特定于提供程序的数据
数据wcProvChar整数特定于提供程序的数据

中文名字英文名称长度作用解释
串口时间类COMMTIMEOUTS20包含了串口通讯时间设置的结构
串口时间类——成员表
读间隔超时ReadIntervalTimeout整数两个字符到达之间允许经过的最长时间(毫秒)
读时间系数ReadTotalTimeoutMultiplier整数用于计算读取操作的总超时周期的乘数(毫秒)
读时间常量ReadTotalTimeoutConstant整数用于计算读取操作的总超时周期的常数(毫秒)系数和常量相乘
写时间系数WriteTotalTimeoutMultiplier整数用于计算写入操作的总超时周期的乘数(毫秒)
写时间常量WriteTotalTimeoutConstant整数用于计算写入操作的总超时周期的常数(毫秒)

中文名字英文名称长度作用解释
串口配置类COMMCONFIG52包含了串口通讯相关配置的结构
串口配置类——成员表
大小dwSize整数结构的大小,以字节为单位
版本wVersion整数结构的版本号。可以为 1
通讯dcbDCB串口通讯类结构体
设备dwProviderSubType整数通信提供程序的设备类型
偏移dwProviderOffset整数数据相对于结构开头的偏移量
大小dwProviderSize整数特定于提供程序的数据的大小
数据wcProviderData整数特定于提供程序的数据,可省略

英文名字中文名称作用解释
ITaskbarList任务栏对象公开控制任务栏的方法。它允许动态添加、删除和激活任务栏上的项。
任务栏对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
HrInit初始化初始化任务栏列表对象。先调用此方法
AddTab添加(窗口)将窗口添加到任务栏。
DeleteTab删除(窗口)从任务栏中删除窗口项。
ActivateTab激活(窗口)激活任务栏上的项。
SetActiveAlt活动(窗口)将任务栏项标记为活动,但不会直观地激活它。

英文名字中文名称作用解释
IShellLinkA链接对象公开用于创建、修改和解析 Shell 链接的方法。
链接对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
GetPath取路径(路径,长度,查文件结构,标志)获取 Shell 链接对象的目标的路径和文件名。标志:1短路径;4原始路径;
GetIDList取列表(@标识表)递获取 Shell 链接对象目标的项标识符列表。
SetIDList改列表(标识表)设置指向 Shell 链接对象的项标识符列表 (PIDL) 的指针。
GetDescription取备注(内容,长度)获取 Shell 链接对象的说明字符串。
SetDescription改备注(内容)设置 Shell 链接对象的说明。 说明可以是任何应用程序定义的字符串。
GetWorkingDirectory取目录(目录,长度)获取 Shell 链接对象的工作目录的名称。
SetWorkingDirectory改目录(目录)设置 Shell 链接对象的工作目录的名称。
GetArguments取命令(内容,长度)获取与 Shell 链接对象关联的命令行参数。
SetArguments改命令(内容)设置与 Shell 链接对象关联的命令行参数。
GetHotkey取热键(@键)获取 shell 链接对象的 (热键) 键盘快捷方式。
SetHotkey改热键(键)设置 shell 链接对象的 (热键) 键盘快捷方式。
GetShowCmd取显示(@方式)获取 Shell 链接对象的显示方式。
SetShowCmd改显示(@方式)设置 Shell 链接对象的显示方式。1复原;2最小化;3最大化
GetIconLocation取图标(路径,长度,@索引)获取 Shell 链接对象的图标的位置 (路径和索引) 。
SetIconLocation改图标(路径,索引)设置 Shell 链接对象的图标的位置 (路径和索引) 。
SetRelativePath改文件(名称,0)设置 Shell 链接对象的相对路径。
Resolve找目标(窗口,标志)尝试查找 Shell 链接的目标,即使它已被移动或重命名。标志:1不显示异常;4更新路径;8不更新链接;$10不搜索启发;$20不跟踪;$40禁用跟踪;$80调用安装
SetPath改路径(路径)设置 Shell 链接对象的目标的路径和文件名。

英文名字中文名称作用解释
IPersistFile存储对象允许从磁盘文件(而不是存储对象或流)加载对象或将其保存到磁盘文件。
存储对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
GetClassID类(标识)检索对象的 CLSID的类标识符。
IsDirty已改确定对象自上次保存到其当前文件以来是否发生了更改。更改返回0,否则返回1
Load加载(路径,模式)打开指定文件并从文件内容初始化对象。模式:0读;1写;2读写;$10独享;$20拒绝写;$30拒绝读
Save保存(路径,模式)将对象的副本保存到指定的文件中。模块为真,保存当前文件,为假是副本另存为
SaveCompleted存储(路径)通知该对象它可以写入它的文件。
GetCurFile文件(路径)检索与对象关联的文件的当前名称。如果没有当前工作文件,此方法将检索对象的默认保存提示。

英文名字中文名称作用解释
IDispatch自动化对象向支持自动化的编程工具和其他应用程序公开对象、方法和属性。
自动化对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
GetTypeInfoCount接口数(@是否)检索对象是否提供的类型信息接口数(0不提供 1提供)。
GetTypeInfo类信息(类型,区域,对象)检索对象的类型信息,然后可以使用该信息获取接口的类型信息。
GetIDsOfNames映射(IID_NULL,名称,名数,区域,@标号)将单个成员和一组可选的参数名称映射到一组相应的数组指针.区域:1033美国;2052中国;2048系统默认;
Invoke调用(标号,IID_NULL,区域,标志,参数,结果,0,0)提供对对象公开的属性和方法的访问。标志:1方法;2属性读;3属性写;4参照赋值

网页框——对象使用

对象 浏览=浏览器对象; 申请一个浏览器对象的变量
程序段 窗体启动; 在程序段内控制网页框对象
  浏览=控件对象 网页框1; 获取网页框的浏览器对象
  浏览.改静默(1); 控制网页框的浏览器对象不显示对话提示
  浏览.连接("`https://www.baidu.com/",0,0,0,0); 控制网页框的浏览器对象访问一个网址
  浏览.主页; 控制网页框的浏览器对象显示默认主页
  浏览.后退; 控制网页框的浏览器对象返回之前打开的页面
  浏览.命令(17,0,0,0); 控制网页框的页面全部选中
  浏览.命令(12,0,0,0); 控制网页框的页面复制选中内容
英文名字中文名称作用解释
IWebBrowser2浏览器对象公开用于操作WebBrowser控件的方法。文字均为宽字符
浏览器对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
GetTypeInfoCount接口数(@是否)检索对象是否提供的类型信息接口数(0不提供 1提供)。
GetTypeInfo类信息(类型,区域,对象)检索对象的类型信息,然后可以使用该信息获取接口的类型信息。
GetIDsOfNames映射(IID_NULL,名称,名数,区域,@标号)将单个成员和一组可选的参数名称映射到一组相应的数组指针.区域:1033美国;2052中国;2048系统默认;
Invoke调用(标号,IID_NULL,区域,标志,参数,结果,0,0)提供对对象公开的属性和方法的访问。标志:1方法;2属性读;3属性写;4参照赋值
GoBack后退使你在当前历史列表中后退一项
GoForward前进递使你在当前历史列表中前进一项。
GoHome主页连接用户默认的主页。
GoSearch搜索连接用户默认的搜索页面。
Navigate连接(网址,标志,方式,参数,标头)连接到指定的URL网址。标志:1新窗口;2不加历史记录;16自动搜索;32导航栏;方式:_blank;_parent;_self;_top;
Refresh刷新重新加载当前网页。
Refresh2重载(级别)重新加载当前网页。0简单刷新;1过期刷新;3请求头
Stop停止停止当前页面及其内容的载入。
get_Application取控件(@控件)获取掌管WebBrowser控件的应用程序实现的自动化对象(IDispatch)。
get_Parent取父级(@控件)获取WebBrowser控件的父自动化对象,通常是一个容器,例如是宿主或IE窗口。
get_Container取容器(@控件)获取WebBrowser控件容器的自动化对象。通常该值与Parent属性返回的值相同。
get_Document取文档(@控件)获取活动文档的自动化对象。提供对DHTML Object Model的访问途径。
get_TopLevelContainer顶层(@是否)获取一个布尔值,表明IE是否是WebBrowser控件顶层容器,是就返回true
get_Type取类型(内容)获取已被WebBrowser控件加载的对象的类型。例如.doc文件是Microsoft Word Document
get_Left取左边(@数值)获取WebBrowser控件窗口的内部左边与容器窗口左边的距离。
put_Left改左边(数值)设置WebBrowser控件窗口的内部左边与容器窗口左边的距离。
get_Top取上边(@数值)获取WebBrowser控件窗口的内部左边与容器窗口顶边的距离
put_Top改上边(数值)设置WebBrowser控件窗口的内部左边与容器窗口顶边的距离。
get_Width取宽度(@数值)获取WebBrowser窗口的宽度,以像素为单位。
put_Width改宽度(数值)设置WebBrowser窗口的宽度,以像素为单位。
get_Height取高度(@数值)获取WebBrowser窗口的高度,以像素为单位。
put_Height改高度(数值)设置WebBrowser窗口的高度,以像素为单位。
get_LocationName取标题(内容)获取一个字符串,该字符串包含着WebBrowser当前显示资源的路径或标题。
get_LocationURL取网址(内容)获取WebBrowser当前正在显示的资源的URL。
get_Busy载入中(@真假)获取一个布尔值,说明WebBrowser当前是否正在加载URL。
Quit关闭关闭WebBrowser当前页面。
ClientToWindow取坐标(@左,@上)获取显示页面客户区与容器窗口的左边和顶边距离。
PutProperty改属性(名称,参数)设置WebBrowser指定名称的属性。参数为VARIANT变量结构数组
GetProperty取属性(名称,参数)获取WebBrowser指定名称的属性。参数为VARIANT变量结构数组。
get_Name取名称(内容)获取WebBrowser控件窗口的名称。
get_HWND取窗口(@窗口)获取WebBrowser控件窗口的句柄。
get_FullName取全名(内容)获取WebBrowser控件窗口的全名。
get_Path取路径(路径)检索 Windows Internet Explorer 可执行文件的系统文件夹。
get_Visible取可见(@是否)获取WebBrowser控件窗口是否可见。
put_Visible改可见(是否)设置WebBrowser控件窗口是否可见。
get_StatusBar取状态栏(@是否)获取WebBrowser控件的状态栏是否可见。
put_StatusBar改状态栏(是否)设置WebBrowser控件的状态栏是否可见。
get_StatusText取状态字(内容)获取WebBrowser控件的指示状态的文字。
put_StatusText改状态字(内容)设置WebBrowser控件的指示状态的文字。
get_ToolBar取工具栏(@是否)获取WebBrowser控件的工具栏是否可见。
put_ToolBar改工具栏(是否)设置WebBrowser控件的工具栏是否可见。
get_MenuBar取菜单栏(@是否)获取WebBrowser控件的菜单栏是否可见。
put_MenuBar改菜单栏(是否)设置WebBrowser控件的菜单栏是否可见。
get_FullScreen取全屏(@是否)获取WebBrowser控件的窗口是否全屏。
put_FullScreen改全屏(是否)设置WebBrowser控件的窗口是否全屏。
Navigate2转到(网址,标志,方式,参数,标头)连接到指定的URL网址(宽字符)。参数为POST提交数据(ANSI),标头为HTTP协议头
QueryStatusWB查状态(命令,@状态)查询控件对象以获取命令的状态。1可用;2已启用;4开关打开;8保留;16隐藏;32隐藏上下文
ExecWB命令(命令,选项,参数,数据)执行命令并返回命令执行的状态。选项:0缺省;1提示;2不提示;3显示帮助;参数数据为Variant结构的指针,可选写0
ShowBrowserBar显浏览栏(类,显示,大小)显示浏览器栏。参数均为Variant结构的指针
get_ReadyState就绪状态(@状态)获取WebBrowser控件的就绪状态。0初始状态;1正在加载;2加载完成;3交互模式;4接收完成
get_Offline取脱机(@是否)获取WebBrowser控件对象是否在脱机模式下运行。
put_Offline改脱机(是否)设置WebBrowser控件对象是否在脱机模式下运行。
get_Silent取静默(@是否)获取WebBrowser控件的对象是否可以显示对话框。
put_Silent改静默(是否)设置WebBrowser控件的对象是否可以显示对话框。
get_RegisterAsBrowser取顶级(@是否)获取WebBrowser控件的窗口是否注册为顶级浏览器窗口。
put_RegisterAsBrowser改顶级(是否)设置WebBrowser控件的窗口是否注册为顶级浏览器窗口。
get_RegisterAsDropTarget取拖曳(@是否)获取WebBrowser控件的对象是否注册为导航的放置目标。
put_RegisterAsDropTarget改拖曳(是否)设置WebBrowser控件的对象是否注册为导航的放置目标。
get_TheaterMode取影院(@是否)获取WebBrowser控件的对象是否处于影院模式。主窗口将填满整个屏幕
put_TheaterMode改影院(是否)设置WebBrowser控件的对象是否处于影院模式。主窗口将填满整个屏幕
get_AddressBar取地址栏(是否)设置WebBrowser控件对象的地址栏是否可见。
put_AddressBar改地址栏(是否)设置WebBrowser控件对象的地址栏是否可见。
get_Resizable取调整(是否)设置WebBrowser控件的窗口是否可以调整对象的大小。
put_Resizable改调整(是否)设置WebBrowser控件的窗口是否可以调整对象的大小。
浏览对象可执行命令表:
使用不同数值,执行相应功能的命令
英文数值功能
OLECMDID_OPEN1打开地址
OLECMDID_NEW2新建页面
OLECMDID_SAVE3保存
OLECMDID_SAVEAS4另存为
OLECMDID_SAVECOPYAS5另存复制内容
OLECMDID_PRINT6打印页面
OLECMDID_PRINTPREVIEW7打印预览
OLECMDID_PAGESETUP8页面设置
OLECMDID_SPELL9拼写
OLECMDID_PROPERTIES10查看页面属性
OLECMDID_CUT11剪切
OLECMDID_COPY12复制
OLECMDID_PASTE13粘贴
OLECMDID_PASTESPECIAL14粘贴特殊
OLECMDID_UNDO15撤消
OLECMDID_REDO16重做
OLECMDID_SELECTALL17全选
OLECMDID_CLEARSELECTION18清除选择
OLECMDID_ZOOM19缩放
OLECMDID_GETZOOMRANGE20获取的缩放范围
OLECMDID_UPDATECOMMANDS21更新命令
OLECMDID_REFRESH22刷新
OLECMDID_STOP23停止
OLECMDID_HIDETOOLBARS24隐藏工具栏
OLECMDID_SETPROGRESSMAX25设置进度条最大值
OLECMDID_SETPROGRESSPOS26设置进度条位置
OLECMDID_SETPROGRESSTEXT27设置进度条文本
OLECMDID_SETTITLE28设置标题
OLECMDID_SETDOWNLOADSTATE29设置下载状态
OLECMDID_STOPDOWNLOAD30停止下载
OLECMDID_ONTOOLBARACTIVATED31激活工具栏
OLECMDID_FIND32查找
OLECMDID_DELETE33删除
OLECMDID_HTTPEQUIV34http信息头
OLECMDID_HTTPEQUIV_DONE35http信息头结束
OLECMDID_ENABLE_INTERACTION36允许相互协作
OLECMDID_ONUNLOAD37激活卸载
OLECMDID_PROPERTYBAG238连续数据对象
OLECMDID_PREREFRESH39预刷新
OLECMDID_SHOWSCRIPTERROR40显示脚本错误
OLECMDID_SHOWMESSAGE41显示消息
OLECMDID_SHOWFIND42显示查找
OLECMDID_SHOWPAGESETUP43显示页面设置
OLECMDID_SHOWPRINT44显示打印
OLECMDID_CLOSE45关闭窗体
OLECMDID_ALLOWUILESSSAVEAS46另存为
OLECMDID_DONTDOWNLOADCSS47不加载CSS
OLECMDID_UPDATEPAGESTATUS48更新页面状态
OLECMDID_PRINT249打印2
OLECMDID_PRINTPREVIEW250打印预览2
OLECMDID_SETPRINTTEMPLATE51设置打印模板
OLECMDID_GETPRINTTEMPLATE52获取打印模板
OLECMDID_PAGEACTIONBLOCKED55页面动作锁定
OLECMDID_PAGEACTIONUIQUERY56页面操作界面查询
OLECMDID_FOCUSVIEWCONTROLS57焦点视图控件
OLECMDID_FOCUSVIEWCONTROLSQUERY58焦点视图控件查询
OLECMDID_SHOWPAGEACTIONMENU59显示页面操作菜单
OLECMDID_ADDTRAVELENTRY60增加入口
OLECMDID_UPDATETRAVELENTRY61更新入口
OLECMDID_UPDATEBACKFORWARDSTATE62更新放进后退状态
OLECMDID_OPTICAL_ZOOM63视窗缩放
OLECMDID_OPTICAL_GETZOOMRANGE64视角缩放范围
OLECMDID_WINDOWSTATECHANGED65窗口状态改变
OLECMDID_ACTIVEXINSTALLSCOPE66安装ActiveX控件
OLECMDID_UPDATETRAVELENTRY_DATARECOVERY67更新恢复数据
OLECMDID_SHOWTASKDLG68显示任务对话

英文名字中文名称作用解释
INewShortcutHookA新快捷对象公开用于创建新的 Internet 快捷方式的方法。
新快捷对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
SetReferent改引用(文字,窗口)设置快捷方式对象的引用。(ANSI)
GetReferent取引用(字符,大小)获取快捷方式对象的引用。(ANSI)
SetFolder改目录(路径)设置快捷方式对象的文件夹名称。(ANSI)
GetFolder取目录(路径,大小)获取快捷方式对象的文件夹名称。(ANSI)
GetName名称(内容,大小)获取快捷方式对象的文件名,而不带扩展名。(ANSI)
GetExtension扩展名(内容,大小)获取快捷方式对象的文件扩展名。(ANSI)

Win32编程常用函数-公用图形库
中文名称英文名称示例作用
图驱创建DirectDrawCreate图驱创建(标识,@接口,0)创建DirectDraw对象的实例。标识用设备GUID为硬件加速,用0为仿真;1模拟硬件支持;2纯仿真无硬件;成功返回0;
图驱个例DirectDrawCreateClipper图驱个例(0,@接口,0)创建不与DirectDraw对象关联的对象实例。成功返回0;返回0x80070057参数错误;0x8007000E内存溢出
图驱例七DirectDrawCreateEx图驱例七(标识,@接口,例七,0)创建支持DirectX 7.0 中的 Direct3D 接口集的DirectDraw对象的实例。标识用设备GUID为硬件加速,用0为仿真;1模拟硬件支持;2纯仿真无硬件;成功返回0;例七必须是IID_IDirectDraw7
图驱枚举DirectDrawEnumerateA图驱枚举(@函数,传参)枚举主显示设备和一个非显示设备(如 三维加速器)
图驱列举DirectDrawEnumerateExA图驱列举(@函数,传参,标志)枚举计算机上安装的所有 DirectDraw 设备。标志:1所有桌面设备;2所有非桌面设备;4枚举主设备
枚举设备DDEnumCallback枚举设备(标识,名称,说明,传参)图驱枚举的回调函数,返回非零值继续枚举,返回零停止枚举
列举设备DDEnumCallback列举设备(标识,名称,说明,传参,设备)图驱列举的回调函数,返回非零值继续枚举,返回零停止枚举
回显模式EnumModesCallback2回显模式(结构,传参)IDirectDraw7的EnumDisplayModes方法的回调函数;提供监视器频率和可创建的模式DDSURFACEDESC2 结构。
回附加面EnumSurfacesCallback7回附加面(接口,结构,传参)IDirectDraw7的EnumAttachedSurfaces和EnumOverlayZOrders方法的回调函数;提供附加图面的IDirectDrawSurface7接口指针和描述附加图面的DDSURFACEDESC2 结构。
中文名字英文名称长度作用解释
图面说明类DDSURFACEDESC108包含驱动程序要创建的图面的说明。
图面说明类——成员表
大小dwSize整数结构的大小,以字节为单位
标志dwFlags整数指定结构的哪些成员包含有效数据。全部有效:$FF9EE
高度dwHeight整数指定图面的高度(以像素为单位)。标志:2
宽度dwWidth整数指定图面的宽度(以像素为单位)。标志:4
字数lPitch/dwMipMapCount整数扫描行字数:8/指定 mipmap 级别的数目。标志:$20000
分配dwLinearSize/dwZBufferBitDepth整数指定无格式、后期分配的优化图面的大小:$80000/指定 z 缓冲区的深度(像素位):$40
区数dwBackBufferCount/dwRefreshRate整数指定与图面关联的后台缓冲区数:$20/指定在描述显示器的刷新率(赫兹),标志:$40000
透明dwAlphaBitDepth整数指定alpha缓冲区的深度(像素位)。标志:$80
预留dwReserved整数保留,应设置为零。
内存lpSurface整数指定关联 Surface 内存的地址。标志:$800
低覆盖色ddckCKDestOverlay.dwColorSpaceLowValue整数指定目标覆盖使用的颜色键。标志:$2000
高覆盖色ddckCKDestOverlay.dwColorSpaceHighValue整数指定目标覆盖使用的颜色键。
低转换色ddckCKDestBlt.dwColorSpaceLowValue整数指定目标转换操作使用的颜色键。标志:$4000
高转换色ddckCKDestBlt.dwColorSpaceHighValue整数指定目标转换操作使用的颜色键。
低覆盖源ddckCKSrcOverlay.dwColorSpaceLowValue整数指定源覆盖使用的颜色键。标志:$8000
高覆盖源ddckCKSrcOverlay.dwColorSpaceHighValue整数指定源覆盖使用的颜色键。
低转换源ddckCKSrcBlt.dwColorSpaceLowValue整数指定源转换操作使用的颜色键。标志:$10000
高转换源ddckCKSrcBlt.dwColorSpaceHighValue整数指定源转换操作使用的颜色键。
长度ddpfPixelFormat.dwSize整数结构的大小,以字节为单位。标志:$1000
选项ddpfPixelFormat.dwFlags整数指定结构的哪些成员包含有效数据。
代码ddpfPixelFormat.dwFourCC整数一个 FourCC 代码。
色位ddpfPixelFormat.dwRGBBitCount整数每个像素的 RGB 位 (4、8、16、24 或 32) 。
色码ddpfPixelFormat.dwYUVBitCount整数每个像素的 YUV 位 (4、8、16、24 或 32) 。
纵深ddpfPixelFormat.dwZBufferBitDepth整数Z 缓冲区位深度 (8、16、24 或 32) 。
位深ddpfPixelFormat.dwAlphaBitDepth整数仅限 alpha 的图面 (DDPF_ALPHA) 的 Alpha 通道位深度 (1、2、4 或 8) 。
亮位ddpfPixelFormat.dwLuminanceBitCount整数每个像素的总亮度位数。仅适用于仅亮度和亮度 alpha 图面。
功能ddsCaps.dwCaps整数定义图面对象的功能。标志:1

中文名字英文名称长度作用解释
颜色控件类DDCOLORCONTROL40定义与 Microsoft DirectDraw 视频端口扩展关联的颜色控件, (VPE) 对象。
颜色控件类——成员表
大小dwSize整数结构的大小,以字节为单位
标志dwFlags整数指定结构的哪些成员包含有效数据。
亮度lBrightness整数指定黑级别(亮度强度) 范围为0 到 10000,默认值750 (7.5 IRE) 。标志:1
对比度lContrast整数指定较高强度和较低强度亮度值之间的相对差值。范围0到20000,默认值为 10000 (100 IRE) 。标志:2
角度lHue整数指定色度组件的相位关系。有效范围为-180到180度。默认值0度。标志:4
色度lSaturation整数指定颜色强度。范围0到20000,默认值10000 (100 IRE)。标志:8
锐度lSharpness整数指定以任意单位表示的锐度。有效范围0到10,默认值为5。标志:$10
校正lGamma整数控制应用于亮度值的伽玛校正量。有效范围1到500个伽玛单位,默认值为1。标志:$20
颜色lColorEnable整数指定指示是否使用颜色的标志。0不使用颜色;1使用颜色。默认值1。标志:$40
预留dwReserved1整数保留,应忽略。

中文名字英文名称长度作用解释
伽玛渐变类DDGAMMARAMP768定义红色、绿色和蓝色渐变数据。
伽玛渐变类——成员表
red[256]整形描述红色伽玛渐变的数组。
绿green[256]整形描述红色伽玛渐变的数组。
blue[256]整形描述红色伽玛渐变的数组。

英文名字中文名称作用解释
IDirectDraw公用绘图对象使用驱动显示接口的方法创建绘图对象并使用系统级变量。
公用绘图对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
Compact协议目前未实现此方法。
CreateClipper裁剪(0,@接口,0)创建裁剪对象。最后参数为COM聚合功能预留接口,现在不能用
CreatePalette调色板(索引位,颜色组,@接口,0)创建调色板对象。索引位:1四位(16色);2引用8位色;4=八位(256色);
$10连正面;$20左视图;$40定义256色;$80刷新率同步;$100一位(黑白);$200=二位(四色);$400=透明通道
CreateSurface创建面(图面类,@接口,0)创建图面对象。
DuplicateSurface复制面(接口,@新接口)复制图面对象。
EnumDisplayModes枚举显示(模式,图面类,传参,@回显模式)枚举硬件提供的图面说明兼容的所有显示模式。模式:1不同刷新率;2标准VGA
EnumSurfaces枚举图面(模式,图面类,传参,@回附加面)枚举满足指定图面说明的所有现有或可能的图面。模式:1所有图面;2匹配指定;4不匹配指定;8匹配第一个(同2一起用);$10=搜索指定现有图面;
FlipToGDISurface写主图面使 GDI 写入主图面的图面。
GetCaps获取功能(@硬件,@仿真)检索硬件的设备驱动程序的功能,以及HEL(硬件仿真层)的功能。参数为0不获取
GetDisplayMode取显示(图面类)检索当前显示模式。
GetFourCCCodes取四字符(@条数,@代码数组)检索对象支持的FOURCC(四字符)的代码或代码数。
GetGDISurface图面接口(@接口)检索图面对象,该对象当前表示GDI视为主图面的图面内存。
GetMonitorFrequency频率(@数值)检索对象控制的监视器的频率(Hz) 。
GetScanLine扫描(@线)检索当前正在监视器上绘制的扫描线。
GetVerticalBlankStatus直白(@是否)检索垂直空白的状态。如果出现垂直空白为真,否则为假
Initialize初始化(类标识)使用"创建对象"需要进行初始化。
RestoreDisplayMode重置显示将主图面的显示设备硬件的模式重置为调用 "改显示"方法之前的状态。需要独占级别访问权限。
SetCooperativeLevel顶级行为(窗口,模式)确定应用程序的顶级行为。模式:1独占全屏;2按键呼出;4窗口不变;8普通程序;$10独占级别;$40模版模式
SetDisplayMode改显示(宽度,高度,位数)设置显示设备硬件的显示模式。
WaitForVerticalBlank垂直同步(间隔,0)帮助应用程序将自身与垂直空白间隔同步。间隔:1垂直空间隔开始时返回;2垂直空白开始时触发事件(不支持);4垂直空白间隔结束且显示开始时返回;
GetAvailableVidMem可用内存(功能,@总内存,@显示量)检索给定类型图面的可用显示内存总量和当前可用的显示内存量。(版本>=2.0)
GetSurfaceFromDC设备接口(设备,@接口)根据其GDI设备句柄检索图面的接口。(版本>=4.0)
RestoreAllSurfaces还原图面按创建顺序还原为对象创建的所有图面。(版本>=4.0)
TestCooperativeLevel协作状态报告窗口或全屏应用程序的驱动显示设备的当前协作级别状态。(版本>=4.0)
GetDeviceIdentifier驱动信息(信息,标志)获取有关设备驱动程序的信息。标志:0=基准信息;1=三维加速显卡(版本>=4.0)
StartModeTest显示适配(分辨率组,组数,标志)启动测试以使用当前显示适配器和监视器组合的刷新率信息更新系统注册表。标志:1不测试适配并返回是否测试标识的分辨率(版本>=7.0)
EvaluateMode测评显示(模式,@剩余秒数)在调用"自动适配"后使用,以通过或失败测试呈现的每个模式,并单步执行模式,直到测试完成。模式:1测试通过;2测试失败;(版本>=7.0)

英文名字中文名称作用解释
IDirectDraw7公用绘图对象使用驱动显示接口的方法创建绘图对象并使用系统级变量。
公用绘图对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
Compact协议目前未实现此方法。
CreateClipper裁剪(0,@接口,0)创建裁剪对象。最后参数为COM聚合功能预留接口,现在不能用
CreatePalette调色板(索引位,颜色组,@接口,0)创建调色板对象。索引位:1四位(16色);2引用8位色;4=八位(256色);
$10连正面;$20左视图;$40定义256色;$80刷新率同步;$100一位(黑白);$200=二位(四色);$400=透明通道
CreateSurface创建面(图面类,@接口,0)创建图面对象。
DuplicateSurface复制面(接口,@新接口)复制图面对象。
EnumDisplayModes枚举显示(模式,图面类,传参,@回显模式)枚举硬件提供的图面说明兼容的所有显示模式。模式:1不同刷新率;2标准VGA
EnumSurfaces枚举图面(模式,图面类,传参,@回附加面)枚举满足指定图面说明的所有现有或可能的图面。模式:1所有图面;2匹配指定;4不匹配指定;8匹配第一个(同2一起用);$10=搜索指定现有图面;
FlipToGDISurface写主图面使 GDI 写入主图面的图面。
GetCaps获取功能(@硬件,@仿真)检索硬件的设备驱动程序的功能,以及HEL(硬件仿真层)的功能。参数为0不获取
GetDisplayMode取显示(图面类)检索当前显示模式。
GetFourCCCodes取四字符(@条数,@代码数组)检索对象支持的FOURCC(四字符)的代码或代码数。
GetGDISurface图面接口(@接口)检索图面对象,该对象当前表示GDI视为主图面的图面内存。
GetMonitorFrequency频率(@数值)检索对象控制的监视器的频率(Hz) 。
GetScanLine扫描(@线)检索当前正在监视器上绘制的扫描线。
GetVerticalBlankStatus直白(@是否)检索垂直空白的状态。如果出现垂直空白为真,否则为假
Initialize初始化(类标识)使用"创建对象"需要进行初始化。
RestoreDisplayMode重置显示将主图面的显示设备硬件的模式重置为调用 "改显示"方法之前的状态。需要独占级别访问权限。
SetCooperativeLevel顶级行为(窗口,模式)确定应用程序的顶级行为。模式:1独占全屏;2按键呼出;4窗口不变;8普通程序;$10独占级别;$40模版模式
SetDisplayMode改显示(宽度,高度,位数,刷新率,模式)设置显示设备硬件的模式。0为默认刷新率,模式建议用0,指定为2是非标准VGA
WaitForVerticalBlank垂直同步(间隔,0)帮助应用程序将自身与垂直空白间隔同步。间隔:1垂直空间隔开始时返回;2垂直空白开始时触发事件(不支持);4垂直空白间隔结束且显示开始时返回;
GetAvailableVidMem可用内存(功能,@总内存,@显示量)检索给定类型图面的可用显示内存总量和当前可用的显示内存量。
GetSurfaceFromDC设备接口(设备,@接口)根据其GDI设备句柄检索图面的接口。
RestoreAllSurfaces还原图面按创建顺序还原为对象创建的所有图面。
TestCooperativeLevel协作状态报告窗口或全屏应用程序的驱动显示设备的当前协作级别状态。
GetDeviceIdentifier驱动信息(信息,标志)获取有关设备驱动程序的信息。标志:0=基准信息;1=三维加速显卡
StartModeTest显示适配(分辨率组,组数,标志)启动测试以使用当前显示适配器和监视器组合的刷新率信息更新系统注册表。标志:1不测试适配并返回是否测试标识的分辨率
EvaluateMode测评显示(模式,@剩余秒数)在调用"自动适配"后使用,以通过或失败测试呈现的每个模式,并单步执行模式,直到测试完成。模式:1测试通过;2测试失败;

英文名字中文名称作用解释
IDirectDrawSurface7公用图面对象使用驱动显示面接口的方法创建图面对象并使用系统级变量。
公用图面对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
AddAttachedSurface添加图面(接口)将指定的 z 缓冲区图面连接到此图面。
AddOverlayDirtyRect添加覆盖(矩形)此方法当前未实现。
Blt位传(目标矩形,图面,源矩形,标志,光栅)执行位块传输。标志:$200=顺序异步;$400=填充颜色;$800指定光栅类型;$1000丢弃光栅;$2000使用目标颜色键;$4000指定目标颜色键;$8000使用源颜色键;
$10000指定源颜色键;$20000指定光栅操作功能;$40000指定旋转角度;$8000000=返回传输状态
BltBatch批传(位块组,操作数,0)此方法当前未实现。
BltFast快传(x,y,图面,矩形,标志)使用源颜色键或目标颜色键执行源复制位块或透明位块。标志:0=普通复制;1按源透明色;2用目标透明;$10等待忙完
DeleteAttachedSurface分离(0,图面)分离一个或多个附加表面。
EnumAttachedSurfaces枚举图面(传参,@回附加面)枚举连接到此图面的所有图面。
EnumOverlayZOrders枚举覆面(模式,传参,@回附加面)枚举指定目标上的覆盖图面。模式:0=从后到前;1=从前到后;
Flip翻转(图面,标志)使与后台缓冲区图面关联的表面内存与前缓冲区表面相关联。标志:1=尝试等待;2=偶数场视频;4奇数视频;8不同步;$10=立体声;$20=不需等待;
$2000000=每秒垂直同步翻转;$3000000=隔三同步;$4000000=隔四同步
GetAttachedSurface取附加图(功能,@图面)获取具有指定功能的附加图面,并递增检索到的接口的引用计数
GetBltStatus取块传(标志)获取位块传输 (bitblt) 操作的状态。标志:1=传输开始;2=传输完成;返回:0成功;0x88760082=无效对象;0x8876023F=无问题;0x887601AE=线程锁定被拒;
0x887601C2=图面不存在;0x8876021C=正在传输或图面不完整;0x80070057=错误参数;0x80004001=不支持操作。
GetCaps获取功能(@功能)检索图面的功能。
GetClipper取剪辑(剪辑器)索与此图面关联的剪辑器对象,并递增返回的剪辑器的引用计数。
GetColorKey取颜色键(标志,色键)检索此图面的颜色键值。标志:2=块传目标色键;4=覆盖目标色键;8=块传源键;$10覆盖源键
GetDC取设备(@设备)为此图面创建设备上下文的 GDI 兼容句柄。
GetFlipStatus取翻转(标志)检索有关此图面是否已完成翻转过程的状态。标志:1=传输开始;2=传输完成;返回:0成功;0x88760082=无效对象;0x8876023F=无问题;
0x887601AE=线程锁定被拒;0x887601C2=图面不存在;0x8876021C=正在传输或图面不完整;0x80070057=错误参数;0x80004001=不支持操作。
GetOverlayPosition取坐标(@x,@y)检索可见的活动覆盖图面的显示坐标。
GetPalette取调色板(@色板)检索与此图面关联的调色板对象,并递增返回的调色板的引用计数。
GetPixelFormat像素格式(格式)检索此图面的颜色和像素格式。
GetSurfaceDesc图面说明(图面说明类)检索此图面在其当前条件下的说明。调用前只需初始化结构大小
Initialize初始化(对象,图面说明类)初始化图面对象。
IsLost丢弃确定是否释放了与图面对象关联的表面内存。返回:0=尚未释放;0x88760082=无效对象;0x80070057=错误参数;0x887601C2=图面不存在;
Lock锁定(矩形,图面类,标志,0)获取指向表面内存的指针。矩形为0是整个画面,标志:1=尝试等待;$10=只读画面;$20=启用写入;$800=不互斥锁;$1000=不写引用顶点;$2000=重写顶点;$4000=不需等待;
ReleaseDC释放设备(设备)释放以前使用"取设备"方法获取的设备上下文的句柄。
Restore还原图面还原已丢失的图面。当与图面对象关联的面内存已释放时,将发生这种情况。
SetClipper改剪辑(剪辑器)将剪辑器对象附加到此图面或从中删除一个对象(参数为0)。
SetColorKey顶级行为(模式,颜色键)设置图面对象的颜色键值。模式:1=含颜色空间;2=位传目标颜色;4=覆盖目标颜色;8=位传源颜色;$10=覆盖源颜色
SetOverlayPosition改坐标(x,y)设更改覆盖图面的显示坐标。
SetPalette改调色板(色板)将调色板对象附加到图面或从图面分离一个对象。
Unlock解锁(矩形)通知绘图对象直接图面操作已完成。矩形为0是整个图面
UpdateOverlay更新覆盖(源矩形,图面,目标矩形,标志,DDFX)重新定位或修改覆盖图面的视觉属性。 标志:2=覆盖目标透明通道数值;4=指定目标透明度;8=覆盖目标透明通道地址;$10=边框透明通道;$20=附加像素格式透明;
$40=源透明通道数值;$80=指定源透明度;$100=源透明通道地址;$200=关闭覆盖面;$400=目标关联颜色键;$800=目标覆盖颜色键;$1000=源关联颜色键;$2000=源覆盖颜色键;
$4000=显示覆盖面;$8000=添加矩形到覆盖面;$10000=重绘覆盖面矩形;$20000=重绘整个覆盖面;$80000=用FX定义特效;$100000=垂直同步自动翻转;$200000=隔行扫描无断帧;
$400000=隔行编码持久有效;$800000=交错内存数据;$1000000=硬件隔行扫描编码;$2000000=包含ARGB缩放因子;$4000000=ARGB缩放因子可降级
UpdateOverlayDisplay更新显示(预留)方法当前未实现。
UpdateOverlayZOrder更新层序(标志,图面)设置覆盖的z顺序。标志:0=移到前面;1移到后面;2=前移一层;3=后移一层;4插到前面;5插到后面;4和5插入时需要指定图面
GetDDInterface取接口(@接口)检索用于创建此图面的绘图对象的接口。(版本>=2.0)
PageLock锁定分页(0)防止系统内存图面在位块传输时分页,直接使用内存访问 (DMA) 传输。(版本>=2.0)
PageUnlock解锁分页(0)解锁系统内存图面,然后允许将其分页。(版本>=2.0)
SetSurfaceDesc设置图面(图面说明类,0)设置现有图面的特征。(版本>=3.0)
GetPrivateData图面数据(类标识,@缓冲,@大小)将与此图面关联的专用数据复制到提供的缓冲区。(版本>=4.0)
FreePrivateData释放数据(类标识)释放与此图面关联的指定私有数据。(版本>=4.0)
GetUniquenessValue图面键值(@键值)检索此图面的当前唯一性值。(版本>=4.0)
ChangeUniquenessValue更换键值手动更新此图面的唯一性值。(版本>=4.0)
SetPriority改优先(级)为此托管纹理分配纹理管理优先级。(版本>=7.0)
GetPriority取优先(@级)获取此托管纹理的纹理管理优先级。(版本>=7.0)
SetLOD改细节(级)设置托管纹理mipmap图面的最大细节级别LOD。(版本>=7.0)
GetLOD取细节(@级)获取托管纹理mipmap图面的最大细节级别LOD。(版本>=7.0)

英文名字中文名称作用解释
IDirectDrawPalette公用调色对象应用程序使用调色板接口的方法来创建调色板对象,并使用系统级变量。
公用调色对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
GetCaps功能(@标志)检索调色板对象的功能。标志:1四位(16色);2引用8位色;4=八位(256色);
$10连正面;$20左视图;$40定义256色;$80刷新率同步;$100一位(黑白);$200=二位(四色);$400=透明通道
GetEntries取色板(0,开头,数目,色板组)从调色板对象检索调色板值。
Initialize初始化(对象,0,0)初始化调色板对象。
SetEntries改色板(0,开头,数目,色板组)立即更改调色板对象中的条目。

英文名字中文名称作用解释
IDirectDrawClipper公用剪辑对象应用程序使用剪辑器接口的方法来管理剪辑列表。
公用剪辑对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
GetClipList取副本(矩形,@区块组,@大小)检索剪辑器对象关联的剪辑列表的副本。矩形为0取整个画面,区块为0取数据大小
GetHWnd取窗口(@窗口)检索与剪辑器对象关联的窗口句柄。
Initialize初始化(对象,0)初始化调色板对象。
IsClipListChanged列表状态(@真假)如果窗口句柄与剪辑器对象关联,则检索剪辑列表的状态是否更改。
SetClipList改副本(区块组,0)设置或删除剪辑器父对象所附加到的图面上使用的剪辑列表。
SetHWnd改窗口(@真假)设置剪辑器对象用于获取剪辑信息的窗口句柄。

英文名字中文名称作用解释
IDirectDrawColorControl公用颜色对象应用程序使用颜色控件接口的方法获取和设置颜色控件。
公用颜色对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
GetColorControls取色控(@颜色控制)检索与覆盖或主图面关联的当前颜色控制设置。
SetColorControls改色控(颜色控制)设置覆盖或主图面的颜色控制选项。

英文名字中文名称作用解释
IDirectDrawGammaControl公用渐变对象应用程序使用伽玛渐变控件接口的方法来调整主图面的红色、绿色和蓝色伽玛渐变级别。
公用渐变对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
GetGammaRamp取渐变(0,@色素)检索主图面的红色、绿色和蓝色伽玛渐变
SetGammaRamp改渐变(标志,色素)设置主图面的红色、绿色和蓝色伽玛渐变。标志:1=物理校准;0不校准

英文名字中文名称作用解释
IDirect3D9三维图形类应用程序使用三维图形接口的方法创建三维图形对象并设置环境。包括枚举和检索设备功能的方法。
三维图形类——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
RegisterSoftwareDevice软件光栅(@函数)注册可插入软件设备。提供软件光栅化,使应用程序能够访问各种软件光栅器。
GetAdapterCount显卡数返回系统上的适配器数。显卡序号0到数量减一
GetAdapterIdentifier显卡描述(序号,标志,显卡标识类)描述指定物理显示适配器信息:显卡标识类。标志:0=默认;2=下载驱动证书;
GetAdapterModeCount模式数(序号,图面格式)返回此适配器上可用的显示模式数。图面格式
EnumAdapterModes枚举模式(序号,设备类型,索引,显示模式类)枚举指定的适配器是否支持请求的格式和显示模式。索引是模式数的序号;
GetAdapterDisplayMode显示模式(序号,显示模式类)检索适配器的当前显示模式信息。
CheckDeviceType设备类型(序号,设备类型,显示模式,缓冲格式,全屏)验证硬件加速设备类型是否可以在此适配器上使用。设备类型
CheckDeviceFormat设备格式(序号,设备类型,选项,资源类型,图面格式)确定表面格式是否可用作指定资源类型常数,纹理、深度模具缓冲区、呈现目标或三者的任何组合。选项:
CheckDeviceMultiSampleType多重采样(序号,设备类型,图面格式,小窗,采样率,@数量)确定此设备上是否提供多重采样技术。小窗为假=全屏采样;采样率:(0-16)
CheckDepthStencilMatch模具匹配(序号,设备类型,显示模式,呈现格式,模具格式)确定深度模具格式是否与特定显示模式下的呈现目标格式兼容。
CheckDeviceFormatConversion可转格式(序号,设备类型,源格式,目标格式)测试设备是否支持从一种显示格式转换为另一种显示格式。
GetDeviceCaps设备功能(序号,设备类型,功能)检索有关设备的特定于设备的信息。功能:三维功能类
GetAdapterMonitor监视器(序号)返回对象关联的监视器的句柄。
CreateDevice创建设备(序号,设备类型,焦点窗口,选项,参数,@接口)创建表示显示适配器的设备接口 IDirect3DDevice9。参数:显示参数类

英文名称常量作用解释
D3DFORMAT数值定义各种类型的图面格式。
D3DFMT_UNKNOWN0未知格式
无符号格式——使用红(R)绿(G)蓝(B)透明(A)亮度(L)和调色板(P)数据的组合。
D3DFMT_R8G8B82024 位 RGB 像素格式,每个通道 8 位。
D3DFMT_A8R8G8B821具有 alpha 的 32 位 ARGB 像素格式,每个通道使用 8 位。
D3DFMT_X8R8G8B82232 位 RGB 像素格式,其中为每个颜色保留 8 位。
D3DFMT_R5G6B52316 位 RGB 像素格式,红色为 5 位,绿色为 6 位,蓝色为 5 位。
D3DFMT_X1R5G5B52416 位像素格式,其中为每个颜色保留 5 位。
D3DFMT_A1R5G5B52516 位像素格式,其中为每个颜色保留 5 位,为 alpha 保留 1 位。
D3DFMT_A4R4G4B42616 位 ARGB 像素格式,每个通道 4 位。
D3DFMT_R3G3B2278位 RGB 纹理格式,红色为 3 位,绿色为 3 位,蓝色为 2 位。
D3DFMT_A828仅限 8 位 alpha。
D3DFMT_A8R3G3B22916 位ARGB 纹理格式,alpha 使用 8 位,红色和绿色各 3 位,蓝色各 2 位。
D3DFMT_X4R4G4B43016 位 RGB 像素格式,每种颜色使用 4 位。
D3DFMT_A2B10G10R103132 位像素格式,每种颜色使用 10 位,alpha 使用 2 位。
D3DFMT_A8B8G8R832具有 alpha 的 32 位 ARGB 像素格式,每个通道使用 8 位。
D3DFMT_X8B8G8R83332 位 RGB 像素格式,其中为每个颜色保留 8 位。
D3DFMT_G16R163432 位像素格式,绿色和红色各使用 16 位。
D3DFMT_A2R10G10B103532 位像素格式,红色、绿色和蓝色各使用 10 位,alpha 为 2 位。
D3DFMT_A16B16G16R1636每个组件使用 16 位的 64 位像素格式。
D3DFMT_A8P840使用 8 位 alpha 索引的 8 位颜色。
D3DFMT_P841已编制索引的 8 位颜色。
D3DFMT_L850仅 8 位亮度。
D3DFMT_L1681仅 16 位亮度。
D3DFMT_A8L85116 位,分别使用 8 位的 alpha 和亮度。
D3DFMT_A4L4528 位,使用 4 位分别用于 alpha 和亮度。
D3DFMT_A11181 位单色。仅在 Direct3D9Ex 中可用。
D3DFMT_A2B10G10R10_XR_BIAS1192.8 偏置定点。仅在 Direct3D9Ex 中可用。
D3DFMT_BINARYBUFFER199指示数据没有固有类型的二进制格式。仅在 Direct3D 9Ex 中可用。
缓冲区格式——深度、模具、顶点和索引缓冲区都有唯一的格式。
D3DFMT_D16_LOCKABLE7016 位 z 缓冲区位深度。
D3DFMT_D327132 位 z 缓冲区位深度。
D3DFMT_D15S17316 位 z 缓冲区位深度,其中为深度通道保留 15 位,为模具通道保留 1 位。
D3DFMT_D24S87532 位 z 缓冲区位深度,深度通道使用 24 位,模具通道使用 8 位。
D3DFMT_D24X877使用 24 位作为深度通道的 32 位 z 缓冲区位深度。
D3DFMT_D24X4S47932 位 z 缓冲区位深度,深度通道使用 24 位,模具通道使用 4 位。
D3DFMT_D32F_LOCKABLE82一种可锁定的格式,其中深度值表示为标准 IEEE 浮点数。
D3DFMT_D24FS883一种不可锁定的格式,包含24位浮点格式深度(-20e4)和8模具。
D3DFMT_D32_LOCKABLE84可锁定的 32 位深度缓冲区。仅在 Direct3D 9Ex 中可用。
D3DFMT_S8_LOCKABLE85可锁定的 8 位模具缓冲区。仅在 Direct3D 9Ex 中可用。
D3DFMT_D168016 位 z 缓冲区位深度。
D3DFMT_VERTEXDATA100描述顶点缓冲区图面。
D3DFMT_INDEX1610116 位索引缓冲区位深度。
D3DFMT_INDEX3210232 位索引缓冲区位深度。
DXTn压缩纹理格式——图面尺寸必须4的倍数,适用于屏幕外普通表面、呈现目标、2D 纹理、立方体纹理和体积纹理。
D3DFMT_DXT10$DXT1DXT1 压缩纹理格式
D3DFMT_DXT20$DXT2DXT2 压缩纹理格式
D3DFMT_DXT30$DXT3DXT3 压缩纹理格式
D3DFMT_DXT40$DXT4DXT4 压缩纹理格式
D3DFMT_DXT50$DXT5DXT5 压缩纹理格式
浮点格式——用于浮点图面格式。这些16位每通道格式也称为s10e5格式。
D3DFMT_R16F111对红色通道使用 16 位的 16 位浮点格式。
D3DFMT_G16R16F11232 位浮点格式,红色通道使用 16 位,绿色通道使用 16 位。
D3DFMT_A16B16G16R16F113对于每个通道使用 16 位的 64 位浮点格式, (alpha、蓝色、绿色、红色) 。
四字符格式——FOURCC格式的数据是压缩数据。极语言里使用0$开头,后面加4个字符。
D3DFMT_MULTI2_ARGB80$MET1多元素纹理 (未压缩)
D3DFMT_G8R8_G8B80$GRGB16位打包RGB格式。绿红和绿蓝两个像素对来表示颜色值。共享红蓝分量
D3DFMT_R8G8_B8G80$RGBG16位打包RGB格式。红绿和蓝绿两个像素对来表示颜色值。共享红蓝分量
D3DFMT_UYVY0$UYVYUYVY 格式(PC98 合规性)
D3DFMT_YUY20$YUY2YUY2 格式(PC98 合规性)
IEEE格式——用于浮点图面格式。 这些 32 位每通道格式也称为 s23e8 格式。
D3DFMT_R32F114对红色通道使用32位浮点格式。
D3DFMT_G32R32F11564位浮点格式,红色和绿色通道使用 32 位。
D3DFMT_A32B32G32R32F116每个通道使用32位的128位浮点格式, (alpha、蓝色、绿色、红色) 。
混合格式——数据可以包含无符号数据和有符号数据的组合。
D3DFMT_L6V5U561亮度为6位的16位凹凸图格式,v和u各使用5位。
D3DFMT_X8L8V8U862具有亮度的 32 位凹凸映射格式,每个通道使用 8 位。
D3DFMT_A2W10V10U106732位凹凸映射格式,其中alpha使用2位,w、v和u各使用10位。
签名格式——带符号格式的数据可以是正数和负数。使用(U)、(V)、(W)和(Q)数据的组合。
D3DFMT_V8U86016位凹凸映射格式,其中u和v数据各使用8位。
D3DFMT_Q8W8V8U86332位凹凸贴图格式,每个通道使用8位。
D3DFMT_V16U166432位凹凸映射格式,每个通道使用16位。
D3DFMT_Q16W16V16U1611064位凹凸映射格式,每个通道使用16位。
D3DFMT_CxV8U811716位标准压缩格式。纹理采样器根据C=平方根(1-U2-V2)计算C通道。
————————————
D3DFMT_FORCE_DWORD0x7fffffff此数值强制常数为32位,表示四字符要小于这个值。

英文名称常量作用解释
D3DRESOURCETYPE——定义资源类型常数。
D3DRTYPE_SURFACE1图面资源
D3DRTYPE_VOLUME2卷资源。
D3DRTYPE_TEXTURE3纹理资源。
D3DRTYPE_VOLUMETEXTURE4卷纹理资源。
D3DRTYPE_CUBETEXTURE5立方体纹理资源。
D3DRTYPE_VERTEXBUFFER6顶点缓冲区资源。
D3DRTYPE_INDEXBUFFER7索引缓冲区资源。

英文名称常量作用解释
D3DMULTISAMPLE_TYPE——定义设备可以应用的全场景多重采样级别。
D3DMULTISAMPLE_NONE0没有可用的全场景多重采样级别。
D3DMULTISAMPLE_NONMASKABLE1启用多重采样质量值。
D3DMULTISAMPLE_2_SAMPLES2可用的全场景多采样级别。
D3DMULTISAMPLE_3_SAMPLES3可用的全场景多采样级别。
D3DMULTISAMPLE_4_SAMPLES4可用的全场景多采样级别。
D3DMULTISAMPLE_5_SAMPLES5可用的全场景多采样级别。
D3DMULTISAMPLE_6_SAMPLES6可用的全场景多采样级别。
D3DMULTISAMPLE_7_SAMPLES7可用的全场景多采样级别。
D3DMULTISAMPLE_8_SAMPLES8可用的全场景多采样级别。
D3DMULTISAMPLE_9_SAMPLES9可用的全场景多采样级别。
D3DMULTISAMPLE_10_SAMPLES10可用的全场景多采样级别。
D3DMULTISAMPLE_11_SAMPLES11可用的全场景多采样级别。
D3DMULTISAMPLE_12_SAMPLES12可用的全场景多采样级别。
D3DMULTISAMPLE_13_SAMPLES13可用的全场景多采样级别。
D3DMULTISAMPLE_14_SAMPLES14可用的全场景多采样级别。
D3DMULTISAMPLE_15_SAMPLES15可用的全场景多采样级别。
D3DMULTISAMPLE_16_SAMPLES16可用的全场景多采样级别。

中文名字英文名称常量作用解释
显示类型D3DDEVTYPE数值定义设备类型。多用于三维图形类方法的第二参数
显示模式类——常量表
硬件光栅D3DDEVTYPE_HAL1硬件光栅化。着色是通过软件、硬件或混合转换和照明完成的。
软件光栅D3DDEVTYPE_REF2Direct3D功能在软件中实现;但是参考光栅器会随时使用特殊的 CPU 指令。
注册光栅D3DDEVTYPE_SW3已注册到 三维图形类.软件光栅 的可插入软件设备。
无软硬件D3DDEVTYPE_NULLREF4在硬件和引用光栅化均不可用的计算机上初始化Direct3D,并启用3D内容创建的资源。

英文名称常量作用解释
D3DCREATE——控制设备创建行为的一个或多个标志的组合。
D3DCREATE_FPU_PRESERVE2将3D浮点计算的精度设置为调用线程使用的精度。默认为单精度舍入到最近模式
D3DCREATE_MULTITHREADED4使用安全多线程的。频繁获取全局关键部分的所有权,可能会降低性能。在卸载d3d9.dll之前销毁此窗口。
D3DCREATE_PUREDEVICE$10不支持对可存储状态块内容进行获取调用。不提供任何仿真服务。如果设备不支持顶点处理,则只能使用转换后的顶点。
D3DCREATE_SOFTWARE_VERTEXPROCESSING$20指定软件顶点处理。Win10(1607)及以上版本不建议使用
D3DCREATE_HARDWARE_VERTEXPROCESSING$40指定硬件顶点处理。
D3DCREATE_MIXED_VERTEXPROCESSING$80指定软件和硬件顶点混合处理。Win10(1607)及以上版本不建议使用
D3DCREATE_DISABLE_DRIVER_MANAGEMENT$100Direct3D将使用资源而不是驱动程序。不会因资源错误(如视频内存不足)而失败。
D3DCREATE_ADAPTERGROUP_DEVICE$200要求设备驱动此主适配器拥有的所有分配头。在非主机适配器上是非法的。
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX$400Direct3D将管理资源而不是驱动程序。对于视频内存不足等情况将返回错误。
D3DCREATE_NOWINDOWCHANGES$800指示 Direct3D 不得以任何方式更改焦点窗口。
D3DCREATE_DISABLE_PSGP_THREADING$2000将计算限制为应用程序主线程。 否则会在工作线程中执行进行计算(XP及下不可用)
D3DCREATE_ENABLE_PRESENTSTATS$4000启用在设备上收集现有统计信息。 仅在 Direct3D 9Ex 中可用。
D3DCREATE_DISABLE_PRINTSCREEN$800导致运行时不为"Printscreen"注册热键,不能截屏。仅在 Direct3D 9Ex 中可用
D3DCREATE_SCREENSAVER$10000000在全屏应用程序期间允许屏幕保护。仅在 Direct3D 9Ex 中可用

英文名称常量作用解释
D3DSWAPEFFECT——定义交换效果。
D3DSWAPEFFECT_DISCARD1丢弃缓存从而减少大量视频内存或处理开销,可能包含多个后台缓冲区
D3DSWAPEFFECT_FLIP2(n-1)翻转缓冲,交换链可能包含多个后台缓冲区,最好设想为包含前缓冲区的循环队列
D3DSWAPEFFECT_COPY3后台缓冲区直接复制到前缓冲区,只能为包含单个后台缓冲区的交换链指定此交换效果。将后台缓冲区数设置为1。
D3DSWAPEFFECT_OVERLAY4使用可在主图面上覆盖的专用视频内存区域。硬件执行无需复制,仅支持Win7及以上的Direct3D9Ex
D3DSWAPEFFECT_FLIPEX$20指定应用程序何时采用翻转模式,不影响窗口模式显示进行合成和全屏显示统计信息。仅支持Win7及以上的Direct3D9Ex

英文名称常量作用解释
D3DPRESENTFLAG——显示模式类.演播间隔 使用的常量。
D3DPRESENTFLAG_LOCKABLE_BACKBUFFER1应用程序需要直接锁定后台缓冲区时设置,在某些图形硬件配置上会降低性能。
D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL2创建设备或交换链启用丢弃z缓冲区数据,可以提高性能,深度模具缓冲区的内容将无效。
D3DPRESENTFLAG_DEVICECLIP4在显视器屏幕区域中,将窗口化 Present 位块传送剪辑到窗口工作区。
D3DPRESENTFLAG_VIDEO$10这是驱动程序的提示,即后台缓冲区将包含视频数据。
D3DPRESENTFLAG_NOAUTOROTATE$20监视器显示画面自动使用旋转副本进行处理,即程序自行显示旋转。仅在 Direct3D 9Ex 中可用
D3DPRESENTFLAG_UNPRUNEDMODE$40指定显示适配器的所有可显示模式,仅在 Direct3D 9Ex 中可用
D3DPRESENTFLAG_OVERLAY_LIMITEDRGB$80指定覆盖是有限范围压缩的RGB。16:16:16 为黑色,235:235:235 为白色。
D3DPRESENTFLAG_OVERLAY_YCbCr_BT709$100对于高清电视 (HDTV),设置此标志表示 BT.709。不设置是BT.601;仅在 Direct3D 9Ex 中可用
D3DPRESENTFLAG_OVERLAY_YCbCr_xvYCC$200指定覆盖是是扩展的YCbCr(xvYCC)。仅在 Direct3D 9Ex 中可用
D3DPRESENTFLAG_RESTRICTED_CONTENT$400表示交换链包含受保护的内容,只有桌面窗口管理器(DWM)可以使用交换链。仅在 Direct3D 9Ex 中可用
D3DPRESENTFLAG_RESTRICT_SHARED_RESOURCE_DRIVER$800表示驱动程序应限制对为 DWM 交互创建的任何共享资源的访问。仅在 Direct3D 9Ex 中可用

英文名称常量作用解释
D3DCAPS2——驱动程序功能标志。
D3DCAPS2_FULLSCREENGAMMA0x00020000驱动程序支持全屏模式下的动态伽玛渐变调整。
D3DCAPS2_CANCALIBRATEGAMMA0x00100000系统安装了一个校准器,该校准器可以自动调整伽玛斜率
D3DCAPS2_CANMANAGERESOURCE0x10000000驱动程序能够管理资源。
D3DCAPS2_DYNAMICTEXTURES0x20000000驱动程序支持动态纹理。
D3DCAPS2_CANAUTOGENMIPMAP0x40000000驱动程序能够自动生成 mipmap。纹理映射表
D3DCAPS2_CANSHARERESOURCE0x80000000设备可以创建可共享的资源。仅在 Direct3D 9Ex 中可用

英文名称常量作用解释
D3DCAPS3——驱动程序功能标志。
D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD0x20指示设备在使用 丢弃缓存 或 翻转缓冲 交换效果时,可以在全屏模式下遵循混合透明度呈现状态。
D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION0x80指示设备可以从窗口式后台缓冲区执行伽玛校正, (包含) 到 sRGB 桌面的线性内容。
D3DCAPS3_COPY_TO_VIDMEM0x100设备可以加速从系统内存到本地视频内存的内存复制。本地硬件加速
D3DCAPS3_COPY_TO_SYSTEMMEM0x200设备可以加速从本地视频内存到系统内存的内存复制。系统硬件加速
D3DCAPS3_DXVAHD0x400显示驱动程序支持 DXVA-HD DDI。
D3DCAPS3_DXVAHD_LIMITED0x800显示驱动程序支持限制的 DXVA-HD DDI。

英文名称常量作用解释
D3DPRESENT——描述适配器刷新率与完成 “当前” 或“ 演示 ”操作的速率之间的关系。
D3DPRESENT_DONOTWAIT1不能由 hal 设备安排演示文稿。
D3DPRESENT_LINEAR_CONTENT2要显示的后台缓冲区的内容位于线性颜色空间中。
D3DPRESENT_DONOTFLIP4显示期间使用前缓冲区作为源图面和目标图面。已计划帧同步但显示的图面不会更改。仅在 Direct3D 9Ex 中可用
D3DPRESENT_FLIPRESTART8保留。仅在 Direct3D 9Ex 中可用
D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR0x10将呈现的内容显示缩略图,并在其他监视器上显示任务栏缩略图。仅在 Direct3D 9Ex 中可用。
D3DPRESENT_UPDATEOVERLAYONLY0x20汇报覆盖位置或色键数据而不翻转,也不更改图像的显示持续时间。仅在 Direct3D 9Ex 中可用。
D3DPRESENT_HIDEOVERLAY0x40关闭覆盖硬件。仅在 Direct3D 9Ex 中可用。
D3DPRESENT_UPDATECOLORKEY0x20重绘色键数据。仅在 Direct3D 9Ex 中可用。
D3DPRESENT_FORCEIMMEDIATE0x80 窗口和全屏演示行为是相同的。仅在 Direct3D 9Ex 中可用。

英文名称常量作用解释
D3DDEVCAPS——三维功能类.设备功能的标志。
D3DDEVCAPS_EXECUTESYSTEMMEMORY0x000010设备可以使用系统内存中的执行缓冲区
D3DDEVCAPS_EXECUTEVIDEOMEMORY0x000020设备可以使用视频内存中的执行缓冲区。
D3DDEVCAPS_TLVERTEXSYSTEMMEMORY0x000040设备可以将系统内存中的缓冲区用于转换的顶点和点亮顶点。
D3DDEVCAPS_TLVERTEXVIDEOMEMORY0x000080设备可以将视频内存中的缓冲区用于转换和点亮顶点。
D3DDEVCAPS_TEXTURESYSTEMMEMORY0x000100设备可以从系统内存中检索纹理。
D3DDEVCAPS_TEXTUREVIDEOMEMORY0x000200设备可以从设备内存中检索纹理。
D3DDEVCAPS_DRAWPRIMTLVERTEX0x000400设备可以绘制几何基元的顶点数组
D3DDEVCAPS_CANRENDERAFTERFLIP0x000800设备可以在翻页后将呈现命令排队。此功能意味着设备速度相对较快
D3DDEVCAPS_TEXTURENONLOCALVIDMEM0x001000设备可以从非本地视频内存中检索纹理。
D3DDEVCAPS_DRAWPRIMITIVES20x002000设备至少可以支持符合 DirectX 5 的驱动程序。
D3DDEVCAPS_SEPARATETEXTUREMEMORIES0x004000设备正在从单独的内存池进行纹理处理。
D3DDEVCAPS_DRAWPRIMITIVES2EX0x008000设备至少可以支持符合 DirectX 7 的驱动程序。
D3DDEVCAPS_HWTRANSFORMANDLIGHT0x010000设备可以支持硬件中的转换和照明。
D3DDEVCAPS_CANBLTSYSTONONLOCAL0x020000设备支持从系统内存纹理到非局部视频内存纹理的 blit。
D3DDEVCAPS_HWRASTERIZATION0x080000设备具有用于场景光栅化的硬件加速。
D3DDEVCAPS_PUREDEVICE0x100000设备可以在硬件中支持光栅化、转换、照明和着色。
D3DDEVCAPS_QUINTICRTPATCHES0x200000设备支持五次贝塞尔曲线和B样条曲线。
D3DDEVCAPS_RTPATCHES0x400000设备支持矩形和三角补丁。
D3DDEVCAPS_RTPATCHHANDLEZERO0x800000指示硬件不需要缓存也能将像绘制缓存的修补程序一样高效。
D3DDEVCAPS_NPATCHES0x01000000设备支持N个修补程序。

英文名称常量作用解释
D3DPMISCCAPS——其他驱动程序基元功能标志。
D3DPMISCCAPS_MASKZ0x00000002L设备可以启用和禁用对像素操作的深度缓冲区的修改。
D3DPMISCCAPS_CULLNONE0x00000010L驱动程序不执行三角形剔除。 这对应于 D3DCULL 枚举类型的 D3DCULL_NONE 成员。
D3DPMISCCAPS_CULLCW0x00000020L驱动程序支持顺时针三角形剔除D3DRS_CULLMODE状态。 (这仅适用于三角形基元。) 此标志对应于 D3DCULL 枚举类型的D3DCULL_CW成员。
D3DPMISCCAPS_CULLCCW0x00000040L驱动程序支持通过D3DRS_CULLMODE状态逆时针剔除。 (这仅适用于三角形基元。) 此标志对应于 D3DCULL 枚举类型的 D3DCULL_CCW 成员。
D3DPMISCCAPS_COLORWRITEENABLE0x00000100L设备支持通过D3DRS_COLORWRITEENABLE状态对呈现目标颜色缓冲区进行每通道写入。
D3DPMISCCAPS_CLIPPLANESCALEDPOINTS0x00000200L设备将大于 1.0 的缩放点正确剪辑到用户定义的剪裁平面。
D3DPMISCCAPS_CLIPTLVERTS0x00000200L设备剪辑转换后的顶点基元。要求顶点缓冲区位于系统内存中。
D3DPMISCCAPS_TSSARGTEMP0x00000400L设备支持用于临时寄存器 的 D3DTA 。
D3DPMISCCAPS_BLENDOP0x00000800L设备支持除D3DBLENDOP_ADD以外的 alpha 混合操作。
D3DPMISCCAPS_NULLREFERENCE0x00000100L不呈现的引用设备。
D3DPMISCCAPS_INDEPENDENTWRITEMASKS0x00004000L设备支持多个元素纹理或多个呈现目标的独立写入掩码。
D3DPMISCCAPS_PERSTAGECONSTANT0x00008000L设备支持每个阶段的常量。 请参阅 D3DTEXTURESTAGESTATETYPE 中的D3DTSS_CONSTANT。
D3DPMISCCAPS_POSTBLENDSRGBCONVERT0x00200000L设备支持在混合后转换为 sRGB。仅在 Direct3D 9Ex 中可用。
D3DPMISCCAPS_FOGANDSPECULARALPHA0x00010000L设备支持单独的雾和反射 alpha。 许多设备使用反射 alpha 通道来存储雾因子。
D3DPMISCCAPS_SEPARATEALPHABLEND0x00020000L设备支持 alpha 通道的单独混合设置。
D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS0x00040000L设备支持多个呈现目标的不同位深度。
D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING0x00080000L设备支持多个呈现目标的后像素着色器操作。
D3DPMISCCAPS_FOGVERTEXCLAMPED0x00100000L设备固定每个顶点的雾混合因子。
英文名称常量作用解释
D3DPMISCCAPS——三维功能类.光栅:有关光栅绘制功能的信息。
D3DPRASTERCAPS_DITHER0x0000001设备可以抖改以提高颜色分辨率。
D3DPRASTERCAPS_ZTEST0x0000010设备可以执行 z 测试操作。这会有效地呈现基元和z像素。
D3DPRASTERCAPS_FOGVERTEX0x0000080设备在照明操作期间计算雾值,并在光栅化期间内插雾值。
D3DPRASTERCAPS_FOGTABLE0x0000100设备通过引用查找表来计算雾值,该表包含已根据给定像素深度编制索引的迷雾值。
D3DPRASTERCAPS_MIPMAPLODBIAS0x0002000设备支持详细程度偏差调整。能够使 mipmap 看起来比平常更清晰。
D3DPRASTERCAPS_ZBUFFERLESSHSR0x0008000设备可以执行Z无缓冲区(HSR) 隐藏表面,依赖于硬件无需程序对多边形进行排序和分配深度缓冲区。会为纹理留下更多的视频内存,并且程序是透明的。
D3DPRASTERCAPS_FOGRANGE0x0010000设备支持基于范围的雾。对象与查看器的距离计算雾效果,而不是对象的深度(场景z坐标)。
D3DPRASTERCAPS_ANISOTROPY0x0020000设备支持各向异性筛选。
D3DPRASTERCAPS_WBUFFER0x0040000设备支持使用 w 进行深度缓冲。
D3DPRASTERCAPS_WFOG0x0100000指定透视投影矩阵时,使用基于 W 的雾,但仿射投影仍使用基于 z 的雾。将[3][4]元素中包含非零值的投影矩阵视为透视投影矩阵。
D3DPRASTERCAPS_ZFOG0x0200000设备支持基于 z 的雾。
D3DPRASTERCAPS_COLORPERSPECTIVE0x0400000设备正确迭代颜色透视。
D3DPRASTERCAPS_SCISSORTEST0x1000000设备支持剪辑测试。
D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS0x2000000说明。
D3DPRASTERCAPS_DEPTHBIAS0x4000000设备支持旧式深度偏差。
D3DPRASTERCAPS_MULTISAMPLE_TOGGLE0x8000000设备支持使用切换打开和关闭多重采样。

英文名称常量作用解释
D3DPCMPCAPS——三维功能类.Z 缓冲区比较功能。
D3DPCMPCAPS_NEVER0x0000001始终未通过 z 测试。
D3DPCMPCAPS_LESS0x0000002如果新的 z 小于当前 z,则通过 z-test。
D3DPCMPCAPS_EQUAL0x0000004如果新 z 等于当前 z,则通过 z-test。
D3DPCMPCAPS_LESSEQUAL0x0000008如果新的 z 小于或等于当前 z,则通过 z-test。
D3DPCMPCAPS_GREATER0x0000010如果新的 z 大于当前 z,则通过 z-test。
D3DPCMPCAPS_NOTEQUAL0x0000020如果新的 z 不等于当前 z,则通过 z-test。
D3DPCMPCAPS_GREATEREQUAL0x0000040如果新的 z 大于或等于当前 z,则通过 z-test。
D3DPCMPCAPS_ALWAYS0x0000080始终通过 z 测试。

英文名称常量作用解释
D3DPBLENDCAPS——三维功能类.混合功能。
D3DPBLENDCAPS_ZERO0x0000001混合因子 (0、0、0、0) 。
D3DPBLENDCAPS_ONE0x0000002混合因子 (为 1、1、1、1) 。
D3DPBLENDCAPS_SRCCOLOR0x0000004混合因子为 (Rs、Gs、Bs、As) 。
D3DPBLENDCAPS_INVSRCCOLOR0x0000008混合因子 (为 1 - Rs、1 - Gs、1 - Bs、1 - as) 。
D3DPBLENDCAPS_SRCALPHA0x0000010混合因子 (As、As、As、As) 。
D3DPBLENDCAPS_INVSRCALPHA0x0000020混合因子 (1 - As、1 - As、1 - As、1 - As、1 - As) 。
D3DPBLENDCAPS_DESTALPHA0x0000040混合因子为 (Ad、Ad、Ad、Ad) 。
D3DPBLENDCAPS_INVDESTALPHA0x0000080混合因子为 (1 - Ad、1 - Ad、1 - Ad、1 - Ad) 。
D3DPBLENDCAPS_DESTCOLOR0x0000100混合因子 (Rd、Gd、Bd、Ad) 。
D3DPBLENDCAPS_INVDESTCOLOR0x0000200混合因子 (为 1 - Rs、1 - Gs、1 - Bs、1 - as) 。
D3DPBLENDCAPS_SRCALPHASAT0x0000400混合因子为 (f、f、f、1) ;f = min (As,1 - Ad) 。
D3DPBLENDCAPS_BOTHSRCALPHA0x0000800驱动程序支持源混合模式。已过时。
D3DPBLENDCAPS_BOTHINVSRCALPHA0x0001000源混合因子为 (1 - As、1 - As、1 - As、1 - As) 和目标混合因子 (As、As、As) ;将重写目标混合选择。
D3DPBLENDCAPS_BLENDFACTOR0x0002000驱动程序同时支持常量颜色混合因子和反常量颜色混合因子。
D3DPBLENDCAPS_SRCCOLOR20x0004000混合因子 (PSOutColor[1]r、PSOutColor[1]g、PSOutColor[1]b) ,未使用。
D3DPBLENDCAPS_INVSRCCOLOR20x0008000混合因子 (1 - PSOutColor[1]r,1 - PSOutColor[1]g,1 - PSOutColor[1]b,not used) ) 。仅在 Direct3D 9Ex 中可用。

英文名称常量作用解释
D3DPSHADECAPS——三维功能类.着色操作功能标志。
D3DPSHADECAPS_COLORGOURAUDRGB0x0000008设备可以支持彩色 Gouraud 着色,每个顶点的颜色分量 (红色、绿色和蓝色) 内插在三角形面
D3DPSHADECAPS_SPECULARGOURAUDRGB0x0000200设备支持高光点的 Gouraud 着色。
D3DPSHADECAPS_ALPHAGOURAUDBLEND0x0004000设备可以支持 Gouraud 混合透明度的 alpha 分量。内插到人脸
D3DPSHADECAPS_FOGGOURAUD0x0080000设备可以在 Gouraud 着色模式下支持雾。

英文名称常量作用解释
D3DPTEXTURECAPS——三维功能类.其他纹理映射功能。
D3DPTEXTURECAPS_PERSPECTIVE0x0000001支持透视更正纹理。
D3DPTEXTURECAPS_POW20x0000002所有纹理的宽度和高度都必须指定为 2 的幂。不适用于立方体纹理或体积纹理。
D3DPTEXTURECAPS_ALPHA0x0000004支持以纹理像素表示的 Alpha。
D3DPTEXTURECAPS_SQUAREONLY0x0000020所有纹理都必须是正方形的。
D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE0x0000040纹理索引在内插之前不会按纹理大小进行缩放。
D3DPTEXTURECAPS_ALPHAPALETTE0x0000080设备可以从纹理调色板绘制 alpha。
D3DPTEXTURECAPS_NONPOW2CONDITIONAL0x0000100有条件地支持使用维度不是2的2D纹理。和POW2都未设置则无条件支持不是2的2D纹理。
D3DPTEXTURECAPS_PROJECTED0x0000400纹理转换标志。应用后设备会将转换后的纹理坐标除以最后一个纹理坐标,按像素进行投影除法。
D3DPTEXTURECAPS_CUBEMAP0x0000800支持立方体纹理。
D3DPTEXTURECAPS_VOLUMEMAP0x0002000设备支持卷纹理。
D3DPTEXTURECAPS_MIPMAP0x0004000设备支持错误覆盖的纹理。
D3DPTEXTURECAPS_MIPVOLUMEMAP0x0008000设备支持未覆盖的卷纹理。
D3DPTEXTURECAPS_MIPCUBEMAP0x0010000设备支持多维数据集立方体纹理。
D3DPTEXTURECAPS_CUBEMAP_POW20x0020000设备要求多维数据集纹理贴图的维度指定为 2 的幂。
D3DPTEXTURECAPS_VOLUMEMAP_POW20x0040000设备要求体积纹理贴图的维度指定为 2 的幂。
D3DPTEXTURECAPS_NOPROJECTEDBUMPENV0x0200000设备不支持可编程和固定函数着色器中的投影凹凸环境查找操作。

英文名称常量作用解释
D3DPTFILTERCAPS——三维功能类.纹理筛选常量。按阶段筛选功能反映了执行多纹理混合时纹理阶段支持的筛选模式。
D3DPTFILTERCAPS_MINFPOINT0x0000100设备支持按阶段点样本筛选,以缩小纹理。
D3DPTFILTERCAPS_MINFLINEAR0x0000200设备支持用于缩小纹理的每阶段线性筛选。
D3DPTFILTERCAPS_MINFANISOTROPIC0x0000400设备支持用于缩小纹理的每阶段各向异性筛选。
D3DPTFILTERCAPS_MINFPYRAMIDALQUAD0x0000800设备支持按阶段的棱锥样本筛选,以缩小纹理。
D3DPTFILTERCAPS_MINFGAUSSIANQUAD0x0001000设备支持用于缩小纹理的每阶段高斯四边形筛选。
D3DPTFILTERCAPS_MIPFPOINT0x0010000设备支持 mipmap 的每阶段点样本筛选。
D3DPTFILTERCAPS_MIPFLINEAR0x0020000设备支持 mipmap 的每阶段双线性内插筛选。
D3DPTFILTERCAPS_CONVOLUTIONMONO0x0040000设备支持单色卷积筛选。仅在 Direct3D 9Ex 中可用。
D3DPTFILTERCAPS_MAGFPOINT0x1000000设备支持用于放大纹理的每阶段点样本筛选。
D3DPTFILTERCAPS_MAGFLINEAR0x2000000设备支持用于放大 mipmap 的每阶段双线性内插筛选。
D3DPTFILTERCAPS_MAGFANISOTROPIC0x4000000设备支持用于放大纹理的每阶段各向异性筛选。
D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD0x8000000设备支持用于放大纹理的每阶段棱锥样本筛选。
D3DPTFILTERCAPS_MAGFGAUSSIANQUAD0x10000000设备支持用于放大纹理的每阶段高斯象限筛选。

英文名称常量作用解释
D3DPTADDRESSCAPS——三维功能类.纹理对象的纹理寻址功能。
D3DPTADDRESSCAPS_WRAP0x0000001设备可以将纹理包装到地址。
D3DPTADDRESSCAPS_MIRROR0x0000002设备可以将纹理镜像地址。
D3DPTADDRESSCAPS_CLAMP0x0000004设备可以将纹理固定到地址。
D3DPTADDRESSCAPS_BORDER0x0000008设备支持将[0.0,1.0]范围之外的坐标设置为指定的边框颜色。
D3DPTADDRESSCAPS_INDEPENDENTUV0x0000010设备可以分离纹理的u和 v 坐标的纹理寻址模式。
D3DPTADDRESSCAPS_MIRRORONCE0x0000020设备可以将纹理坐标的绝对值 (镜像约 0) ,然后固定到最大值。

英文名称常量作用解释
D3DLINECAPS——三维功能类.定义线条绘制基元的功能。
D3DLINECAPS_TEXTURE0x0000001支持纹理映射。
D3DLINECAPS_ZTEST0x0000002支持 z 缓冲区比较。
D3DLINECAPS_BLEND0x0000004支持源混合。
D3DLINECAPS_ALPHACMP0x0000008支持 alpha 测试比较。
D3DLINECAPS_FOG0x0000010支持迷雾。
D3DLINECAPS_ANTIALIAS0x0000020支持抗锯齿线。

英文名称常量作用解释
D3DSTENCILCAPS——三维功能类.驱动程序模具功能标志。模具缓冲区条目是介于 0 到 2的n次方 - 1 的整数值,n 是模具缓冲区的位深度。
D3DSTENCILCAPS_KEEP0x0000001不要更新模具缓冲区中的条目。这是默认值。
D3DSTENCILCAPS_ZERO0x0000002将模具缓冲区条目设置为 0。
D3DSTENCILCAPS_REPLACE0x0000004将模具缓冲区条目替换为引用值。
D3DSTENCILCAPS_INCRSAT0x0000008递增模具缓冲区条目,固定到最大值。
D3DSTENCILCAPS_DECRSAT0x0000010递减模具缓冲区条目,固定为零。
D3DSTENCILCAPS_INVERT0x0000020反转模具缓冲区条目中的位。
D3DSTENCILCAPS_INCR0x0000040递增模具缓冲区条目,如果新值超过最大值,则换行为零。
D3DSTENCILCAPS_DECR0x0000080递减模具缓冲区条目,如果新值小于零,则包装到最大值。
D3DSTENCILCAPS_TWOSIDED0x0000100设备支持双面模具。

英文名称常量作用解释
D3DTEXOPCAPS——三维功能类.描述此设备支持的纹理操作的标志的组合。
D3DTEXOPCAPS_DISABLE0x0000001禁用纹理混合操作。
D3DTEXOPCAPS_SELECTARG10x0000002支持 选择参数1 纹理混合操作。
D3DTEXOPCAPS_SELECTARG20x0000004支持 选择参数2 纹理混合操作。
D3DTEXOPCAPS_MODULATE0x0000008支持 控制 纹理混合操作。
D3DTEXOPCAPS_MODULATE2X0x0000010支持 控制2X 纹理混合操作。
D3DTEXOPCAPS_MODULATE4X0x0000020支持 控制4X 纹理混合操作。
D3DTEXOPCAPS_ADD0x0000040支持 增加 纹理混合操作。
D3DTEXOPCAPS_ADDSIGNED0x0000080支持添加符号 纹理混合操作。
D3DTEXOPCAPS_ADDSIGNED2X0x0000100支持添加符号2 纹理混合操作。
D3DTEXOPCAPS_SUBTRACT0x0000200支持减法 纹理混合操作。
D3DTEXOPCAPS_ADDSMOOTH0x0000400支持添加平滑 纹理混合操作。
D3DTEXOPCAPS_BLENDDIFFUSEALPHA0x0000800支持混合扩散相位 纹理混合操作。
D3DTEXOPCAPS_BLENDTEXTUREALPHA0x0001000支持混合纹理相位 纹理混合操作。
D3DTEXOPCAPS_BLENDFACTORALPHA0x0002000支持混合因子相位 纹理混合操作。
D3DTEXOPCAPS_BLENDTEXTUREALPHAPM0x0004000支持混合纹理相位 纹理混合操作。
D3DTEXOPCAPS_BLENDCURRENTALPHA0x0008000支持混合当前相位 纹理混合操作。
D3DTEXOPCAPS_PREMODULATE0x0010000支持细节 纹理混合操作。
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR0x0020000支持调制相位颜色 纹理混合操作。
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA0x0040000支持调制色度
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR0x0080000支持调制反相颜色
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA0x0100000支持调制反相色度
D3DTEXOPCAPS_BUMPENVMAP0x0200000支持凹凸环境贴图
D3DTEXOPCAPS_BUMPENVMAPLUMINANCE0x0400000支持凹凸贴图亮度
D3DTEXOPCAPS_DOTPRODUCT30x0800000支持网络产品
D3DTEXOPCAPS_MULTIPLYADD0x1000000支持多维数据集纹理
D3DTEXOPCAPS_LERP0x2000000说明。

英文名称常量作用解释
D3DFVFCAPS——三维功能类.灵活的顶点格式功能。
D3DFVFCAPS_TEXCOORDCOUNTMASK0x000ffff屏蔽 FVFCaps 的低字。使设备可以同时用于多个纹理混合的纹理坐标集进行混合。
D3DFVFCAPS_DONOTSTRIPELEMENTS0x0080000不要去除顶点元素。如果不设置则从顶点格式中去除无关元素可提供更好的性能。
D3DFVFCAPS_PSIZE0x0100000点大小由呈现状态或顶点数据决定。如果应用程序提供点大小,则顶点数据将替代呈现状态数据。

英文名称常量作用解释
D3DVTXPCAPS——三维功能类.顶点处理功能标志组合。
D3DVTXPCAPS_TEXGEN0x0000001设备可以执行 texgen。
D3DVTXPCAPS_MATERIALSOURCE70x0000002设置设备支持颜色材料状态的上限
D3DVTXPCAPS_DIRECTIONALLIGHTS0x0000008设备可以执行定向光。
D3DVTXPCAPS_POSITIONALLIGHTS0x0000010设备可以执行位置光 (包括点和顶点) 。
D3DVTXPCAPS_LOCALVIEWER0x0000020设备可以执行本地查看器。
D3DVTXPCAPS_TWEENING0x0000040设备可以执行顶点补间。
D3DVTXPCAPS_TEXGEN_SPHEREMAP0x0000100设备支持TCI球形映射。
D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER0x0000200设备不支持在非本地查看器模式下生成纹理。

英文名称常量作用解释
D3DDEVCAPS2——三维功能类.自适应分割的设备驱动程序功能标志。
D3DDEVCAPS2_STREAMOFFSET0x0000001设备支持流偏移量。
D3DDEVCAPS2_DMAPNPATCH0x0000002设备支持 N 补丁的位移映射。
D3DDEVCAPS2_ADAPTIVETESSRTPATCH0x0000004设备支持 RT 补丁的自适应分割
D3DDEVCAPS2_ADAPTIVETESSNPATCH0x0000008设备支持 N 补丁的自适应分割。
D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES0x0000010设备支持使用纹理作为源的矩形拉伸。
D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH0x0000020设备支持 N 补丁的预采样位移映射。
D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET0x0000040多个顶点元素可以在流中共享相同的偏移量。

英文名称常量作用解释
D3DDTCAPS——三维功能类.描述设备支持的顶点数据类型的常量。
D3DDTCAPS_UBYTE40x00000014D 无符号字节。
D3DDTCAPS_UBYTE4N0x0000002规范化、4D 无符号字节。 四个字节中的每一个都通过除以 255.0 进行规范化。
D3DDTCAPS_SHORT2N0x0000004规范化,2D 签名短,扩展到 (第一个字节/32767.0,第二个字节/32767.0,0,1) 。
D3DDTCAPS_SHORT4N0x0000008规范化,4D 签名短,扩展到 (第一个字节/32767.0,第二个字节/32767.0,第三个字节/32767.0,第四个字节/32767.0) 。
D3DDTCAPS_USHORT2N0x0000010规范化,2D 无符号短,扩展到 (第一个字节/65535.0,第二个字节/65535.0,0,1) 。
D3DDTCAPS_USHORT4N0x0000020规范化的 4D 无符号短,扩展到 (第一个字节/65535.0、第二个字节/65535.0、第三个字节/65535.0、第四个字节/65535.0) 。
D3DDTCAPS_UDEC30x00000403D 无符号 10 10 10 格式扩展为 (值、值、值、1) 。
D3DDTCAPS_DEC3N0x00000803D 签名 10 10 10 格式规范化并扩展为 (v[0]/511.0、v[1]/511.0、v[2]/511.0、1) 。
D3DDTCAPS_FLOAT16_20x00001002D 16 位浮点数。
D3DDTCAPS_FLOAT16_40x00002004D 16 位浮点数。

中文名字英文名称长度作用解释
显卡标识类D3DADAPTER_IDENTIFIER91100包含标识适配器的信息。应用于三维图形类.显卡描述
显卡标识类——成员表
驱动Driver[512]文本驱动程序供应商相关展示内容。
说明Description[512]文本驱动程序相关说明内容。
名称DeviceName[32]文本GDI 的设备名称。
版本DriverVersionLowPart整数标识 Direct3D 驱动程序的版本。
版号DriverVersionHighPart整数标识 Direct3D 驱动程序的版本。
制造商VendorId整数可用于帮助识别特定芯片集。查询此成员以标识制造商。
芯片DeviceId整数可用于帮助识别特定芯片集。查询此成员以标识芯片集的类型。
子集SubSysId整数可用于帮助识别特定芯片集。查询此成员以标识子系统,通常是特定板。
修订Revision整数可用于帮助识别特定芯片集。查询此成员以识别芯片集的修订级别。
标识DeviceIdentifier[16]文本此 GUID 是驱动程序和芯片集对的唯一标识符。
验证WHQLLevel整数此驱动程序和设备对的验证级别。0未认证;1无认证日期;或者是日期类型(日月各8位,年份高16位)

中文名字英文名称长度作用解释
显示模式类D3DDISPLAYMODE16描述显示模式。应用于三维图形类.枚举模式
显示模式类——成员表
宽度Width整数屏幕宽度(以像素为单位)。
高度Height整数屏幕高度(以像素为单位)。
刷新率RefreshRate整数刷新速率。 值 0 表示适配器默认值。
格式Format整数D3D格式枚举类型,描述显示模式的图面格式。

中文名字英文名称长度作用解释
显示参数类D3DPRESENT_PARAMETERS56描述演示文稿参数。应用于三维图形类.创建设备
显示参数类——成员表
宽度BackBufferWidth整数新交换链的后部缓冲区的宽度(像素)。
高度BackBufferHeight整数新交换链的后台缓冲区的高度(像素)。
格式BackBufferFormat整数后台缓冲区格式。详见D3DFORMAT。
数量BackBufferCount整数后台缓冲区数量,若失败可用相同参数调用两次
多重采样MultiSampleType整数未设置D3DSWAPEFFECT_DISCARD请使用0;
采样质量MultiSampleQuality整数质量级别。 有效范围介于 0 到 1 之间
交换效果SwapEffect整数有关缓冲区交换行为详见D3DSWAPEFFECT
设备窗口hDeviceWindow整数设备窗口确定屏幕上后台缓冲区的位置和大小。演播窗口
窗口模式Windowed整数如果应用程序以窗口方式运行,则为真;如果应用程序全屏运行,则为假。
深度模具EnableAutoDepthStencil整数此值为真程序则具备深度缓冲区。需要指定有效的深度模具格式
深度格式AutoDepthStencilFormat整数设备将创建的自动深度模具图面的格式。参见D3DFORMAT
标志Flags整数D3DPRESENTFLAG 常量之一。
刷新率FullScreen_RefreshRateInHz整数显示适配器刷新屏幕的速率。对于窗口模式,刷新率必须为0。
演播间隔PresentationInterval整数交换链的后台缓冲区可以呈现给前缓冲区的最大速率。详见:D3DPRESENT

长度英文名称中文名字作用解释
300D3DCAPS9三维功能类表示通过 Direct3D 对象公开的硬件的功能。应用于三维图形类
三维功能类——成员表
整数DeviceType种类标识用于处理顶点的资源类型。详见:D3DDEVTYPE
整数AdapterOrdinal序号创建此 Direct3D 设备的适配器。 此序号仅对传递给创建此设备的接口的方法有效。
整数Caps功能特定于驱动程序的功能。$20000=返回当前扫描行;$800=支持覆盖 DDI(9Ex)
整数Caps2功能2特定于驱动程序的功能。详见:D3DCAPS2
整数Caps3功能3特定于驱动程序的功能。
整数PresentationIntervals间隔表示可用的演示交换间隔的值的位掩码。1=每秒刷新;2=每秒刷新;4=三次刷新;8=四次刷新;$80000000=即时刷新
整数CursorCaps光标指示可用于游标的硬件支持的位掩码。1=高分辨率模式下支持硬件全色光标;2=高和低分辨率模式下都支持硬件全色光标
整数DevCaps设备标识设备功能的标志。
整数PrimitiveMiscCaps基元其他驱动程序基元功能。请参阅 D3DPMISCCAPS。
整数RasterCaps光栅有关光栅绘制功能的信息。
整数ZCmpCaps纵深比较Z 缓冲区比较功能。详见:D3DPCMPCAPS
整数SrcBlendCaps源混合源混合功能。详见:D3DPBLENDCAPS
整数DestBlendCaps目标混合目标混合功能。详见:D3DPBLENDCAPS
整数AlphaCmpCaps透明比较Alpha 测试比较功能。详见:D3DPCMPCAPS
整数ShadeCaps着色着色操作功能。详见:D3DPSHADECAPS
整数TextureCaps纹理映射其他纹理映射功能。 详见:D3DPTEXTURECAPS
整数TextureFilterCaps纹理筛选纹理的纹理筛选功能标志的任意组合。详见:D3DPTFILTERCAPS
整数CubeTextureFilterCaps多维纹理多维数据集纹理的纹理筛选功能。详见:D3DPTFILTERCAPS
整数VolumeTextureFilterCaps体积纹理体积纹理的纹理筛选功能。详见:D3DPTFILTERCAPS
整数TextureAddressCaps纹理寻址纹理对象的纹理寻址功能。详见:D3DPTADDRESSCAPS
整数VolumeTextureAddressCaps卷纹寻址卷纹理的纹理寻址功能。详见:D3DPTADDRESSCAPS
整数LineCaps线条定义线条绘制基元的功能。详见:D3DLINECAPS
整数MaxTextureWidth最大宽度此设备的最大纹理宽度。
整数MaxTextureHeight最大高度此设备的最大纹理高度。
整数MaxVolumeExtent最大限度三个维度中的任何一个的最大值 (体积纹理的宽度、高度和深度) 。
整数MaxTextureRepeat最大范围此数字表示规范化纹理坐标后整数位的最大范围。
整数MaxTextureAspectRatio最大比例硬件支持的最大纹理纵横比,通常为 2 次幂。
整数MaxAnisotropy最大异向最大各向异性纹理阶段状态的最大有效值。
小数MaxVertexW最大深度设备支持的基于 W 的最大深度值。
小数GuardBandLeft防护带左防护带剪辑区域的屏幕空间坐标。 此矩形内、视区矩形外部的坐标会自动剪切。
小数GuardBandTop防护带顶防护带剪辑区域的屏幕空间坐标。 此矩形内、视区矩形外部的坐标会自动剪切。
小数GuardBandRight防护带右防护带剪辑区域的屏幕空间坐标。 此矩形内、视区矩形外部的坐标会自动剪切。
小数GuardBandBottom防护带底防护带剪辑区域的屏幕空间坐标。 此矩形内、视区矩形外部的坐标会自动剪切。
小数ExtentsAdjust范围调整将盘区矩形向外调整以适应抗锯齿内核的像素数。
整数StencilCaps模具操作指定支持的模具缓冲区操作的标志。参见:D3DSTENCILCAPS
整数FVFCaps顶点格式灵活的顶点格式功能。
整数TextureOpCaps纹理操作描述此设备支持的纹理操作的标志的组合。
整数MaxTextureBlendStages混合器数固定函数管道中支持的最大纹理混合阶段数。
整数MaxSimultaneousTextures纹理数量可同时绑定到固定函数管道采样器阶段的最大纹理数。
整数VertexProcessingCaps中文顶点处理功能。参见:D3DVTXPCAPS
整数MaxActiveLights最大光数可以同时处于活动状态的最大光数。
整数MaxUserClipPlanes最大面数支持的最大用户定义剪裁平面数。 此成员可以为 0。
整数MaxVertexBlendMatrices最大矩阵此设备在执行多矩阵顶点混合时可以应用的最大矩阵数。
整数MaxVertexBlendMatrixIndex最大索引该值指定可以使用每个顶点索引编制索引到的最大矩阵索引。
小数MaxPointSize最大尺寸点基元的最大大小。 如果设置为 1.0f,则设备不支持点大小控制。 范围大于或等于 1.0f。
整数MaxPrimitiveCount最大其元每个 DrawPrimitive 调用的最大基元数。
整数MaxVertexIndex最大顶点硬件顶点处理支持的索引的最大大小。此值大于 0x0000FFFF
整数MaxStreams最大并发SetStreamSource 的最大并发数据流数。 有效范围是 1 到 16。
整数MaxStreamStride最大步长SetStreamSource 的最大步长。
整数VertexShaderVersion顶点版本表示顶点着色器main和子版本的两个数字。
整数MaxVertexShaderConst着色器数为常量保留的 顶点着色器顶点着色器寄存器 的数目。
整数PixelShaderVersion像素版本表示像素着色器main和子版本的两个数字。
小数PixelShader1xMaxValue最大分量像素着色器算术分量最大值。
整数DevCaps2适应设备自适应分割的设备驱动程序功能。 有关详细信息,请参阅 D3DDEVCAPS2
小数MaxNpatchTessellationLevel最大细分最大Npatch细分级别
整数Reserved5预留预留5
整数MasterAdapterOrdinal主显卡号此数字指示哪个设备是此从属设备的主机。
整数AdapterOrdinalInGroup显卡组号此数字指示 API 引用头的顺序。主适配器的值始终为0。这些值不对应于适配器序号。它们仅适用于组中的头部。
整数NumberOfAdaptersInGroup显卡组数默认1,多个主显卡则大于1。对于多显卡的从属适配器,该值将为 0。
整数DeclTypes顶点声明顶点声明中包含的一个或多个数据类型的组合。 请参阅 D3DDTCAPS。
整数NumSimultaneousRTs显示数目同时呈现目标的数目。 此数字至少为1。
整数StretchRectFilterCaps拉伸矩形描述 拉伸矩形 支持的操作的常量的组合。0x100点缩小;0x200线性缩小;0x1000000点放大;0x2000000线性放大
整数D3DVSHADERCAPS2_0.Caps指令谓词如果此值为非零值,则支持指令谓词。 setp_comp dst、src0、src1
整数D3DVSHADERCAPS2_0.DynamicFlowControlDepth指令深度0 或 24,表示动态流控制指令嵌套的深度。 请参阅 D3DVS20CAPS。
整数D3DVSHADERCAPS2_0.NumTemps寄存器数支持的临时寄存器数。 请参阅 D3DVS20CAPS。
整数D3DVSHADERCAPS2_0.StaticFlowControlDepth循环深度循环的嵌套深度 - vs/rep - vs 和 call - vs/callnz bool - vs instructions。 请参阅 D3DVS20CAPS。
整数D3DPSHADERCAPS2_0.Caps支持指令如果此值为非零值,则支持指令谓词。 setp_comp dst、src0、src1
整数D3DPSHADERCAPS2_0.DynamicFlowControlDepth指令嵌套0 或 24,表示动态流控制指令嵌套的深度。 请参阅 D3DPSHADERCAPS2_0。
整数D3DPSHADERCAPS2_0.NumTemps临时寄存支持的临时寄存器数。 请参阅 D3DPSHADERCAPS2_0。
整数D3DPSHADERCAPS2_0.StaticFlowControlDepth循环嵌套循环的嵌套深度 - vs/rep - vs 和 call - vs/callnz bool - vs instructions。 请参阅 D3DPSHADERCAPS2_0。
整数D3DPSHADERCAPS2_0.NumInstructionSlots指令槽数支持的指令槽数。 请参阅 D3DPSHADERCAPS2_0。
整数VertexTextureFilterCaps顶点筛选设备支持顶点着色器纹理筛选器功能。 请参阅 D3DPTFILTERCAPS。
整数MaxVShaderInstructionsExecuted顶点指令使用流控制时可以运行的最大顶点着色器指令数。
整数MaxPShaderInstructionsExecuted像素指令使用流控制时可以运行的最大像素着色器指令数。
整数MaxVertexShader30InstructionSlots顶点槽数支持的最大顶点着色器指令槽数。可对此上限设置的最大值为 32768。
整数MaxPixelShader30InstructionSlots像素槽数支持的最大像素着色器指令槽数。可对此上限设置的最大值为 32768。

英文名字中文名称作用解释
IDirect3D9Ex三维图形类应用程序使用三维图形接口的方法创建三维图形对象并设置环境。包括枚举和检索设备功能的方法。
三维图形类——方法表,在原对象上增加了五个方法,共用同一个调用表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
RegisterSoftwareDevice软件光栅(@函数)注册可插入软件设备。提供软件光栅化,使应用程序能够访问各种软件光栅器。
GetAdapterCount显卡数返回系统上的适配器数。显卡序号0到数量减一
GetAdapterIdentifier显卡描述(序号,标志,显卡标识类)描述指定物理显示适配器信息:显卡标识类。标志:0=默认;2=下载驱动证书;
GetAdapterModeCount模式数(序号,图面格式)返回此适配器上可用的显示模式数。图面格式
EnumAdapterModes枚举模式(序号,设备类型,索引,显示模式类)枚举指定的适配器是否支持请求的格式和显示模式。索引是模式数的序号;
GetAdapterDisplayMode显示模式(序号,显示模式类)检索适配器的当前显示模式信息。
CheckDeviceType设备类型(序号,设备类型,显示模式,缓冲格式,全屏)验证硬件加速设备类型是否可以在此适配器上使用。设备类型
CheckDeviceFormat设备格式(序号,设备类型,选项,资源类型,图面格式)确定表面格式是否可用作指定资源类型常数,纹理、深度模具缓冲区、呈现目标或三者的任何组合。选项:
CheckDeviceMultiSampleType多重采样(序号,设备类型,图面格式,小窗,采样率,@数量)确定此设备上是否提供多重采样技术。小窗为假=全屏采样;采样率:(0-16)
CheckDepthStencilMatch模具匹配(序号,设备类型,显示模式,呈现格式,模具格式)确定深度模具格式是否与特定显示模式下的呈现目标格式兼容。
CheckDeviceFormatConversion可转格式(序号,设备类型,源格式,目标格式)测试设备是否支持从一种显示格式转换为另一种显示格式。
GetDeviceCaps设备功能(序号,设备类型,功能)检索有关设备的特定于设备的信息。功能:三维功能类
GetAdapterMonitor监视器(序号)返回对象关联的监视器的句柄。
CreateDevice创建设备(序号,设备类型,焦点窗口,选项,参数,@接口)创建表示显示适配器的设备接口。参数:显示参数类
GetAdapterModeCountEx模式数量(序号,特征)返回可用显示模式的数目。特征=显示格式类
EnumAdapterModesEx列举模式(序号,特征,索引,模式)指定模式索引获取实际显示模式信息。特征=显示格式类,模式=显示模版类
GetAdapterDisplayModeEx显示设置(序号,特征,模式)检索适配器的当前显示模式和旋转设置。特征=显示格式类,模式=显示模版类
CreateDeviceEx新建设备(序号,设备类型,焦点窗口,选项,参数,模式,@接口)创建表示显示适配器的设备接口。参数:显示参数类;,模式=显示模版类
GetAdapterLUID取标识(序号,标识)此方法返回特定于适配器硬件的适配器的唯一标识符。显卡标识类
中文名字英文名称长度作用解释
显卡标识类LUID8它指定保证在本地计算机上唯一的标识符。
显卡标识类——成员表
低位LowPart整数标识符的低位数据。
高位HighPart整数标识符的高位数据。

中文名字英文名称长度作用解释
显示格式类D3DDISPLAYMODEFILTER24指定要筛选出的显示模式的类型。应用于三维图形类
显示格式类——成员表
大小Size整数此结构的大小。固定为24
格式Format整数D3DFORMAT格式枚举类型,描述显示模式的图面格式。
扫描ScanLineOrdering整数指示扫描线顺序是渐进式还是隔行扫描。1=逐行扫描;2=隔行扫描

中文名字英文名称长度作用解释
显示模版类D3DDISPLAYMODEEX24描述显示模式。应用于三维图形类
显示模版类——成员表
大小Size整数此结构的大小。固定为24
宽度Width整数屏幕宽度(以像素为单位)。
高度Height整数屏幕高度(以像素为单位)。
刷新率RefreshRate整数刷新速率。 值 0 表示适配器默认值。
格式Format整数D3D格式枚举类型,描述显示模式的图面格式。请参阅 D3DFORMAT
扫描ScanLineOrdering整数指示扫描线顺序是渐进式还是隔行扫描。1=逐行扫描;2=隔行扫描

英文名称常量作用解释
D3DDISPLAYROTATION——三维功能类.显示设置,指定如何旋转用于显示全屏应用程序的监视器。
D3DDISPLAYROTATION_IDENTITY1显示未旋转。
D3DDISPLAYROTATION_902显示器旋转 90 度。
D3DDISPLAYROTATION_1803显示器旋转 180 度。
D3DDISPLAYROTATION_2704显示器旋转 270 度。

英文名称常量作用解释
D3DUSAGE——三维图形类,标识资源的使用方式的用法选项。
D3DUSAGE_RENDERTARGET0x00000001资源将是呈现目标。只能与 D3DPOOL_DEFAULT 一起使用。
D3DUSAGE_DEPTHSTENCI0x00000002资源将是深度模具缓冲区。只能与 D3DPOOL_DEFAULT 一起使用。
D3DUSAGE_DYNAMIC0x00000200设置为指示顶点缓冲区需要使用动态内存。
D3DUSAGE_AUTOGENMIPMAP0x00000400资源将自动生成 mipmap。体积纹理和深度模具表面/纹理不支持,对系统内存中的资源无效。
D3DUSAGE_DMAP0x00004000资源将是位移映射。
D3DUSAGE_QUERY_LEGACYBUMPMAP0x00008000查询有关旧版凹凸图的资源。
D3DUSAGE_QUERY_SRGBREAD0x00010000说明。
D3DUSAGE_QUERY_FILTER0x00020000查询资源格式以查看它是否支持的纹理筛选器类型。
D3DUSAGE_QUERY_SRGBWRITE0x00040000查询资源以验证纹理在读取操作期间是否支持伽玛校正。
D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING0x00080000查询资源以验证是否支持后像素着色器混合支持。
D3DUSAGE_QUERY_VERTEXTEXTURE0x00100000查询资源以验证是否支持顶点着色器纹理采样。
D3DUSAGE_WRITEONLY0x00000008通知系统应用程序仅写入顶点缓冲区。
D3DUSAGE_SOFTWAREPROCESSING0x00000010如果使用此标志顶点处理在软件中完成。
D3DUSAGE_DONOTCLIP0x00000020设置为指示顶点缓冲区内容将永远不需要剪辑。
D3DUSAGE_POINTS0x00000040设置为指示顶点或索引缓冲区将用于绘制点子画面。
D3DUSAGE_RTPATCHES0x00000080设置为指示顶点缓冲区用于绘制高阶基元。
D3DUSAGE_NPATCHES0x00000100设置为指示顶点缓冲区用于绘制 N 个补丁。

英文名称常量作用解释
D3DTEXTUREFILTERTYPE——三维纹理类.筛选类型,定义纹理阶段的纹理筛选模式。
D3DTEXF_NONE0与 D3DSAMP_MIPFILTER 一起使用时,禁用误应用。
D3DTEXF_POINT1与 D3DSAMP_ MAGFILTER 或 D3DSAMP_MINFILTER 一起使用时,指定点筛选将分别用作纹理放大或缩小筛选器。
与 D3DSAMP_MIPFILTER 一起使用时,启用 mipmapping 并指定光栅器从最接近 mip 级别的纹素中选择颜色。
D3DTEXF_LINEAR2与 D3DSAMP_ MAGFILTER 或 D3DSAMP_MINFILTER 一起使用时,指定线性筛选将分别用作纹理放大或缩小筛选器。
与 D3DSAMP_MIPFILTER一起使用时,启用 mipming 和三线性筛选;它指定光栅器在两个最接近的 mip 级别之间内插。
D3DTEXF_ANISOTROPIC3与 D3DSAMP_ MAGFILTER 或 D3DSAMP_MINFILTER 一起使用时,分别指定用作纹理放大或缩小筛选器的各向异性纹理筛选
补偿由纹理多边形与屏幕平面之间的角度差异导致的失真。 与 D3DSAMP_MIPFILTER 一起使用未定义。
D3DTEXF_PYRAMIDALQUAD6用作纹理放大或缩小筛选器的 4 样本帐篷筛选器。 与 D3DSAMP_MIPFILTER 一起使用未定义。
D3DTEXF_GAUSSIANQUAD7用作纹理放大或缩小筛选器的 4 样本高斯筛选器。 与 D3DSAMP_MIPFILTER 一起使用未定义。
D3DTEXF_CONVOLUTIONMONO8单色纹理的卷积筛选器。仅在 Direct3D 9Ex 中可用。

英文名字中文名称作用解释
IDirect3DResource9三维纹理类应用程序使用对象接口的方法来查询和准备资源。
三维图形类——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
GetDevice取设备(@接口)检索与资源关联的设备。
SetPrivateData改数据(标识,数据,大小,标志)将数据与程序使用的资源相关联。标志:0=自动分配内存;1=数据为空接口指针(大小为4)
GetPrivateData取数据(标识,数据,大小)将与资源关联的专用数据复制到提供的缓冲区。
FreePrivateData释放数据(标识)释放与此资源关联的指定私有数据。
SetPriority改优先级(值)分配用于计划的资源的优先级。
GetPriority取优先级获取此资源的优先级。
PreLoad预加载预加载托管资源。
GetType取类型返回资源的类型

英文名字中文名称作用解释
IDirect3DBaseTexture9三维纹理类应用程序使用对象接口的方法操作纹理资源,包括立方体纹理和体积纹理。
三维图形类——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
GetDevice取设备(@接口)检索与资源关联的设备。
SetPrivateData改数据(标识,数据,大小,标志)将数据与程序使用的资源相关联。标志:0=自动分配内存;1=数据为空接口指针(大小为4)
GetPrivateData取数据(标识,数据,大小)将与资源关联的专用数据复制到提供的缓冲区。
FreePrivateData释放数据(标识)释放与此资源关联的指定私有数据。
SetPriority改优先级(值)分配用于计划的资源的优先级。
GetPriority取优先级获取此资源的优先级。
PreLoad预加载预加载托管资源。
GetType取类型返回资源的类型
SetLOD改详细(值)为托管纹理设置最详细的详细级别。
GetLOD取详细返回固定到托管纹理的最大详细程度集,非托管纹理不支持此方法。
GetLevelCount取级数返回多级纹理中的纹理级别数。
SetAutoGenFilterType改筛选(筛选)设置用于自动生成的 mipmap 子层的筛选器类型
GetAutoGenFilterType取筛选获取用于自动生成的 mipmap 子层的筛选器类型
GenerateMipSubLevels生成子级生成 mipmap 子级别。

英文名字中文名称作用解释
IDirect3DCubeTexture9/IDirect3DTexture9三维纹理类应用程序使用对象接口的方法操作多维数据集纹理资源。
三维图形类——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
GetDevice取设备(@接口)检索与资源关联的设备。
SetPrivateData改数据(标识,数据,大小,标志)将数据与程序使用的资源相关联。标志:0=自动分配内存;1=数据为空接口指针(大小为4)
GetPrivateData取数据(标识,数据,大小)将与资源关联的专用数据复制到提供的缓冲区。
FreePrivateData释放数据(标识)释放与此资源关联的指定私有数据。
SetPriority改优先级(值)分配用于计划的资源的优先级。
GetPriority取优先级获取此资源的优先级。
PreLoad预加载预加载托管资源。
GetType取类型返回资源的类型
SetLOD改详细(值)为托管纹理设置最详细的详细级别。
GetLOD取详细返回固定到托管纹理的最大详细程度集,非托管纹理不支持此方法。
GetLevelCount取级数返回多级纹理中的纹理级别数。
SetAutoGenFilterType改筛选(筛选)设置用于自动生成的 mipmap 子层的筛选器类型
GetAutoGenFilterType取筛选获取用于自动生成的 mipmap 子层的筛选器类型
GenerateMipSubLevels生成子级生成 mipmap 子级别。
GetLevelDesc级别信息(级别,信息)检索指定多维数据集纹理级别的一张人脸的说明。信息:图面描述类
GetCubeMapSurface取图面(方面,级别,@接口)检索立方体纹理映射图面。方面
LockRect锁定矩形(方面,级别,区域,矩形,标志)锁定立方体纹理资源上的矩形。区域;标志:
UnlockRect锁定矩形(方面,级别)解锁立方体纹理资源上的矩形。方面
AddDirtyRect添加区域(方面,矩形)将脏区域添加到多维数据集纹理资源。

英文名称常量作用解释
D3DPOOL——用于三维图面类.内存池,定义用于保存资源缓冲区的内存类。
D3DPOOL_DEFAULT0资源放置在内存池中,最适合为给定资源请求的一组用法。 这通常是视频内存,包括本地视频内存和 AGP 内存。
D3DPOOL_MANAGED1资源会根据需要自动复制到设备可访问的内存中。 托管资源由系统内存提供支持,设备丢失时无需重新创建。
D3DPOOL_SYSTEMMEM2资源放置在通常不能由 Direct3D 设备访问的内存中。 此内存分配消耗系统 RAM,但不会减少可分页 RAM。
D3DPOOL_SCRATCH3资源放置在系统 RAM 中,设备丢失时无需重新创建。不受设备大小或格式限制的约束。Direct3D设备无法访问这些资源,但是可以创建、锁定和复制这些资源。

英文名称常量作用解释
D3DCUBEMAP_FACES——用于三维纹理类.取图面,定义立方体地图的面。
D3DCUBEMAP_FACE_POSITIVE_X0立方体图的正 x 面。
D3DCUBEMAP_FACE_NEGATIVE_X1立方体图的负 x 面。
D3DCUBEMAP_FACE_POSITIVE_Y2立方体图的正 y 面。
D3DCUBEMAP_FACE_NEGATIVE_Y3立方体图的负 y 面。
D3DCUBEMAP_FACE_POSITIVE_Z4立方体图的正 z 面。
D3DCUBEMAP_FACE_NEGATIVE_Z5立方体图的负 z 面。

英文名称常量作用解释
D3DLOCK——用于三维纹理类.锁定矩形,描述要执行的锁类型的零个或多个锁定选项的组合。
D3DLOCK_READONLY$10应用程序不会写入缓冲区。 这样,以非本机格式存储的资源就可以在解锁时保存重新压缩步骤。
D3DLOCK_NOSYSLOCK$800视频内存锁的默认行为是保留系统范围的关键部分,保证在锁定期间不会发生显示模式更改。
D3DLOCK_DISCARD$2000应用程序放弃锁定区域中的所有内存。对于顶点缓冲区和索引缓冲区,将放弃整个缓冲区。
D3DLOCK_NO_DIRTY_UPDATE$8000默认情况下资源上的锁会将脏区域添加到该资源。此选项可防止对资源的脏状态进行任何更改。
D3DLOCK_NOOVERWRITE$1000指示自上一个不带此标志的锁以来在绘图调用中引用的内存在锁定期间不会被修改。
D3DLOCK_DONOTWAIT$4000如果驱动程序无法立即锁定表面,则允许应用程序返回 CPU 周期。

D3DFVF——灵活顶点格式常量或 FVF 代码用于描述交错在将由固定函数管道处理的单个数据流中的顶点内容。
英文名称常量作用解释
顶点数据标志
D3DFVF_XYZ 0x002顶点格式包括未转换顶点的位置。不能与 D3DFVF_XYZRHW 一起使用。float、float、float。
D3DFVF_XYZRHW 0x004顶点格式包括已转换顶点的位置。不能与D3DFVF_XYZ或D3DFVF_NORMAL标志一起使用。float、float、float、float、float。
D3DFVF_XYZB1 0x006顶点格式包含位置数据,以及用于多matrix顶点混合操作的相应权重值。最多可与三个加权值和四个混合矩阵混合。1到3个小数和一个整数
D3DFVF_XYZB2 0x008顶点格式包含位置数据,以及用于多matrix顶点混合操作的相应权重值。最多可与三个加权值和四个混合矩阵混合。1到3个小数和一个整数
D3DFVF_XYZB3 0x00a顶点格式包含位置数据,以及用于多matrix顶点混合操作的相应权重值。最多可与三个加权值和四个混合矩阵混合。1到3个小数和一个整数
D3DFVF_XYZB4 0x00c顶点格式包含位置数据,以及用于多matrix顶点混合操作的相应权重值。最多可与三个加权值和四个混合矩阵混合。1到3个小数和一个整数
D3DFVF_XYZB5 0x00e顶点格式包含位置数据,以及用于多matrix顶点混合操作的相应权重值。最多可与三个加权值和四个混合矩阵混合。1到3个小数和一个整数
D3DFVF_XYZW 0x4002顶点格式包含转换和剪切(x、y、z、w)数据。专为可编程顶点管道而设计,只能与它一起使用。float、float、float、float
D3DFVF_NORMAL 0x010顶点格式包括顶点法线向量。不能与 D3DFVF_XYZRHW 一起使用。float、float、float
D3DFVF_PSIZE 0x020以点大小指定的顶点格式。FLOAT未转换和点亮的顶点,大小以相机空间单位,否则以设备空间单位表示。
D3DFVF_DIFFUSE 0x040顶点格式包括漫射颜色分量。按 ARGB 顺序排列
D3DFVF_SPECULAR 0x080顶点格式包括反射颜色分量。按 ARGB 顺序排列
纹理标志
D3DFVF_TEX0 0x000此顶点的纹理坐标集的数目。
D3DFVF_TEX1 0x100此顶点的纹理坐标集的数目。
D3DFVF_TEX2 0x200此顶点的纹理坐标集的数目。
D3DFVF_TEX3 0x300此顶点的纹理坐标集的数目。
D3DFVF_TEX4 0x400此顶点的纹理坐标集的数目。
D3DFVF_TEX5 0x500此顶点的纹理坐标集的数目。
D3DFVF_TEX6 0x600此顶点的纹理坐标集的数目。
D3DFVF_TEX7 0x700此顶点的纹理坐标集的数目。
D3DFVF_TEX8 0x800此顶点的纹理坐标集的数目。
杂项标志
D3DFVF_TEXCOUNT_SHIFT 8移动整数值所依据的位数,该整数值标识顶点的纹理坐标数。如: dwFVF = 1 << 8
D3DFVF_LASTBETA_UBYTE4 0x1000顶点位置数据中的最后一个 beta 字段的类型为 UBYTE4。
D3DFVF_LASTBETA_D3DCOLOR 0x8000顶点位置数据中的最后一个 beta 字段的类型为 D3DCOLOR。
掩码标志
D3DFVF_TEXCOUNT_MASK 0xf00纹理标志位的掩码值。
D3DFVF_POSITION_MASK 0x400E位置位的掩码。
D3DFVF_RESERVED0 0x001保留位的掩码值。 请勿使用。
D3DFVF_RESERVED2 0x6000保留位的掩码值。 请勿使用。

中文名字英文名称长度作用解释
图面描述类D3DSURFACE_DESC32描述显示模式。应用于三维图形类
图面描述类——成员表
格式Format整数描述图面格式的枚举类型的成员。
资源Type整数D3DRESOURCETYPE枚举类型的成员,将此资源标识为图面。
使用Usage整数1=呈现目标;2=深度缓冲; 有关详细信息,请参阅 D3DUSAGE
内存池Pool整数D3DPOOL枚举类型的成员,指定为此图面分配的内存类。
采样MultiSampleType整数D3DMULTISAMPLE_TYPE枚举类型,指定图面支持的全场景多重采样级别。
质量MultiSampleQuality整数质量级别。有效范围介于 0 和 1 之间
宽度Width图面的宽度(以像素为单位)。
高度Height图面的高度(以像素为单位)。

中文名字英文名称长度作用解释
定位矩形类D3DLOCKED_RECT8描述锁定的矩形区域。
定位矩形类——成员表
行字Pitch整数图面一行中的字节数。
指针pBits整数指向锁定位的指针。如果提供了矩形,则从图面的开头适当偏移。

中文名字英文名称长度作用解释
索引缓冲类D3DINDEXBUFFER_DESC20描述索引缓冲区。
图面描述类——成员表
格式Format整数描述图面格式的枚举类型的成员。
资源Type整数D3DRESOURCETYPE枚举类型的成员,将此资源标识为图面。
使用Usage整数指定此资源的使用情况。有关详细信息,请参阅 D3DUSAGE
内存池Pool整数D3DPOOL枚举类型的成员,指定为此图面分配的内存类。
大小Size整数索引缓冲区的大小(以字节为单位)。

中文名字英文名称长度作用解释
顶点缓冲类D3DVERTEXBUFFER_DESC24描述顶点缓冲区。
顶点缓冲类——成员表
格式Format整数描述图面格式的枚举类型的成员。
资源Type整数D3DRESOURCETYPE枚举类型的成员,将此资源标识为图面。
使用Usage整数指定此资源的使用情况。有关详细信息,请参阅 D3DUSAGE
内存池Pool整数D3DPOOL枚举类型的成员,指定为此图面分配的内存类。
大小Size整数顶点缓冲区的大小(以字节为单位)。
顶格FVF整数描述此缓冲区中顶点的顶点格式的 D3DFVF 的组合。

英文名字中文名称作用解释
IDirect3DSurface9三维图面对象应用程序使用对象接口的方法查询和准备图面
三维图面对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
GetDevice取设备(@接口)检索与资源关联的设备。
SetPrivateData改数据(标识,数据,大小,标志)将数据与程序使用的资源相关联。标志:0=自动分配内存;1=数据为空接口指针(大小为4)
GetPrivateData取数据(标识,数据,大小)将与资源关联的专用数据复制到提供的缓冲区。
FreePrivateData释放数据(标识)释放与此资源关联的指定私有数据。
SetPriority改优先级(值)分配用于计划的资源的优先级。
GetPriority取优先级获取此资源的优先级。
PreLoad预加载预加载托管资源。
GetType取类型返回资源的类型
GetContainer取容器(标识,@接口)提供纹理对象的父多维数据集纹理或后台缓冲区父交换链的访问权限。
GetDesc取说明(说明)检索图面的说明
LockRect锁定矩形(区域,矩形,标志)锁定图面上的矩形。区域;标志:
UnlockRect解锁矩形解解锁图面上的矩形。
GetDC取设备(@设备)检索设备上下文。
ReleaseDC释放设备(设备)释放设备上下文句柄。

英文名字中文名称作用解释
IDirect3DIndexBuffer9三维缓冲对象应用程序使用对象接口的方法操作索引缓冲区资源。
三维图面对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
GetDevice取设备(@接口)检索与资源关联的设备。
SetPrivateData改数据(标识,数据,大小,标志)将数据与程序使用的资源相关联。标志:0=自动分配内存;1=数据为空接口指针(大小为4)
GetPrivateData取数据(标识,数据,大小)将与资源关联的专用数据复制到提供的缓冲区。
FreePrivateData释放数据(标识)释放与此资源关联的指定私有数据。
SetPriority改优先级(值)分配用于计划的资源的优先级。
GetPriority取优先级获取此资源的优先级。
PreLoad预加载预加载托管资源。
GetType取类型返回资源的类型
Lock锁定(偏移,大小,@内存,标志)锁定索引数据范围并获取指向索引缓冲区内存的指针。标志:
Unlock解锁解锁索引数据。
GetDesc取说明(说明)检索索引缓冲区资源的说明

英文名字中文名称作用解释
IDirect3DVertexBuffer9三维缓冲对象应用程序使用对象接口的方法查询和准备图面
三维图面对象——方法表
QueryInterface接口(标识,@指针)检索指向对象上支持的接口的指针。
AddRef计数递增对象上接口的引用计数。 对于指向对象上接口的指针的每个新副本,应调用此方法。
Release释放递减对象上接口的引用计数。前三项COM对象通用
GetDevice取设备(@接口)检索与资源关联的设备。
SetPrivateData改数据(标识,数据,大小,标志)将数据与程序使用的资源相关联。标志:0=自动分配内存;1=数据为空接口指针(大小为4)
GetPrivateData取数据(标识,数据,大小)将与资源关联的专用数据复制到提供的缓冲区。
FreePrivateData释放数据(标识)释放与此资源关联的指定私有数据。
SetPriority改优先级(值)分配用于计划的资源的优先级。
GetPriority取优先级获取此资源的优先级。
PreLoad预加载预加载托管资源。
GetType取类型返回资源的类型
Lock锁定(偏移,大小,@内存,标志)锁定顶点数据范围并获取指向顶点缓冲区内存的指针。标志:
Unlock解锁解锁顶点数据。
GetDesc取说明(说明)检索顶点缓冲区资源的说明

部分系统函数库中英文对照表:
系统函数库是操作系统的内核层,像驱动层、应用层、界面框架都是建立在内核层之上。
最为核心的库是kernel32,中文意思就是内核、核心。C语言库及图形框架对话框库等都基于核心库和图形库。
学习控制台程序开发会用于一些C库函数,大部分功能极语言都已内部实现。需要特殊的文本转换可参见下表。
符号数据类型写格式/格式化/组合式读格式/拆分式
%d %ld %i %li十进制有符号整数变量数值转文字文字转数值到变量
%u %lu十进制无符号整数变量数值转文字文字转数值到变量
%f浮点数变量数值转文字文字转数值到变量
%s字符串变量文字到文字文字输出到变量
%c单个字符字符数值转文字文字转数值到变量
%x小写十六进制变量数值转十六进制文字十六进制文字转数值到变量
%X大写十六进制变量数值转十六进制文字十六进制文字转数值到变量
%p十六进制指针变量数值转十六进制文字十六进制文字转数值到变量
%o八进制变量数值转八进制文字八进制文字转数值到变量
%e指数形式浮点数变量数值转指数文字指数文字转数值到变量
百分号后面加"-"是左对齐,加数字是占位长度
加0是占位填充为0,如:格式化(内容,"%08d",36),显示内容为:00000036
加.是小数点位数,如:格式化(内容,"%.2f",36.389247#),显示内容为: 36.38
加.也是字符的位数,如:格式化(内容,"%.4s","36.389247#"),显示内容为: 36.3
点后面加*号是变量指定长度,如:格式化(内容,"%.*s",4,"36.389247"),显示内容为: 36.3
加#是增加0x前缀,如:格式化(内容,"%#x",36),显示内容为: 0x24
读格式和拆分式,加*号是跳过不读,例如:拆分式("asdf 123","%*s %d",@数) 结果数=123
加[]是集合操作,如: %[0-9] 是只取数字.^是不包含,如: %[^abc]是除abc外所有字符
也可以配合长度使用,如: %12[a-zA-Z0-9_] 是读取不超过12位,英文字母加数字及下划线的字符
C语言函数-msvcrt库
中文名称英文名称示例作用
绝对值absa=绝对值(-36)返回32位整数的绝对值。
取正数labs大数=取绝对值(大数)返回64位整数的绝对值。
反余弦acosy=反余弦(x)返回以弧度表示的 x 的反余弦。均为浮点数
反正弦asiny=反正弦(x)返回以弧度表示的 x 的反正弦。均为浮点数
反正切atany=反正切(x)返回以弧度表示的 x 的反正切。均为浮点数
反正切2atan2z=反正切2(x,y)返回以弧度表示的 y/x 的反正切。均为浮点数
上取整ceily=上取整(x)返回大于或者等于 x 的数值(进位取整)。均为浮点数
余弦cosy=余弦(x)返回以弧度表示的 x 的余弦。均为浮点数
双曲余弦coshy=余弦(x)返回以弧度表示的 x 的双曲余弦。均为浮点数
除法divd=除法(a,b)a除以b,返回d的前4字节为商,后4字节为余数
取绝对值fabsy=取绝对值(x)返回 x 的绝对值。均为浮点数
下取整floory=下取整(x)返回大于或者等于 x 的数值(舍去取整)。均为浮点数
求余fmodz=求余(x,y)返回 x/y 的余数。均为浮点数
自然对数logy=log(x)返回 x 的自然对数。均为浮点数
常用对数log10y=常用对数(x)返回 x 的自然对数。(基数为 e 的对数)
指数expy=指数(x)返回以自然常数e为底的 x 次幂
乘进位ldexpy=乘进位(x,n)返回 x 乘以2的n次幂 ,相当于浮点左移运算
正弦siny=反正弦(x)返回以弧度表示的 x 的反正弦。(基数为 10 的对数)
双曲正弦sinhy=双曲正弦(x)返回以弧度表示的 x 的双曲正弦。均为浮点数
双曲正切tanhy=双曲正切(x)返回以弧度表示的 x 的双曲正切。均为浮点数
平方根sqrty=平方根(x)返回 x 的平方根。均为浮点数
powz=幂(x,y)返回 x 的 y 次幂。均为浮点数
分解小数modfz=分解小数(x,y)分解x,以得到x的整数和小数部分,y是x的整数部分,z是x的小数部分,xyz均为double
显示错误perror显示错误("错误原因:")将上一个函数发生错误的原因输出到标准设备(控制台窗口)
先显示参数提交的文字,再显示错误原因的描述
打开管道popenpp=打开管道(命令,"r")用命令运行一个进程,可以使用文件读写函数操控该控制台界面的输入输出
关闭管道pclose关闭管道(pp)打开管道必须使用此函数关闭,不能用关闭文件
产生信号raise产生信号(2)产生一个信号,2程序终止 4非法指令 8运算错误
11非法访问内存 15请求终止程序 22程序异常终止
检测信号signal检测信号(信号,@处理函数)检测到相应信号,把信号发给处理函数
转宽字符mbstowcs字数=转宽字符(新字,原文,长度)把多字符转换成宽字符
转多字符wcstombs字数=转多字符(新字,原文,长度)将宽字符转换成多字符
本地配置setlocale本地配置(选项,格式)用来配置地域的信息,设置当前程序使用的本地化信息
读取变量getenv路径=读取变量("PATH")从环境中取字符串,获取环境变量的值
终止abort终止异常终止当前程序。
退出时atexit退出时(@退出事件)当程序正常终止时,调用指定的函数。
退出exit退出(状态)使程序正常终止。
转换时间asctime文字=转换时间(日期时间)把日期时间结构体转成文本格式时间
转时间ctime文字=转时间(@时间)把整数时间数据转成文本格式时间
取时间差difftimex=取时间差(时间1,时间2)计算两个时刻之间的时间差
国际时间gmtimet=国际时间(@时间)把日期时间数值转换为格林威治(GMT)时间,返回日期时间结构体
本地时间localtimet=本地时间(@sj)把日期时间数值转换为本地时间,返回日期时间结构体
取时间time取时间(@时间)获得系统当前时间到一个整数变量
格式时间strftime格式时间(文字,文字长,"%H点%M分",时间)把日期时间类型转换为指定格式文字,%H为24小时制,12小时制用%I
转小数atof转小数("12.34")把字符串转换为小数或浮点。
转整数atoi转整数("1235")把字符串转换为整数。
转小字tolowera=转小字(文字(i))大写字母转为小写字母,输入和返回都是ASCII码(0-127)
转大字touppers=转大字(文字(i))小写字母转为大写字母,输入和返回都是ASCII码(0-127)
查数组bsearch查数组(内容,数组指针,数量,大小,@比较函数)可以在固定长度数组中查找数值或字符串
开启线程_beginthread开启线程(@函数,堆栈大小,参数)开启一个在调用进程的地址空间内执行的线程
线束线程_endthread结束线程结束已开启的线程(无需参数)
申请内存malloc缓冲=申请内存(长度)申请指定长度的内存空间,数据并未清零
申零内存calloc申零内存(长度,数量)申请长度乘数量的内存空间,并清零数据
保留内存realloc保留内存(原址,大小)重新分配内存,新空间大于原空间大小时,保留原数据
释放内存freefree(缓冲)释放之前分配的内存空间
查找字节memchr查找字节(内容,66,n)在字符串/内存的前 n 个字节中搜索字节码出现的位置
内存比较memcmp内存比较(内容1,内容2,n)把内容1和内容2的前 n 个字节进行比较
内存复制memcpy内存复制(目的,原址,n)在原址复制 n 个字节到目的地址中,两者不能有重叠
内存传送memmove内存传送(目的,原址,n)在原址复制 n 个字节到目的地址中,两者可以有重叠
填充内存memset填充内存(内容,0,n)把指定内存的前 n 个字节填充为指定的数值
文件打开fopen文件=文件打开(文件名,"rb+")模式可以是r/w/b/t/a/+
文件输出freopen文件输出(文件名,"w",@文件)指定模式打开文件并把屏幕上(控制台)内容输出到文件中
文件刷新fflush文件刷新(文件)写入文件后,文件不会立即更新,需要关闭或者使用刷新文件函数才会更改
到尾feof是否=到尾(文件)判断是否已到文件结尾
读字fgetc字=读字(文件)从文件中读取一个字符(英文)
读行fgets读行(内容,长度,文件)从文件中读取一行文本
写字fputc写字(字,文件)写入一个英文字符到文件中
写句fputs写句(内容,文件)写入一个字符串到文件中
文件读取fread文件读取(数据,长度,数量,文件)从文件中读取指定数量个指定长度的数据,实际读取是长度和数量相乘
文件写入fwrite文件写入(数据,长度,数量,文件)向文件中写入指定数量个指定长度的数据,实际写入是长度和数量相乘
读取格式fscanf读取格式(文件,"%d",@id)读取文件中内容并转换为指定格式到变量中
写入格式fprintf写入格式(文件,"%d",id)把变量转换为指定格式内容写入到文件中
定位文件fseek定位文件(文件,位置,方向)方向0从开头,1从当前位置,2文件结尾
文件位置ftell长度=文件位置(文件)得到文件位置指针(当前位置相对于文件首的偏移字节数)
文件开头rewind文件开头(文件)将文件内部的指针重新指向开头位置
文件关闭fclose文件关闭(文件)文件操作完成后,需要关闭文件
文件删除remove文件删除(文件名)用于删除指定的文件
文件改名rename文件改名(旧名,新名)旧名文件不存在,新名文件存在,则移动文件,反之则改名.不能都存在或都不存在,也不能是目录
临时文件tmpfilefp=临时文件以wb+形式创建一个临时二进制文件
临时名tmpnam临时名(名称)产生一个唯一的文件名
读字符getchara=读字符控制台读取一个输入的英文字符
读文字gets读文字(内容)控制台读取一行输入的字符串
写字符putchar写字符(\a)把ASCII码在控制台上显示出英文字符在控制台窗口上
写文字puts写文字("hello")把一串文字显示在控制台窗口上
写格式printf写格式("你好%s",名字)把多个变量转换格式化后显示在屏幕上(控制台)
命令行system命令行("pause")控制台中执行系统命令
排序qsort排序(数组指针,数量,大小,@比较函数)可以实现数组,字符串,结构体内容排序等。
随机数randa=随机数产生一个随机数
随机种子srand随机种子(8848)随机数发生器的初始化函数
读格式scanf读格式("%d",@id)读取控制台输入文字并转换为指定格式的变量中
拆分式sscanf拆分式(文字1,"%s %d",str,@id)把文字1的内容按照指定表达式,拆分成多个变量
加文字strcat加文字(文字1,"很好")给文字1的字符串末尾增加相应的文字
加多字strncat加多字(文字1,"很好",长度)给文字1的字符串末尾增加指定长度的文字
查字符strchr查字符(文字1,33)查找英文字符的ASCII码在文字1中出现的内存位置
英文比较strcmp英文比较(文字1,文字2)文字1和文字2进行比较,区分大小写
前字比较strncmp前字比较(文字1,文字2,n)文字1和文字2的前面n个字符进行比较,相等返回0
字母比较strcmpi字母比较(文字1,文字2)文字1和文字2进行比较,不区分大小写
文字比较strcoll文字比较(文字1,文字2)默认按英文比较,本地配置LC_COLLATE语言环境后,如汉字可以按拼音比较
检索下标strcspn检索下标(文字1,文字2)检查文字2出现在文字1中的下标位置
错误描述strerror描述=错误描述(错误号)获得错误号对应的描述文字
文字长度strlen文字长度(文字1)计算字符串的长度,到0结束
文字复制strcpy文字复制(文字1,文字2)把文字2复制到文字1的内存位置
前字复制strncpy前字复制(文字1,文字2,n)把文字2的前n个字节复制到文字1的内存位置
检查包含strpbrk检查包含(文字1,文字2)检查文字1是否包含文字2的任意字,未包含返回空
倒查字符strrchr倒查字符(文字1,\c)从右边查找ASCII码在文字1中出现的内存位置
检查不含strspn检查不含(文字1,文字2)返回字符串中第一个不在指定字符串中出现的字符下标,0表示不包含
查找文字strstr查找文字(文字1,文字2)查找文字2在文字1中出现的内存位置
转浮点strtodfd=转浮点(文字1,文字2)把文字1转换成浮点数,若文字中包含非数字,会将其写到文字2中.参数2写0则无视
分割文本strtok分割文本(文字1,文字2)以文字2为分割符,把文字1分割成两个字符串
转数值strtold=转数值(文字1,文字2,进制)把文字1按进制转换成整数值,若文字中包含非数字会写到文字2中.进制为2-36的数字
转数字strtould=转数字(文字1,文字2,进制)把文字1按进制转换成无符号长整形,文字中包含非数字会写到文字2中.进制为2-36的数字
转码复制strxfrmd=转码复制(文字1,文字2,n)根据程序本地语言转换文字2,复制前 n 个字符到文字1中
格式组vsprintf格式组(文字,"%d",id)把变量格式化输出到字符串,多个变量需用格式化函数
格式化sprintf格式化(文字,"%d",id)把变量格式化输出到字符串
对象库函数-ole32库
中文名称英文名称示例作用
创建接口CoCreateGuid创建接口(数据)创建 GUID,这是用于 CLSID 和接口标识符的唯一 128 位整数。
创建实例CoCreateInstance创建实例(接口,0,1,标识,指针)创建并默认初始化与指定 CLSID 关联的类的单个对象。
容器实例CoCreateInstanceFromApp容器实例(接口,0,1,0,组数,结构组)从应用容器内在特定计算机上创建特定类的实例。
标准时间CoFileTimeNow标准时间(@时间)以64位值结构返回当前时间,1601年1月1日以来的100 纳秒间隔数。
释放全库CoFreeAllLibraries释放全库释放使用 CoLoadLibrary 函数加载的所有 DLL (CoGetClassObject) 内部调用。
释放类库CoFreeLibrary释放类库(模块)释放一个库,该库在加载时被指定为显式释放。
文件对象CoGetInstanceFromFile文件对象(0,类,0,1,0,路径,组数,结构组)创建一个新的 对象,并从文件初始化它。
托管对象CoGetInstanceFromIStorage托管对象(0,类,0,1,对象,组数,结构组)创建新对象,并通过内部调用从存储对象初始化它。
获取对象CoGetObject获取对象(名称,0,标识,指针)提供指向与指定 CLSID 关联的类对象上的接口的指针。
获取类库CoGetClassObject获取类库(接口,1,0,标识,指针)提供指向与指定 CLSID 关联的类对象上的接口的指针。
初始化库CoInitialize初始化库(0)初始化当前线程上的 COM 库,并将并发模型标识为单线程单元 。
是否类库CoIsOle1Class是否类库(接口)确定指定的 CLSID 关联是否表示 OLE 1 对象。
加载类库CoLoadLibrary加载类库(库名,0)将特定 DLL 加载到调用方进程中。
锁定对象CoLockObjectExternal锁定对象(指针,锁定,全解)调用 以锁定对象以确保它保留在内存中,或释放此类锁。
任务分配CoTaskMemAlloc任务分配(大小)分配任务内存块
任务释放CoTaskMemFree任务释放(内存)释放已经分配的任务内存块。
任务重置CoTaskMemRealloc任务重置(内存,大小)更改以前分配的任务内存块的大小。
卸载类库CoUninitialize卸载类库关闭当前线程上的 COM 库,卸载线程加载的所有 DLL,释放线程维护的任何其他资源
等多事件CoWaitForMultipleHandles等多事件(选项,超时,句柄数,句柄组,@事件)等待指定句柄发出信号,或等待指定的超时期限过。
等对象组CoWaitForMultipleObjects等对象组(选项,超时,对象数,对象组,@事件)等待指定对象发出信号,或等待指定的超时期限过。
类名对象CreateClassMoniker类名对象(接口,指针)创建引用指定类的类名字对象。
文件类值GetClassFile文件类值(文件,接口)返回与指定文件名关联的 CLSID。
对象列表GetRunningObjectTable对象列表(0,ROT)返回指向本地运行对象表上的接口的指针。
类名接口CLSIDFromProgID类名接口(类名,接口)通过指定对象类名查找接口定义标识CLSID。
类字接口CLSIDFromString类字接口(类字,接口)把对象类标识文字转换成原始的标识数据CLSID。
字转标识IIDFromString字转标识(标识字,标识)将类接口标识字符串转换回原始接口标识符 (IID) 。
接口名字ProgIDFromCLSID接口名称(接口,类名)检索给定类接口 CLSID 的 ProgID名称字符串,含大括号。
接口转字StringFromCLSID接口转字(接口,类字)将类接口 CLSID 转换为可打印字符的字符串。
标识转字StringFromIID标识转字(标识,字串)将接口标识符转换为可打印字符的字符串。
对象库-常数
中文名称常量英文名称作用
无呼叫调度0CWMO_DEFAULT无呼叫调度
调度调用1CWMO_DISPATCH_CALLS从"等对象组"调度调用(默认值为无呼叫调度)
调度消息2CWMO_DISPATCH_WINDOW_MESSAGES在 ASTA 或 STA 中启用从"等对象组"调度窗口消息
同步调度1COWAIT_WAITALL仅当与同步对象关联的所有句柄都已发出信号且已收到输入事件时调用才会从"等多事件"返回
异步调度2COWAIT_ALERTABLE如果异步过程调用(APC)已使用对QueueUserAPC函数的调用将排队到调用线程则从"等多事件"返回
输入调度4COWAIT_INPUTAVAILABLE如果队列存在输入,即使输入已删除,调用从"等多事件"返回。
调度呼叫8COWAIT_DISPATCH_CALLS在 ASTA 中从"等多事件"调度调用。
调度窗口16COWAIT_DISPATCH_WINDOW_MESSAGES允许从 ASTA 或 STA 中的"等多事件"调度窗口消息。
单个连接0REGCLS_SINGLEUSE使用"获取类库"将应用程序连接到类对象后,将从公共视图中删除该类对象
多个连接1REGCLS_MULTIPLEUSE多个应用程序可以通过调用"获取类库"连接到类对象。
多个独立2REGCLS_MULTI_SEPARATE用于通过调用"获取类库"注册单独的类工厂。
暂停连接4REGCLS_SUSPENDED暂停指定 CLSID 的注册和激活请求,直到调用"获取类库"为止。
服务代理8REGCLS_SURROGATE类对象是用来运行 DLL 服务器的代理项进程。
聚合封送16REGCLS_AGILE类对象聚合自由线程封送处理器和将对所有项目内公寓可见。
Win32内核函数-kernel32库
中文名称英文名称示例作用
建文件_lcreat文件=建文件("12.txt",属性)创建或打开指定的文件,属性:0读写,1只读,2隐藏,4系统
开文件_lopen文件=开文件("34.txt",方式)打开现有文件,方式:0=读,1=写,2=读写
关文件_lclose关文件(文件)关闭指定的文件
读文件_lread已读=读文件(文件,内容,长度)返回实际读取的字节数。
写文件_lwrite已写=写文件(文件,内容,长度)返回实际写入的字节数
流定位_llseek流定位(文件,位置,方向)方向0=开头,1=当前位置,2=文件结尾;文件长度=流定位(文件,0,2)
添加名单AddAtomA编号=添加名单("张三先生")将一个字符串[255]添加到本地原子表(程序内)中,并返回一个唯一标识
删除名单DeleteAtom删除名单(编号)从本地原子表中删除关联的字符串
查找名单FindAtomA编号=查找名单("李四")从本地原子表中查找字符串,得到标识
获取名单GetAtomNameA获取名单(编号,名称,长度)获取本地原子表中编号相对应的字符串
初始名单InitAtomTable初始名单(数量)初始化本地原子表并将其设置为指定的大小
添全名单GlobalAddAtomA编号=添全名单("张三先生")将一个字符串[255]添加到全局原子表(系统内)中,并返回一个唯一标识
删全名单GlobalDeleteAtom删全名单(编号)从全局原子表中删除关联的字符串
查全名单GlobalFindAtomA编号=查全名单("李四")从全局原子表中查找字符串,得到标识
取全名单GlobalGetAtomNameA取全名单(编号,名称,长度)获取全局原子表中编号相对应的字符串
分控制台AllocConsole分控制台给当前程序分配一个控制台
Beep嘀(声音频率,持续时间)在扬声器上产生简单的音调,频率在37到32767之间,时间为毫秒数
远程线程CreateRemoteThread远程线程(进程,属性,堆栈,@函数,参数,标志,标识)创建一个在指定进程的地址空间内运行的线程
创建线程CreateThread创建线程(属性,堆栈,@函数,参数,标志,标识)创建一个在调用进程的地址空间内执行的线程
创建目录CreateDirectoryA创建目录(路径,0)创建一个文件夹
创建事件CreateEventA事件=创建事件(属性,复位,状态,名称)创建一个事件,返回事件对象的句柄。
创建文件CreateFileA文件=创建文件(名,读写,共享,
@安全,方式,属性,复制)
可打开或创建文件或者I/O设备,并返回可访问的句柄:控制台,通信资源
目录(只读),磁盘驱动器,文件,邮槽,管道。
创建互斥CreateMutexA创建互斥(访问,继承,对象名)创建一个互斥体,可判断程序是否重复运行
进程快照CreateToolhelp32Snapshot进程快照(对象,进程ID)可以获取系统中正在运行的进程信息,线程信息
进程内存Toolhelp32ReadProcessMemory进程内存(进程ID,基址,内容,长度,@已读)读取指定进程PID和地址的内存数据
已被调试IsDebuggerPresent值=已被调试判断本进程是否处于调试模式
调试断点DebugBreak调试断点功能暂停程序执行,打开调试器,进入调试模式。
调试进程DebugActiveProcess调试进程(进程ID)调试某一个运行的进程
继续调试ContinueDebugEvent继续调试(进程ID,线程ID,选项)继续报告调试事件。选项$10002停止异常,$80010001继续异常
调试输出OutputDebugStringA调试输出(内容)向当前应用程序的调试器发送一个字符串
调试事件WaitForDebugEvent调试事件(结构,毫秒)等待调试事件发生在被调试的进程中,DEBUG_EVENT结构包含调试信息
关闭对象CloseHandle关闭对象(对象)关闭文件、文件映射、进程、线程、安全和同步对象等
删除资源DeleteCriticalSection删除资源(对象)删除关键节对象释放由该对象使用的所有系统资源。
删除文件DeleteFileA删除文件(文件名)删除现有文件
复制文件CopyFileA复制文件("a.txt","b.txt",假)最后参数为真不覆盖已有文件
停止ExitProcess停止(0)指定进程的退出代码以及由于此调用而终止的所有线程
退出线程ExitThread退出线程(0)强制结束一个线程
退出系统ExitWindowsEx退出系统(方式,0)方式:1安全关机,2重启,4注销,8关系统和电源
关闭查找FindClose关闭查找(搜索)关闭指定的搜索句柄
查找文件FindFirstFileA搜索=查找文件(文件名,文件信息)查找指定目录下的文件
下个文件FindNextFileA下个文件(搜索,文件信息)查找该目录下一个文件
查找资源FindResourceA查找资源(模块,资源,类型)确定指定模块中具有指定类型和名称的资源的位置。
释放资源FlushFileBuffers释放资源(文件)清除指定文件的缓冲区,并将所有缓冲的数据写入文件
刷新文件FlushFileBuffers刷新文件(文件)清除指定文件的缓冲区,并将所有缓冲的数据写入文件
释放引用FreeLibrary释放引用(模块句柄)减少加载的动态链接库(DLL)模块的引用计数,为零时取消Dll的映射
文件刷新FlushFileBuffers文件刷新(文件)清除指定文件的缓冲区,并将所有缓冲的数据写入文件
刷新指令FlushInstructionCache刷新指令(进程,基址,大小)刷新指定进程的指令高速缓存,让CPU加载新的指令
执行类型GetBinaryTypeAsf=执行类型(文件名,@类别)判断文件是否可以执行,类别收到文件的类型.返回0不可执行
启动参数GetCommandLineA参数=启动参数返回一个指向当前进程的命令行字符串的指针
取消暂停ClearCommBreak串口信号(串口,命令)向指定串口执行扩展功能,如DTR RTS信号
串口信号EscapeCommFunction串口信号(串口,命令)向指定串口执行扩展功能,如DTR RTS信号
查询串口GetCommConfig查询串口(串口,配置,长度)获取通信设备的当前配置COMMCONFIG
串口掩码GetCommMask串口掩码(串口,@掩码)检索指定通信设备的事件掩码值
串口调制GetCommModemStatus串口调制(串口,@状态)检索调制解调器控制寄存器值
串口属性GetCommProperties串口属性(串口,属性)获取指定通信设备的通信属性信息COMMPROP
串口状态GetCommState串口状态(串口,设置)获取指定通信设备的当前控制设置(DCB结构)
串口超时GetCommTimeouts串口超时(串口,超时)检索指定通信设备的读写操作的超时参数COMMTIMEOUTS
串口默认GetDefaultCommConfigA串口默认(设备名,配置,长度)获取通信设备的默认配置
串口缓冲PurgeComm串口缓冲(串口,动作)清空串口的输出或输入缓冲区,动作组合1终止写,2终止读,4清输出,8清输入
串口暂停SetCommBreak串口暂停(串口)暂停指定通信设备的字符传输,并将传输线路置于中断状态,直到取消暂停
设置串口SetCommConfig设置串口(串口,配置,长度)修改通信设备的当前配置COMMCONFIG
掩码串口SetCommMask掩码串口(串口,掩码)修改指定通信设备的事件掩码值
状态串口SetCommState状态串口(串口,设置)修改指定通信设备的当前控制设置(DCB结构)
超时串口SetCommTimeouts超时串口(串口,超时)修改指定通信设备的读写操作的超时参数COMMTIMEOUTS
默认串口SetDefaultCommConfigA默认串口(串口,超时)检索指定通信设备的读写操作的超时参数COMMTIMEOUTS
串口大小SetupComm串口大小(串口,输入,输出)修改指定通信设备的读写缓冲区大小
串口寄送TransmitCommChar串口寄送(串口,字符)在指定通信设备的输出缓冲区中的待处理数据发送之前先传送指定的字符
串口等待WaitCommEvent串口等待(串口,@事件,结构)等待指定通信设备发生事件。事件发生时,传递到@事件整数变量中
获取标题GetConsoleTitleAln=获取标题(名称,长度)获取当前控制台窗口的标题栏名称,返回标题名称的长度
设置标题SetConsoleTitleAln=设置标题(名称)设置当前控制台窗口的标题栏名称,返回标题名称的长度
压缩大小GetCompressedFileSizeA大小=压缩大小(文件名,@长度)获取压缩文件的大小,未压缩为实际大小.长度为高32位,大小为低32位
取本机名GetComputerNameAln=取本机名(名称,长度)获取当前系统的计算机名称,返回计算机名的长度
改本机名SetComputerNameAln=改本机名(名称)修改当前系统的计算机名称,失败返回0
当前目录GetCurrentDirectoryAln=当前目录(长度,路径)获得当前进程的所在目录
修改目录SetCurrentDirectoryAln=修改目录(路径)修改当前进程运行的目录
当前进程GetCurrentProcesspro=当前进程获得当前进程的句柄
进程标识GetCurrentProcessIdpid=进程标识获得当前进程的标识符PID
当前线程GetCurrentThreadtid=当前线程获得当前线程的句柄
线程标识GetCurrentThreadIdtid=线程标识获得当前线程的标识符
格式时间GetDateFormatA格式时间(区域,选项,日期,格式,内容,长度)把系统时间结构体转换为指定格式的字符串
电源状态GetDevicePowerState电源状态(设备,@状态)获得设备是处于工作状态还是低功耗状态
进程状态GetExitCodeProcess进程状态(进程,@状态)获得指定进程的终止状态
线程状态GetExitCodeThread线程状态(线程,@状态)获得指定线程的终止状态
文件属性GetFileAttributesA属性=文件属性(路径)获得指定文件或目录的属性
文件大小GetFileSize大小=文件大小(文件,@长度)获取已打开文件的大小,长度为高32位,返回大小为低32位
文件日期GetFileTime文件日期(文件,@创建,@访问,@写入)获取已打开文件的各项日期,不需要的参数可以为0
文件类型GetFileTypet=文件类型(文件)返回指定文件的类型,0未知,1磁盘文件,2控制台,3管道
修改属性SetFileAttributesA修改属性(路径,属性)修改指定文件或目录的属性
文件定位SetFilePointer文件定位(文件,位置,高位,方向)方向0开头,1当前,2结尾
文件改时SetFileTime文件改时(文件,创建时间,最后访问,上次写入)修改已打开文件的各项日期,不需要的参数可以为0
最后错误GetLastError错误=最后错误返回调用线程的最后一个错误代码值
当前时间GetLocalTime当前时间(时间类)获取当前系统日期和时间,系统时间结构体得到的是当前时间
分区空间GetDiskFreeSpaceA分区空间(目录,扇区数,扇区大小,可用群集,用户配额)检索有关指定磁盘的信息,包括磁盘上的可用空间量。
分区容量GetDiskFreeSpaceExA分区容量(目录,你可用,你可用总数,可用总数检索有关磁盘卷上可用空间量的信息
磁盘类型GetLogicalDrives类型=磁盘类型(盘符)判断磁盘类型。类型=2可移动盘 3硬盘 4网络盘 5光驱 6 RAM磁盘
可用磁盘GetLogicalDrives磁盘=可用磁盘返回表示当前可用磁盘驱动器的位掩码
可用盘符GetLogicalDriveStringsAln=可用盘符(长度,内容)返回指定系统中有效驱动器的字符串长度
长路径名GetLongPathNameAln=长路径名(文件名,路径,长度)获取指定文件路径的长路径形式
模块名称GetModuleFileNameAln=模块名称(模块,路径,长度)获取指定模块的可执行文件的完整路径和文件名,模块为0获取本进程
模块地址GetModuleHandleA模块=模块地址(模块名)获取指定模块(dll)的模块句柄,模块名为0获取本进程句柄
取优先级GetPriorityClasslv=取优先级(进程)获取指定进程的优先级
改优先级SetPriorityClass改优先级(进程,lv)设置指定进程的优先级
读取整数GetPrivateProfileIntA数值=读取整数(段名,键名,默认值,文件名)获取配置文件的指定键相关的整数,未找到时返回默认值
读取区段GetPrivateProfileSectionA长度=读取区段(段名,内容,大小,文件名)获取配置文件的指定区段(中括号里的名字)所有键名和值
读取段名GetPrivateProfileSectionNamesA长度=读取段名(内容,大小,文件名)获取配置文件的所有区段名称
读取文字GetPrivateProfileStringA长度=读取文字(段,键,默认,内容,大小,文件名)获取配置文件的指定键对应的内容(等号右边)
读取结构GetPrivateProfileStructA长度=读取结构(段,键,内容,大小,文件名)获取配置文件的指定键对应的结构数据
写入段名WritePrivateProfileSectionA长度=写入段名(段名,内容,文件名)创建配置文件的区段名称
写入文字WritePrivateProfileStringA长度=写入文字(段,键,内容,文件名)写入配置文件的指定键对应的内容(等号右边)
写入结构WritePrivateProfileStructA长度=写入结构(段,键,内容,大小,文件名)写入配置文件的指定键对应的结构数据
函数地址GetProcAddress函数1=函数地址(模块,函数名)获取指定的动态链接库(DLL)函数的地址,可使用 调用 函数1(参数..)来执行
系统目录GetSystemDirectoryAln=系统目录(路径,大小)获取系统所在的目录C:\WINDOWS\SYSTEM
全局内存GlobalMemoryStatus全局内存(内存信息类)获取当前可用的物理和虚拟内存信息
国标时间GetSystemTime国标时间(时间类)获取当前系统日期和时间,系统时间结构体得到的是世界时(UTC)
开机毫秒GetTickCount计数=开机毫秒获取当前系统启动以来经过的毫秒数
平台目录GetSystemDirectoryAln=平台目录(路径,大小)获取操作系统平台所在的目录C:\WINDOWS
全局分配GlobalAlloc内存=全局分配(方式,大小)从堆中分配指定的字节数内存。0固定,2可移动,$40初始化零
全局释放GlobalFree全局释放(内存)释放指定的全局内存对象并使其空间无效
全局锁定GlobalLockbuf=全局锁定(内存)返回指定的全局内存对象第一个字节的指针
全局更改GlobalReAlloc全局更改(内存,大小,方式)更改指定的全局内存对象的大小或属性
全局大小GlobalSizeln=全局大小(内存)获取指定的全局内存对象的当前大小
全局解锁GlobalUnlock全局解锁(内存)取消指定的全局内存对象关联的内存分配空间
进程堆址GetProcessHeap堆=进程内存获取本进程使用的堆对象
进程全堆GetProcessHeaps进程全堆(堆数,数组)获取本进程有效的所有堆的句柄
内存创建HeapCreate堆=内存创建(方式,大小,最大)创建本进程使用的堆对象,用来分配物理内存,方式1不互斥,4报告异常
内存分配HeapAlloc内存=内存分配(堆,方式,大小)从堆中分配一个不可移动的内存块。方式1不互斥,8初始化零,4报告异常
内存压缩HeapCompact内存压缩(堆,方式)尝试压缩指定的堆。合并相邻空闲内存,并消除大的可用内存块,方式1不互斥
内存销毁HeapDestroy内存销毁(堆)销毁指定的堆对象及其内存页面
内存释放HeapFree内存释放(堆,方式,内存)释放指定堆的内存页面
内存锁定HeapLock内存锁定(堆)锁定堆只有调用线程才能从堆中分配或释放内存
内存重建HeapReAlloc内存重建(堆,方式,内存,大小)从堆中重新分配一块内存,方式1不互斥,8初始化零,4报告异常,$10保留原数据
内存大小HeapSize大小=内存大小(堆,方式,内存)获取堆分配的内存块的大小
内存解锁HeapUnlock内存解锁(堆)解除指定堆相关联的关键部分对象的锁定
内存验证HeapValidate内存验证(堆,方式,内存)用来验证堆的完整性(内存为0)或堆中某块内存的完整性,方式1不互斥
内存枚举HeapWalk内存枚举(堆,信息)枚举指定堆中的内存块
内存摘要HeapDestroy内存销毁(堆,方式,摘要)汇总指定的堆
内存可读IsBadReadPtr内存可读(内存,大小)判断指定范围内存地址是否可读
内存可写IsBadWritePtr内存可写(内存,大小)判断指定范围内存地址是否可写
加载库LoadLibraryA地址=加载库("jh.dll")获取或者加载某个链接库dll的地址空间
加载程序LoadModule加载程序(程序名,运行参数)载入一个windows应用程序,并在指定的环境中运行
加载资源LoadResource资源=加载资源(模块,资源ID)将指定的资源ID加载到全局内存中
锁定资源LockResource内存=锁定资源(资源)从指定的资源获取到数据的内存地址,此锁定是找到目标的意思,无需解锁
资源大小SizeofResource长度=资源大小(模块,资源)检索指定资源的大小(以字节为单位)。
锁定文件LockFile锁定文件(文件,位置低,位置高,长度低,长度高)锁定打开文件中的区域。防止其他进程访问该区域
解锁文件UnlockFile解锁文件(文件,位置低,位置高,长度低,长度高)解锁打开文件中的区域。允许其他进程访问该区域
附加文字lstrcatA附加文字(文字1,"好")给文字1的字符串末尾增加文字
比较文字lstrcmpA比较文字(文字1,文字2)文字1和文字2进行比较,区分大小写
比较字母lstrcmpiA比较字母(文字1,文字2)文字1和文字2进行比较,不区分大小写
复制文字lstrcpyA复制文字(文字1,文字2)把文字2复制到文字1的内存位置
复制前字lstrcpynA复制前字(文字1,文字2,n)把文字2的前n个字符复制到文字1的内存中
字串长度lstrlenA字串长度(文字)获取文字的长度,英文1字节,汉字2字节
移动文件MoveFileA移动文件(原名,新名)原名文件不存在时,移动一个文件或目录,存在时改名.都存在或都不存在则出错
乘除MulDiv乘除(被乘数,乘数,除数)返回(被乘数 * 乘数 / 除数)的结果,四舍五入取整
到宽字符MultiByteToWideChar到宽字符(编码,选项,原文,长度,缓冲,大小)将字符串映射到UTF-16宽字符串。
到多字符WideCharToMultiByte到多字符(编码,选项,原文,长度,缓冲,大小,默认,是否)将UTF-16宽字符串映射到新字符串。
打开事件OpenEventA打开事件(访问,继承,事件名)$1F0003全权访问,2允许修改和重置事件,$100000允许事件同步
打开文件OpenFile打开文件(名称,信息体,动作)为兼容16位DOS使用,32位程序可使用"创建文件"
打开互斥OpenMutexA打开互斥(访问,继承,对象名)打开一个互斥体,可判断程序是否重复运行
查找模块Module32First查找模块(快照,模块类)检索与进程相关联的快照第一个模块的信息
下个模块Module32Next下个模块(快照,模块类)检索与进程相关联的快照下一个模块的信息
查找进程Process32First查找进程(快照,进程类)检索进程快照第一个进程的信息
下个进程Process32Next下个进程(快照,进程类)检索进程快照下一个进程的信息
打开进程OpenProcess打开进程(访问,继承,pid)返回现有进程对象pid的句柄
脉冲事件PulseEvent脉冲事件(事件)发出脉冲信号释放等待线程,无信号后将其重置
读取文件ReadFile读取文件(文件,内容,长度,@已读,结构)从文件指针所指定的位置开始读取数据
写入文件WriteFile写入文件(文件,内容,长度,@已读,结构)向文件指针所指定的位置开始写入数据
读取内存ReadProcessMemory读取内存(进程,地址,内容,长度,@已读)读取指定进程地址的内存数据
写入内存WriteProcessMemory写入内存(进程,地址,内容,长度,@已写)把数据写入指定进程的指定地址
释放互斥ReleaseMutex释放互斥(对象)释放指定的互斥对象的所有权
删除目录RemoveDirectoryA删除目录(路径)删除现有空目录,有文件不能删除
重置事件ResetEvent重置事件(事件)将指定的事件对象设置为非信号状态
重置线程ResumeThread重置线程(线程)减少线程的挂起计数。当暂停计数递减到零时,线程的执行被恢复
内存填充RtlFillMemory内存填充(地址,长度,值)使用指定的数值填充内存块。
传送内存RtlMoveMemory传送内存(目的,原址,n)在原址复制 n 个字节到目的地址中,两者可以有重叠
内存清零RtlZeroMemory内存清零(地址,长度)用0来填充一块内存区域
调用展开RtlUnwind调用展开(调用帧,延续,结构,回值)启动过程调用帧的展开。
修改事件SetEvent修改事件(事件)将指定的事件对象的状态设置为发信号
结尾文件SetEndOfFile结尾文件(文件)将指定文件的文件末尾(EOF)位置移动到文件指针的当前位置
设置错误SetLastError设置错误(错误号)设置本程序的最后一个错误代码
设置时间SetLocalTime设置时间(时间体)设置当前的本地时间和日期
修改时间SetSystemTime修改时间(时间体)修改当前系统日期和时间,系统时间结构体是世界时(UTC)
关闭系统SetSystemPowerState关闭系统(挂机,0)通过关闭电源挂起系统。挂起为真则关机,为假则休眠.
延时Sleep延时(毫秒)暂停执行当前线程指定的毫秒数
异步延时SleepEx异步延时(毫秒,异步)挂起当前线程,直到满足指定条件。
切换线程SwitchToThread切换线程使系统进程切换到其它线程执行
终止进程TerminateProcess终止进程(进程,退出码)终止指定的进程及其所有线程
终止线程TerminateThread终止线程(线程,退出码)终止指定的线程
终止作业TerminateJobObject终止作业(作业,退出码)终止当前与作业关联的所有进程。
查找线程Thread32First查找线程(快照,线程类)检索进程快照第一个线程的信息
下个线程Thread32Next下个线程(快照,线程类)检索进程快照下一个线程的信息
分配线程TlsAlloc索引=分配线程分配线程本地存储 (TLS) 索引。 进程的任何线程随后都可以使用此索引来存储和检索线程本地的值
释放线程TlsFree释放线程(索引)(TLS) 索引发布线程本地存储,使其可供重复使用。并不释放线程已分配的内存空间
取线程值TlsGetValue取线程值(索引)检索调用线程的线程本地存储中的值
改线程值TlsSetValue改线程值(索引)将值存储在调用线程的线程本地存储 (指定 TLS 索引的 TLS) 槽中。
虚拟内存VirtualAlloc地址=虚拟内存(地址,大小,分类,保护)
申请内存,内存申请,堆申请,全局/局部分配
这些申请内存的方法,并没有本质上的不同
在虚拟地址空间中保留或提交一个页面区域。分配的内存将自动初始化为零
虚拟空间VirtualAllocEx地址=虚拟空间(进程,地址,大小,分类,保护)在指定进程虚拟地址空间中保留或提交一个页面区域。分配的内存将自动初始化为零
新申请地址写0,扩充时可保留原数据.分类=分配类型$1000新分配,$2000保留
保护1禁用2只读4读写$10可执行$20执行读$40执行读写
虚拟释放VirtualFree虚拟释放(地址,大小,操作)虚拟地址空间中释放或分解内存,操作$4000分解$8000释放(大小为0)
空间释放VirtualFreeEx空间释放(进程,地址,大小,操作)在指定进程的虚拟地址空间中释放或分解内存,操作$4000分解$8000释放(大小为0)
虚拟锁定VirtualLock虚拟锁定(地址,大小)虚拟地址空间的指定区域锁定到内存中
虚拟保护VirtualProtect虚拟保护(地址,大小,保护,@旧)更改调用进程虚拟地址空间中已提交页面的访问保护(读写权限)
空间保护VirtualProtectEx空间保护(进程,地址,大小,保护,@旧)更改指定进程虚拟地址空间中已提交页面的访问保护(读写权限)
虚拟查询VirtualQuery虚拟查询(地址,结构,大小)查询虚拟地址空间中的一系列页面的信息
空间查询VirtualQueryEx空间查询(地址,结构,大小)查询虚拟地址空间中的一系列页面的信息
虚拟解锁VirtualUnlock虚拟解锁(地址,大小)解锁进程的虚拟地址空间中的指定范围的页面
等多对象WaitForMultipleObjects等多对象(对象数,对象组,等所有,超时)等待一个或所有指定的对象处于信号状态或超时间隔已过。
等列对象WaitForMultipleObjectsEx等列对象(对象数,对象组,等所有,超时,排队)等待一个或所有指定的对象处于信号状态、I/O 完成例程或异步过程调用 (APC) 排队到线程,或超时间隔已过。
等单对象WaitForSingleObject等单对象(对象,毫秒)等待指定的对象处于信号状态或超时间隔已过。
等待对象WaitForSingleObjectEx等待对象(对象,毫秒,排队)等待指定的对象处于信号状态、I/O 完成例程或异步过程调用 (APC) 排队到线程,或超时间隔已过。
等待管道WaitNamedPipeA等待管道(名称,毫秒)等待超时间隔过去或指定命名管道的实例可用于连接;超时为0是默认,-1是无限等待
运行WinExec运行(命令,显示)命令是程序路径,若有参数加空格.显示参见窗口显示方式
Win32常用函数-user32库
中文名称英文名称示例作用
激活布局ActivateKeyboardLayout激活布局(处理,标志)接受输入法区域标识,用于标识语言环境以及键盘的物理布局。处理=1下个;0上个;标志=8开头排序 $40000000重置 $10000大写锁定 $100激活窗口焦点
调整窗口AdjustWindowRect调整窗口(矩形,样式,菜单)依据所需客户矩形的大小以及风格样式是否有菜单,计算需要的窗口矩形的大小。
动画窗口AnimateWindow动画窗口(窗口,时间,选项)选项有十余种动画形式,时间为毫秒
有效窗口AnyPopup有无=有效窗口判断一个被属窗口,可见窗口,顶级弹出窗口,或层叠窗口是否在屏幕上存在。
附加菜单AppendMenuA附加菜单(菜单,样式,标识,内容)将一个新项目附加到指定的菜单栏,下拉菜单,子菜单或快捷菜单。标识是菜单序号或者0文字,4图片,$100附加数据,样式还包括1灰化 2禁用 8复选 $10下拉式 $20垂直线分开列 $40新行列不分开 $800水平分界线
处理线程AttachThreadInput处理线程(源线程,目标,方式)将一个线程的处理机制附加到另一个线程。方式为真是附加,否则是分离
多窗位置BeginDeferWindowPos结构=多窗位置(窗口数)返回指定数量窗口的位置结构信息
开始绘图BeginPaint开始绘图(窗口,绘图区)为指定窗口进行绘图工作的准备,并用将和绘图有关的信息填充到一个绘图区类结构中
阻塞输入BlockInput阻塞输入(真)阻塞键盘及鼠标事件到达应用程序。参数为真将被阻塞,参数为假不被阻塞。
窗口置顶BringWindowToTop窗口置顶(窗口)将指定的窗口置于Z顺序的顶部。如果窗口是顶级窗口,它将被激活
系统消息BroadcastSystemMessageA系统消息(选项,消息,标识,参数,数据)广播系统消息。可以向应用程序,驱动程序,网络驱动,系统设备等系统组件发送消息。
消息挂钩CallMsgFilterA消息挂钩(消息类,代码)将指定的消息和挂钩代码传递给相关联的钩子过程
继续挂钩CallNextHookEx继续挂钩(钩子,代码,参数,数据)将钩子信息传递给当前钩子链中的下一个钩子过程
消息传递CallWindowProc消息传递(原址,窗口,消息,参数,数据)将程序原来处理消息的函数信息传递到指定的窗口过程
层叠子窗CascadeChildWindows层叠子窗(窗口,方式)层叠指定窗体的全部子窗口
级联窗口CascadeWindows级联窗口(窗口,方式,矩形,数量,数组)将指定的窗口或指定父窗口的子窗口级联。方式2防止级联被禁子窗4按Z序排列.后三个参数可选
更换屏显ChangeDisplaySettingsA更换屏显(设备模式类,0)将默认显示设备的设置更改为指定的图形模式(屏幕显示分辨率等)。
按钮复选CheckDlgButton按钮复选(窗口,标识,状态)更改复选按钮控件的状态。0未选1选中2无效(灰色)
按钮单选CheckRadioButton按钮单选(窗口,首个,最后,标识)包含第一个和最后一个单选按钮的标识,这组按钮中只允许第四参数指定的标识按钮为选中
菜单复选CheckMenuItem菜单复选(菜单,项,状态)将指定菜单项的复选标记属性的状态设置为选定或清除。0未选1灰色2禁用8选中$400相对菜单项
菜单单选CheckMenuRadioItem菜单单选(窗口,首个,最后,标识,选项)选中第四参数的菜单项。首个到末尾的其它项清除选中。选项0标识$400相对位置
坐标子窗ChildWindowFromPoint子窗=坐标子窗(父窗,坐标)返回父窗口中包含了指定点的第一个子窗口的句柄。
坐标某窗ChildWindowFromPointEx子窗=坐标某窗(父窗,坐标,跳过)返回父窗口中包含了指定点的子窗口的句柄。0不跳1跳过隐藏,2跳过禁用4跳过透明
转小写CharLowerA小写字=转小写("AASD")把某个字符或字符串转换为小写字母
转换小写CharLowerBuffA转换小写(文字,长度)把文本变量或内存缓冲区按指定长度转换为小写
转大写CharUpperA大写字=转大写("asdf")把某个字符或字符串转换为大写字母
转换大写CharUpperBuffA转换大写(文字,长度)把文本变量或内存缓冲区按指定长度转换为大写
屏幕坐标ClientToScreen屏幕坐标(窗口,坐标)把窗口上的坐标转换成相对于屏幕的坐标
限定光标ClipCursor限定光标(矩形)将光标限定在屏幕上的矩形区域。
关闭桌面CloseDesktop关闭桌面(桌面名)关闭打开的桌面对象句柄
关闭窗口CloseWindow关闭窗口(窗口)关该函数最小化指定的窗口,但并不销毁该窗口。
关窗口站CloseWindowStation关窗口站(窗口)关闭一个打开或创建的窗口站句柄。
复制键表CopyAcceleratorTableA复制键表(键表,数组,数量)复制指定的快捷键表到ACCEL快捷键类数组中。
复制图标CopyIcon图标=复制图标(图标)复制一个图标。在源图标被释放时新图标仍然可用
复制图像CopyImage图像=复制图像(图像,类,宽,高,方式)复制一个图像。类=1图标2光标0位图。方式1单色4副本8删除原图
剪切板数CountClipboardFormats数量=剪切板数检索剪贴板上当前不同数据格式的数量。
创建图标CreateIcon创建图标(实例,宽,高,面数,位数,位值,色值)创建一个具有指定大小,位模式和热点的光标。
资源图标CreateIconFromResource资源图标(数据,长度,标志,模式)从资源数据创建一个图标或光标。标志为真是图标,否则光标.模式$2000-Win2x;$30000=Win3x
新建图标CreateIconIndirect新建图标(图标结构)创建一个具有指定大小,颜色和位模式的图标。
创建菜单CreateMenu菜单=创建菜单创建一级空菜单。
建子菜单CreatePopupMenu菜单=建子菜单创建弹出式子菜单。
创建子窗CreateMDIWindowA子窗=创建子窗(类名,标题,样式,左,上,宽,高,父窗,实例,数据)
创建窗口CreateWindowExA窗口=创建窗口(扩展,类名,标题,样式,左,上,宽,高,父窗,菜单/标识,实例,数据)
建窗口站CreateWindowStationA窗口=建窗口站(名称,0,权限,继承)创建一个窗口站对象,将其与调用进程相关联,并将其分配给当前会话。
创建键表CreateAcceleratorTableA键表=创建键表(表组,数目)创建加速器表。
销毁键表DestroyAcceleratorTable创建键表(键表)销毁加速器表。
处理对话DefDlgProcA处理对话(对话,消息,参数,数据)为程序定义的对话框类的窗口过程提供缺省的消息处理
处理框架DefFrameProcA处理框架(窗口,消息,参数,数据)对任何多文档接口(MDI)框架窗口的窗口过程不处理的窗口消息提供缺省处理
处理子窗DefMDIChildProcA处理子窗(窗口,消息,参数,数据)对任何多文档接口(MDI)子窗口的窗口过程不能处理的窗口消息提供缺省处理
处理窗口DefWindowProcA处理窗口(窗口,消息,参数,数据)为程序没有处理的窗口消息提供缺省的处理
创建对话CreateDialogIndirectParamA创建对话(实例,模板,窗口,@回调,数据)从对话框模板创建一个无模式对话框。
资源对话CreateDialogParamA资源对话(实例,模板,窗口,@回调,数据)从对话框模板资源创建一个无模式对话框。
模态对话DialogBoxIndirectParamA模态对话(实例,模板,窗口,@回调,数据)从对话框模板创建一个模态对话框。
资源模态DialogBoxParamA资源模态(实例,模板,窗口,@回调,数据)从对话框模板资源创建一个模态对话框。
删除菜单DeleteMenu删除菜单(菜单,项,选项)从指定的菜单中删除一个项目。选项0标识$400相对位置
创建标记CreateCaret创建标记(窗口,形状,宽,高)在窗口上插入记号形状(可以是线条、块或位图)。
销毁标记DestroyCaret销毁标记从窗口中释放插入符号,并从屏幕中删除插入符号。不释放位图
销毁光标DestroyCursor销毁光标(光标)销毁指定的光标并释放内存
销毁图标DestroyIcon销毁图标(图标)销毁指定的图标并释放内存
销毁菜单DestroyMenu销毁菜单(菜单)销毁指定的菜单并释放内存
销毁窗口DestroyWindow销毁窗口销毁指定的窗口。发送程序关闭消息到窗口并从中删除键盘焦点。
分派消息DispatchMessageA分派消息(消息类)将消息分派给窗口过程。
获取消息GetMessageA获取消息(消息,窗口,首个,最后)从调用线程的消息队列中检索消息,并将其放在指定的消息结构中。
查探消息PeekMessageA查探消息(消息,窗口,首个,最后,标志)从调用线程的消息队列中检索消息,并将其放在指定的消息结构中。标志=0保留消息 1清除消息 2不释放空闲
翻译消息TranslateMessage翻译消息(消息)将虚拟密钥消息转换为字符消息。
额外消息GetMessageExtraInfo信息=额外消息检索当前线程的额外消息信息。
附加消息SetMessageExtraInfo附加消息(信息)设置当前线程的额外消息信息。
游标位置GetMessagePos位置=游标位置检索 获取消息 函数检索的最后一条消息的游标位置。低位是x高位是y
消息时间GetMessageTime时间=消息时间检索 获取消息 函数检索的最后一条消息的时间。
文件列表DlgDirListA文件列表(窗口,路径,列表标识,静态标识,属性)使用与指定路径或文件名匹配的所有文件的名称填充指定的列表框。
文件组合DlgDirListComboBoxA文件组合(窗口,路径,列表标识,静态标识,属性)使用与指定目录列表填充指定的组合框。
文件选择DlgDirSelectComboBoxExA文件选择(窗口,路径,长度,标识)从使用文件组合函数填充的组合框中获取当前选择的路径。
文件选表DlgDirSelectExA文件选表(窗口,路径,长度,标识)从使用文件列表函数填充的列表框中获取当前选择的路径。
拖曳检测DragDetect拖曳检测(窗口,初始坐标)捕获鼠标并跟踪其移动,直到用户释放左键、按 ESC 键或将鼠标移动到拖动矩形外的指定点。
窗口动画DrawAnimatedRects窗口动画(窗口,3,最小矩形,还原矩形)为窗口的标题设置动画,以指示图标的打开或窗口的最小化或最大化。
绘制标题DrawCaption绘制标题(窗口,设备,矩形,选项)为窗口的指定设备的矩形内绘制标题文本。选项1活动 2小标题 4带图标 8带标题 $10按钮形式 $1000带按钮
绘制边缘DrawEdge绘制边缘(设备,矩形,边类,选项)绘制矩形的一条或多条边。1凸起外边 2下沉外缘 4凸起内边 8凹陷内缘 选项1左边 2顶边 4右边 8底边 $10对角边 $800填充 $1000软边 $2000收缩 $4000扁平 $8000一维
画焦点框DrawFocusRect画焦点框(设备,矩形)绘制一个具有焦点的样式矩形。
框架控件DrawFrameControl框架控件(设备,矩形,样式,初始)绘制指定类型和样式的控件。样式1标题 2菜单 3滚动条 4按钮 5弹出菜单
绘制框架DrawFrame绘制框架(设备,矩形,样式,初始)绘制指定类型和样式的控件。
绘制图标DrawIcon绘制图标(设备,左,上,图标)在限定的设备窗口的客户区域绘制图标。
画菜单栏DrawMenuBar画菜单栏(窗口)如果窗口的菜单条被修改,则必须调用此函数来画修改了的菜单条。
绘制文本DrawTextA绘制文本(设备,文字,字数,矩形,格式)在指定的矩形中绘制格式化文本。格式0左顶对齐 1水平居中 2居右 4垂直居中 8居底 $10断词 $20单行 $40宽制表 $89-$8F制表符位 $100不剪切 $200含外部行距 $400限定宽高 $800前缀无效 $100000忽略前缀
查找窗口FindWindowA窗口=查找窗口(类名,标题名)通过类名或者标题名查找程序窗口
闪烁窗口FlashWindow闪烁窗口(窗口,模式)模式为真时切换窗口标题
控制菜单EnableMenuItem控制菜单(菜单,项,选项)允许、禁止或变灰指定的菜单条目。0未选1灰色2禁用8选中$400相对菜单项
控制滚条EnableScrollBar控制滚条(控件,方向,激活)允许、禁止或变灰指定的菜单条目。方向0水平箭头 1垂直箭头 2滑块 3双箭头;激活=0箭头有效 1左或上箭头无效 2右或下箭头无效 3都无效
控制多窗EndDeferWindowPos控制多窗(多窗位置(n))在一个单一的屏幕刷新周期内同时更新一个或多个窗口的位置和大小。
控制窗口EnableWindow控制窗口(窗口,真)启用或禁用鼠标和键盘输入到指定的窗口或控件
结束模态EndDialog结束模态(窗口,真)结束模态对话框
结束菜单EndMenu结束菜单结束程序窗口的菜单
结束绘制EndPaint结束绘制(窗口,绘制区)结束程序窗口的绘制工作
枚举子窗EnumChildWindows枚举子窗(窗口,@回调函数,0)枚举指定窗口的所有子窗口,并将窗口句柄传送给应用程序定义的回调函数。
枚举全窗EnumDesktopWindows枚举全窗(桌面,@回调函数,0)枚举指定桌面的所有窗口,并将窗口句柄传送给应用程序定义的回调函数。
枚举桌面EnumDesktopsA枚举桌面(桌面,@回调函数,0)枚举指定桌面的所有窗口,并将窗口句柄传送给应用程序定义的回调函数。
枚举显屏EnumDisplayMonitors枚举显屏(设备,矩形,@回调,参数)枚举显示监视器(包括与镜像驱动程序关联的不可见伪监视器)
显屏设备EnumDisplayDevicesA显屏设备(设备名,序号,信息,标志)获取有关当前会话中显示设备的信息。标志1取设备接口名称
显屏模式EnumDisplaySettingsA显屏模式(设备名,方式,模式类)检索有关显示设备的图形模式之一的信息。方式=-1当前设置 -2注册表
枚举线程EnumThreadWindows枚举线程(线程,@回调函数,0)枚举指定线程的相关窗口,并将窗口句柄传送给应用程序定义的回调函数。
枚举窗口EnumWindows枚举窗口(@回调函数,0)枚举所有屏幕上的顶层窗口,并将窗口句柄传送给应用程序定义的回调函数。
枚举属性EnumPropsA枚举属性(窗口,@回调函数)枚举窗口的属性列表中的所有条目。
有效剪切EnumClipboardFormats有效剪切(格式)判断指定格式的剪切板是否可用
清剪切板EmptyClipboard清剪切板清空剪贴板,所有权分配给当前打开剪贴板的窗口
开剪切板OpenClipboard开剪切板(窗口)打开剪贴板进行检查,并阻止其他程序修改剪贴板内容
关剪切板CloseClipboard关剪切板关闭剪贴板,使其他窗口或程序能访问剪贴板。
读剪切板GetClipboardData数据=读剪切板(格式)以指定的格式从剪贴板中获得数据,格式1文字2位图3图元4链接5软件数据
写剪切板SetClipboardData写剪切板(格式,数据)以指定的格式向剪贴板写入数据,格式6.TIFF图像7.OEM字符8.DIB图片
剪切板名GetClipboardFormatNameA剪切板名(格式,名称,长度)从剪贴板中检索指定注册格式的名称。
剪切板号GetClipboardSequenceNumberA序号=剪切板号检索当前窗口站的剪贴板序列号。
取剪切窗GetClipboardViewer窗口=取剪切窗检索剪贴板查看器链中第一个窗口的句柄。
改剪切窗SetClipboardViewer改剪切窗(窗口)将指定的窗口添加到剪贴板查看器链中。
查剪切窗GetOpenClipboardWindow窗口=查剪切窗检索当前已打开剪贴板的窗口的句柄。
剪切格式GetPriorityClipboardFormat格式=剪切格式(格式,数目检索指定列表中第一个可用的剪贴板格式。
可用剪板GetUpdatedClipboardFormats可用剪板(格式组,数量,数目)检索当前支持的剪贴板格式。
粘贴格式IsClipboardFormatAvailable粘贴格式(格式)确定剪贴板是否包含指定格式的数据。格式9调色板10画笔
11音频12波形声音13宽字符14增强图元15文件列表
注册剪板RegisterClipboardFormatA注册剪板(格式名)注册新的剪贴板格式。用作有效的剪贴板格式。
删除剪板RemoveClipboardFormatListener删除剪板(窗口)从系统维护的剪贴板格式侦听器列表中删除给定窗口。
比较矩形EqualRect比较矩形(矩形1,矩形2)通过比较其左上角和右下角的坐标来确定两个指定的矩形是否相等。
填充矩形FillRect填充矩形(设备,矩形,笔刷)使用指定的画笔填充一个矩形。不包括矩形的右侧和底部边框。
画矩形框FrameRect画矩形框(设备,矩形,笔刷)使用指定的画笔在指定的矩形周围绘制一像素的边框。
排除更新ExcludeUpdateRgn排除更新(设备,窗口)从剪切区域中排除窗口中的更新区域来防止在窗口的无效区域内绘制
活动窗口GetActiveWindow窗口=活动窗口获得与当前进程的活动窗口
激活窗口SetActiveWindow激活窗口(窗口)激活一个位于前台的窗口,并置顶.后台窗口无效.
鼠标窗口GetCapture窗口=鼠标窗口取得捕获了鼠标的窗口(如果存在)的句柄
捕获鼠标SetCapture捕获鼠标(窗口)让指定窗口捕获鼠标,所有的鼠标输入都被定向到该窗口
闪烁时间GetCaretBlinkTime毫秒=闪烁时间获取插入字符标记闪烁的时间毫秒数
时间闪烁SetCaretBlinkTime时间闪烁(时间)设置插入字符标记闪烁的时间毫秒数
插入位置GetCaretPos插入位置(坐标)获取插入标记的位置到指定坐标上。
位置标记SetCaretPos位置标记(x,y)将插入标记移动到指定坐标上。
取类信息GetClassInfoA取类信息(实例,类名,信息)获取有关窗口类的信息。
获取类值GetClassLongA值=获取类值(窗口,位置)获取指定窗口所属类结构的指定偏移位置的数值
修改类值SetClassLongA修改类值(窗口,位置,新值)修改指定窗口所属类结构的指定偏移位置的数值
获取类名GetClassNameA值=获取类名(窗口,名称,长度)获取指定窗口所属类结构的类名
取客户区GetClientRect取客户区(窗口,坐标)获取窗口的客户区域的矩形坐标。
取光标区GetClipCursor取光标区(矩形)检索限制光标的矩形区域的屏幕坐标。
取组合框GetComboBoxInfo取组合框(窗口,信息)检索有关指定组合框的信息。
游标信息GetCursorInfo游标信息(信息)检索有关全局游标的信息。
获取游标GetCursor光标=获取游标获得以当前游标的句柄
更换游标SetCursor更换游标(光标)更换当前游标的形状
读取光标GetCursorPos读取光标(位置)获得当前鼠标的位置
光标位置SetCursorPos光标位置(水平,垂直)修改当前鼠标的位置
字符宽高GetDialogBaseUnits宽高=字符宽高检索系统的对话框基本单位,即系统字体中字符的平均宽度和高度。
控件标识GetDlgCtrlID标识=控件标识(控件)返回指定控件的标识符。
获取控件GetDlgItem控件=获取控件(窗口,标识)通过标识获取窗体上的子窗控件
取控件数GetDlgItemInt数=取控件数(窗口,标识,@成功,符号)获取对话框控件的标题文本,并转换为数字,符号为真包含负数
改控件数SetDlgItemInt改控件数(窗口,标识,数值,符号)用指定数值修改对话框控件的标题文本(数字自动转文本),符号为假不检查"-"符号
取控件字GetDlgItemTextA取控件字(窗口,标识,内容,长度)获取对话框控件的文本和标题
改控件字SetDlgItemTextA改控件字(窗口,标识,内容)修改对话框控件的文本和标题
取设备GetDC设备=取设备(窗口)获得指定窗口的客户端区域的显示设备句柄
桌面窗口GetDesktopWindow桌面=桌面窗口返回Windows桌面窗口的句柄
双击时间GetDoubleClickTime毫秒=双击时间获得鼠标当前的双击时间间隔的毫秒数
设置双击SetDoubleClickTime设置双击(毫秒)设置鼠标当前的双击时间间隔的毫秒数
焦点窗口GetFocus窗口=焦点窗口获取具有键盘焦点的窗口句柄
设置焦点SetFocus设置焦点(窗口)将键盘焦点设置为指定的窗口
前台窗口GetForegroundWindow窗口=前台窗口获得前台窗口的句柄(用户当前正在使用的窗口)
窗口置顶SetForegroundWindow窗口置顶(窗口)让指定窗口的线程放入前台并激活该窗口
界面信息GetGUIThreadInfo界面信息(线程,信息)获得有关活动窗口或指定 GUI 线程的信息。
界面计数GetGuiResources计数=界面计数(进程,方式)获得指定进程正在使用的图形用户界面对象的句柄计数。方式=0界面计数 1用户计数 2界面峰值 4用户峰值
最后活动GetLastActivePopup窗口=最后活动(窗口)确定指定窗口拥有的哪个弹出窗口最近处于活动状态。
每列项数GetListBoxInfo项数=每列项数(列表)获得指定列表框中每列的项目数
图标信息GetIconInfo图标信息(样式,信息)获得指定形式图标的信息
输入状态GetInputState状态=输入状态获得指定形式图标的信息
取代码页GetKBCodePage页码=取代码页返回当前代码页。
按键开关GetAsyncKeyState状态=按键开关(键码)确定在调用函数时键是打开还是关闭
键名密钥GetKeyNameTextA键名密钥(键值,名称,长度)检索表示键名称的字符串。
按键状态GetKeyState状态=按键状态(键码)检索指定虚拟键的状态。状态指定键是向上、向下还是切换
取输入法GetKeyboardLayout标识=取输入法(线程)检索活动输入法区域设置标识符(以前称为键盘布局)
输入法表GetKeyboardLayoutList输入法表(数量,表组)检索输入法区域设置标识符到指定的缓冲区。
输入法名GetKeyboardLayoutNameA输入法名(名称)检索系统的活动输入法区域设置标识符的名称。
键盘状态GetKeyboardState键盘状态(键表)将 256 个虚拟密钥的状态复制到指定的缓冲区。
输入键盘SetKeyboardState输入键盘(键表)将键盘键状态数组复制到调用线程的键盘输入状态表中。
输入时间GetLastInputInfo输入时间(信息)检索上次输入事件的时间。
键盘类型GetKeyboardType信息=键盘类型(种类)检索有关当前键盘的信息。种类0=键盘 1子键盘 2功能键
显屏信息GetMonitorInfoA显屏信息(显示器,信息)检索有关显示监视器的信息。
获取菜单GetMenu菜单=获取菜单(窗口)返回分配给指定窗口的菜单的句柄。
设置菜单SetMenu设置菜单(窗口,菜单)将新菜单分配给指定的窗口。
图标尺寸GetMenuCheckMarkDimensions宽高=图标尺寸返回默认复选标记位图的尺寸。在菜单项旁边显示位图前,先获取大小。返回值低位是宽度,高位是高度
取菜单条GetMenuBarInfo取菜单条(窗口,选项,序号,信息)检索有关指定菜单栏的信息。选项=-1系统菜单 -4弹出菜单 -3普通菜单
菜单默认GetMenuDefaultItem项=菜单默认(菜单,方式,选项)返回指定菜单上的默认菜单项。方式为真获取位置,为假获取标识。选项1含禁用 2搜索打开菜单
默认菜单SetMenuDefaultItem默认菜单(菜单,项,方式)返回指定菜单上的默认菜单项。方式为真指定位置,为假指定标识。
取菜单数GetMenuItemCount数=取菜单数(菜单)返回指定菜单中的项目数
菜单信息GetMenuInfo菜单信息(菜单,菜单类)获取指定菜单的信息。
信息菜单SetMenuInfo信息菜单(菜单,菜单类)设置指定菜单的信息。
菜单帮助GetMenuContextHelpIdid=菜单帮助(菜单)返回指定菜单中的帮助上下文标识符
帮助菜单SetMenuContextHelpId帮助菜单(菜单,id)修改指定菜单中的帮助上下文标识符
菜单标识GetMenuItemID标识=菜单标识(菜单,位置)返回指定菜单中指定位置的菜单标识符
菜单图片SetMenuItemBitmaps菜单图片(菜单,项,方式,未选,选图)将指定的位图与菜单项相关联。方式0项为标识,$400位置
取菜单项GetMenuItemInfoA取菜单项(菜单,项,方式,菜单项类)获取有关菜单项的信息。方式为真指定位置,为假指定标识。
改菜单项SetMenuItemInfoA改菜单项(菜单,项,方式,菜单项类)修改有关菜单项的信息。方式为真指定位置,为假指定标识。
菜单边框GetMenuItemRect菜单边框(窗口,菜单,位置,矩形)检索指定菜单项的边框。
菜单标志GetMenuState菜单标志(菜单,项,方式)检索与指定菜单项关联的菜单标志。方式0项为标识,$400位置
取子菜单GetSubMenu取子菜单(菜单,位置)检索由指定菜单项激活的下拉菜单或子菜单的句柄。
载入菜单LoadMenuA菜单=载入菜单(实例,资源)从可执行文件中加载指定的菜单资源
加载菜单LoadMenuIndirectA菜单=加载菜单(模板)在内存中加载指定的菜单模板。
分离菜单RemoveMenu分离菜单(菜单,项,方式)删除菜单项或从指定菜单中分离子菜单。方式0项为标识,$400位置
菜单标题GetMenuStringA菜单标题(菜单,项,内容,长度,方式)将指定菜单项的文本字符串复制到指定的缓冲区中。方式0项为标识,$400位置
取主菜单GetSystemMenu取主菜单(菜单,重置)使应用程序能够访问系统菜单(也称为开始菜单或控制菜单)以进行复制和修改。
改主菜单SetSystemMenu改主菜单(菜单,位置)使应用程序能够访问系统菜单(也称为开始菜单或控制菜单)以进行复制和修改。
突出菜单HiliteMenuItem突出菜单(窗口,菜单,项,方式)在菜单栏中的项中添加或删除突出显示。方式 $400相对位置 $80突出显示 0不突出/标识
插入菜单InsertMenuA插入菜单(菜单,项,方式,标识,名称)将新菜单项插入到菜单中,并将其他项向下移动菜单。方式 $400相对位置 0标识
插菜单项InsertMenuItemA插入菜单(菜单,项,方式,信息)在菜单中的指定位置插入新菜单项。方式为真时项是相对位置
是否菜单IsMenu是否菜单(菜单)判断是否一个菜单
鼠标轨迹GetMouseMovePoints鼠标轨迹(大小,结构,缓冲,点数,方式)用来最多 64 个鼠标或笔的先前坐标的历史记录。方式=1分辨率 2像素点
前后控件GetNextDlgGroupItem前后控件(窗口,起始,向前)检索对话框中指定起始控件之前或后一个控件的句柄。向前为假是向后
前后切换GetNextDlgTabItem前后切换(窗口,起始,向前)检索对话框中指定起始控件之前或后一个具有WS_TABSTOP样式控件的句柄。向前为假是向后
取父窗口GetParent窗口=取父窗口(窗口)检索指定窗口的父窗口或所有者的句柄。
改父窗口SetParent改父窗口(子窗,父窗)更改指定子窗口的父窗口。
取窗口站GetProcessWindowStation站=取窗口站返回与调用进程相关联的窗口工作站的句柄。
改窗口站SetProcessWindowStation改窗口站(站)将指定的窗口站分配给调用进程。
窗口属性GetPropA属性=窗口属性(窗口,名称)从给定窗口的属性列表中检索指定原子或名称的数据句柄。
属性窗口SetPropA属性窗口(窗口,名称,数值)在指定窗口的属性列表中添加新条目或更改现有条目。已存在则替换
删除属性RemovePropA删除属性(窗口,名称)从指定窗口的属性列表中删除条目。
队列消息GetQueueStatus消息=队列消息(标志)返回指示在调用线程的消息队列中找到的消息类型的标志。高位是当前消息,低位是之前消息
读滚动条GetScrollBarInfo读滚动条(窗口,方式,信息)检索有关指定滚动条的信息。方式=-4控件 -5垂直 -6水平
读滚动区GetScrollInfo读滚动区(窗口,方式,信息)获取滚动条的参数,包括最小和最大滚动位置、页面大小以及滚动框的位置。方式=2控件 1垂直 0水平
改滚动区SetScrollInfo改滚动区(窗口,方式,信息)设置滚动条的参数,包括最小和最大滚动位置、页面大小以及滚动框的位置。方式=2控件 1垂直 0水平
读滚动位GetScrollPos位置=读滚动位(窗口,方式)检索有关指定滚动条的滑块位置。方式=2控件 1垂直 0水平
改滚动位SetScrollPos改滚动位(窗口,方式,位置,重绘)设置滚动框(滑块)在指定滚动条中的位置。方式=2控件 1垂直 0水平;重绘是真或假
读滚动框GetScrollRange读滚动位(窗口,方式,最小,最大)检索有关指定滚动条的当前最小和最大滚动框位置。方式=2控件 1垂直 0水平
改滚动框SetScrollRange改滚动位(窗口,方式,最小,最大,重绘)设置有关指定滚动条的当前最小和最大滚动框位置。方式=2控件 1垂直 0水平
取元素色GetSysColor取元素色(元素)检索指定的显示元素的当前颜色。
改元素色SetSysColor改元素色(数量,元素组,颜色组)修改指定的显示元素的当前颜色。
取颜色刷GetSysColorBrush取颜色刷(元素)检索一个标识对应于指定颜色索引的逻辑画笔的句柄。
系统配置GetSystemMetrics数值=系统配置(参数)检索各种系统指标和系统配置设置。
文字宽高GetTabbedTextExtentA宽高=文字宽高(设备,文字,字数,制表位数,制表位组)计算字符串的宽度和高度。
线程桌面GetThreadDesktop桌面=线程桌面(线程)返回与指定线程关联的桌面的句柄。
取标题栏GetTitleBarInfo取标题栏(窗口,信息)检索有关指定标题栏的信息。
顶部窗口GetTopWindow窗口=顶部窗口(窗口)窗口参数为0时返回Z序顶部的窗口,否则返回指定窗口的顶序子窗口.
最小矩形GetUpdateRect最小矩形(窗口,矩形,擦除)检索完全包围指定窗口的更新区域的最小矩形的坐标。擦除为真会擦除背景
更新区域GetUpdateRgn更新区域(窗口,区域,擦除)通过将窗口复制到指定区域来检索窗口的更新区域。擦除为真会擦除背景
滚动矩形ScrollDC滚动矩形(设备,水平,垂直,滚动矩形,剪切矩形,区域,更新矩形)水平和垂直滚动一个位矩形。
滚动窗口ScrollWindow滚动窗口(窗口,水平,垂直,滚动矩形,剪切矩形)滚动指定窗口的工作区的内容。
显示滚动ShowScrollBar显示滚动(窗口,方式,真)显示或隐藏指定的滚动条。方式=2控件 1垂直 0水平 3水平和垂直
获取窗口GetWindow窗口=获取窗口(窗口,关系)返回与指定窗口有特定关系的窗口句柄,如同级首个,同级最后,同级下个等
窗口设备GetWindowDC设备=窗口设备(窗口)返回与指定窗口的环境设备句柄,设备环境覆盖了整个窗口,例如标题栏、菜单、滚动条,以及边框。
取窗口值GetWindowLongA值=取窗口值(窗口,偏移)获得指定窗口结构指定偏移位置的数值
改窗口值SetWindowLongA改窗口值(窗口,偏移,数值)修改结构指定偏移位置的数值
取窗口字GetWindowTextAln=取窗口字(窗口,内容,长度)获得指定窗口标题文字
改窗口字SetWindowTextAln=改窗口字(窗口,内容)修改指定窗口的标题文字
窗口字长GetWindowTextLengthAln=窗口字长(窗口)获得指定窗口的标题栏文本或者控件文本的长度
窗口路径GetWindowModuleFileNameA窗口路径(窗口,路径,长度)获得指定窗口的运行程序的完整路径和文件名称。
窗口边界GetWindowRect窗口边界(窗口,矩形)获得指定窗口边界矩形的尺寸
窗口区域GetWindowRgn窗口区域(窗口,区域)获得指定窗口边界矩形的区域
区域窗口SetWindowRgn区域窗口(窗口,区域,重绘)设置指定窗口边界矩形的区域,重绘为真/假
窗口进程GetWindowThreadProcessId线程ID=窗口进程(窗口,@进程ID)获得指定窗口的线程ID,以及进程ID(可选)
隐藏标记HideCaret隐藏标记(窗口)从屏幕上移除插入记号。隐藏插入记号不会破坏其当前形状或使插入点失效。
显示标记ShowCaret显示标记(窗口)使插入记号在屏幕上的插入记号当前位置可见。当插入记号变得可见时,它开始自动闪烁。
交叉矩形IntersectRect交叉矩形(目标,矩形1,矩形2)计算矩形1和矩形2两个矩形是否有交叉,把交叉范围写入目标矩形
重绘矩形InvalidateRect重绘矩形(窗口,矩形,清背景)表示必须重新绘制的窗口的客户区域的部分
重绘区域InvalidateRgn重绘区域(窗口,区域,清背景)计示必须重新绘制的窗口的客户区域的部分
反色区域InvertRect反色区域(设备,区域)对矩形内部的每个像素的颜色值执行逻辑反转(反色)
框体消息IsDialogMessageA框体消息(窗口,消息)确定消息是否针对指定的对话框,如果是,则处理消息。
按钮信息IsDlgButtonChecked按钮信息(窗口,标识)确定按钮控件是否在其旁边有复选标记,还是三态按钮控件是否为灰色,已选中或两者都不是。
是否最小IsIconic是否最小(窗口)判断给定的窗口句柄是否为最小化的窗口
是否矩形IsRectEmpty是否矩形(矩形)确定指定的矩形是否为空。指矩形的边界范围是否正常的矩形
是否窗口IsWindow是否窗口(窗口)判断给定的窗口句柄是否为已存在的窗口
可用窗口IsWindowEnabled可用窗口(窗口)判断指定的窗口是否允许接受键盘或鼠标输入
可见窗口IsWindowVisible可见窗口(窗口)判断给定的窗口句柄是否显示
是否最大IsZoomed是否窗口(窗口)判断窗口是否是最大化的窗口
创建计时CreateSystemTimer计时=创建计时(毫秒,@回调)创建一个指定时间的系统计时器
删除计时KillSystemTimer删除计时(计时)删除指定标识的计时器
删除定时KillTimer删除定时(窗口,标识)删除指定标识的定时器
设置定时SetTimer设置定时(窗口,标识,毫秒,@回调)创建指定时间的定时器,无窗口可忽略标识
载入键表LoadAcceleratorsA载入键表(实例,表名)加载指定的键盘码表。
载入位图LoadBitmapA图片=载入位图(实例,资源)从可执行文件中加载指定的位图资源
载入光标LoadCursorA光标=载入光标(实例,资源)从可执行文件中加载指定的光标资源
加载光标LoadCursorFromFileA光标=加载光标(文件名)加载光标文件或者系统光标号
载入图标LoadIconA图标=载入图标(实例,资源)从可执行文件中加载指定的图标资源
加载图像LoadImageA图像=加载图像(实例,文件名,类型,宽,高,标志)类型:0位图,1图标,2光标;读取文件实例=0;标志:1黑白图像,$10加载文件,$20取透明色,
$40系统默认宽高,$80真VGA,$1000灰底纹3D颜色,$2000 DIB节位图,$8000共享映像资源
开输入法LoadKeyboardLayoutA开输入法(名称,标识)将新的输入法区域设置标识符加载到系统中。标识=1激活当前 2放到首选 8放到开头 $80激活刚才 $10替换已有
关输入法UnloadKeyboardLayout关输入法(标识)卸载输入法区域设置标识符
载入文字LoadStringA载入文字(模块,标识,内容,长度)从可执行文件中加载字符串资源
禁止绘图LockWindowUpdate禁止重绘(窗口)在指定的窗口中禁用或重新启用绘图更新,窗口参数为0启用绘图
锁工作站LockWorkStation锁工作站锁定工作站的显示。锁定工作站可防止未经授权使用。
查找图标LookupIconIdFromDirectory资源=查找图标(目录,真)在图标或光标资源组中搜索最适合当前显示设备的图标或光标(假)。目录=12光标目录 14图标目录
转换像素MapDialogRect转换像素(窗口,矩形)将指定的对话框单位转换为屏幕单位(像素)。将指定矩形中的坐标替换为转换后的屏幕单位
转换键码MapVirtualKeyA值=转换键码(代码,翻译)将虚拟键代码映射为扫描代码或字符值,或将扫描代码转换为虚拟键代码。翻译=0虚拟密钥转扫描码 1扫描码转虚拟键码 2虚拟键码转字符值加密钥 3扫描码转虚拟键码分左右键
转换窗点MapWindowPoints转换窗点(源窗,到窗,点组,点数)将一组点从一个窗口的坐标空间转换(映射)到另一个窗口的坐标空间。
定位菜单MenuItemFromPoint定位菜单(窗口,菜单,坐标)获取指定位置的子菜单
修改菜单ModifyMenuA修改菜单(菜单,项,方式,标识,内容)更改现有菜单项。此函数用于指定菜单项的内容、外观和行为。方式为$400相对位置项
提示音MessageBeep提示音(0)播放一个提示音,16 32 48 64有文件则是不同声音,其它数字都一样声
信息框MessageBoxA信息框(窗口,内容,标题,样式)弹出一个消息框,样式通过数字控制
消息框MessageBoxIndirectA消息框(消息类)弹出一个消息框,样式通过消息类结构控制
延时框MessageBoxTimeoutA延时框(0,内容,标题,样式,0,毫秒)弹出一个消息框,超过设定时间未点击则自动关闭
移动窗口MoveWindow移动窗口(窗口,左,顶,宽,高,重绘)改变窗口位置和尺寸
偏移矩形OffsetRect偏移矩形(矩形,左,顶)将指定的矩形移动指定的偏移量。
打开桌面OpenDesktopA打开桌面(名称,限定,继承,方式)返回一个现有桌面的句柄。限定=1允许程序在其它账户运行
恢复窗口OpenIcon恢复窗口(窗口)将最小化窗口恢复到其先前的大小和位置;然后激活窗口。
定位子窗RealChildWindowFromPoint定位子窗(父窗,坐标)检索指定点处子窗口的句柄。搜索仅限于直接的子窗口;孙子孙女和更深的后代窗口不会被搜索。
绘制桌面PaintDesktop绘制桌面(设备)在指定的设备场景中描绘桌面墙纸图案
提交消息PostMessageA提交消息(窗口,消息,参数,数据)把消息提交到指定窗口的队列,不等待处理
线程消息PostThreadMessageA线程消息(线程,消息,参数,数据)把消息提交到指定线程的队列,不等待处理
提交退出PostQuitMessage提交退出(码)向程序提交退出的消息,程序在窗体消息的参数收到此退出码
注册窗类RegisterClassA注册窗类(窗口类)注册一个窗口类,用于"创建窗口"
注册热键RegisterHotKey注册热键(窗口,标识,修饰,键码)定义当前线程的热键
注销热键UnregisterHotKey注销热键(窗口,标识)释放当前线程的热键
重绘窗口RedrawWindow重绘窗口(窗口,矩形,区域,标志)更新窗口客户区中的指定矩形或区域。区域为0是整个客户区
注册消息RegisterWindowMessageA注册消息(名称)定义一个新的窗口消息,该消息保证在整个系统中是唯一的。发送消息时可以使用消息值。
释放鼠标ReleaseCapture释放鼠标从当前线程中的窗口释放鼠标捕获,并恢复正常的鼠标输入处理
释放设备ReleaseDC释放设备(窗口,设备)释放设备上下文(DC),将其释放供其他应用程序使用。
回应消息ReplyMessage回应消息(结果)回应消息可以让接收消息和发送消息的线程都能继续执行
转换坐标ScreenToClient转换坐标(窗口,坐标)将屏幕上指定点的屏幕坐标转换为客户端坐标
控件消息SendDlgItemMessageA控件消息(窗口,控件,消息,参数,数据)在对话框中向指定的控件发送消息。
发送输入SendInput发送输入(数量,数组,大小)合成击键、鼠标动作和按钮单击。
模拟按键keybd_event模拟按键(键码,硬码,动作,附加)合成击键。系统会生成键盘按下和键盘松开的动作消息。已被淘汰请改用 发送输入
模拟鼠标mouse_event模拟鼠标(动作,左,上,数据,附加)合成鼠标运动和按钮单击。功能已被取代。请改用 发送输入
发送消息SendMessageA发送消息(窗口,消息,参数,数据)将指定的消息发送到窗口或多个窗口。在窗口过程处理该消息之前不返回
发回消息SendMessageCallbackA发回消息(窗口,消息,参数,数据,@回调,定义)将指定的消息发送到窗口或多个窗口。立即返回并把结果传递给回调函数
发出消息SendNotifyMessageA发出消息(窗口,消息,参数,数据)将指定的消息发送到窗口或多个窗口。本线程内在窗口过程处理该消息之前不返回,发给其它线程会立即返回
待回消息SendMessageTimeoutA待回消息(窗口,消息,参数,数据,行为,超时,结果)将指定的消息发送到窗口或多个窗口。并根据指定行为和超时时间返回结果
设置透明SetLayeredWindowAttributes设置透明(窗口,颜色,透明度,方式)用于设置分层窗口透明度,方式0颜色无效1透明无效2均有效
调试级别SetDebugErrorLevel调试级别(级别)用于设置调试事件的最小错误级别,并将其传递给调试器。级别=0不报告 1报告普通错误 2包括小错误 3包括警告
设定错误SetLastErrorEx设定错误(错误,0)设置最后一个错误代码。第二个参数无效。
设置矩形SetRect设置矩形(矩形,左,上,右,下)设置指定矩形的坐标。这等效于将左、上、右和下参数分配给矩形的相应成员。
设空矩形SetRectEmpty设空矩形(矩形)创建一个空矩形,其中所有坐标都设置为零。
设置光标SetSystemCursor设置光标(光标,标识)用指定的游标的替换标识指定的系统游标,然后销毁此游标
设置窗口SetWindowPos设置窗口(窗口,排序,左,顶,宽,高,标志)更改窗口的大小、位置和 Z 顺序。
窗口挂钩SetWindowsHookExA窗口挂钩(钩子,@函数,模块,线程)将应用程序定义的挂接过程安装到挂接链中。
事件挂钩SetWinEventHook事件挂钩(低,高,模块,@函数,进程ID,线程ID,标志)为一系列事件设置事件挂钩函数。
更新分层UpdateLayeredWindow更新分层(窗口,设备,位置,大小,
表面,尺寸,颜色,透明度,方式)
更新一个分层窗口的位置,大小,形状,内容和半透明度
显隐光标ShowCursor显隐光标(真)显示或者隐藏光标
显隐弹出ShowOwnedPopups显隐弹出(窗口,方式)显示或隐藏指定窗口拥有的所有弹出窗口。
显隐窗口ShowWindow显隐窗口(窗口,方式)显示或者隐藏指定窗口
显示方式ShowWindowAsync显示方式(窗口,方式)设置窗口的显示状态,而无需等待操作完成。
减去矩形SubtractRect减去矩形(矩形,矩形1,矩形2)通过从矩形1减去矩形2而形成的矩形。
换左右键SwapMouseButton换左右键(真)反转(真)或恢复(假)鼠标左键和右键的含义。
切换桌面SwitchDesktop切换桌面(桌面)使指定的桌面可见并激活它。
制表写字TabbedTextOutA制表写字(设备,左,上,文字,字数,组数,制表组,制表X)将一个字符串写到指定的位置,并按制表位位置数组里的值展开制表符。
鼠标事件TrackMouseEvent鼠标事件(事件类)当鼠标指针离开窗口或将鼠标悬停在窗口上一段指定时间时寄送消息。
显示菜单TrackPopupMenu显示菜单(菜单,选项,x,y,0,窗口,0)在指定位置显示快捷菜单,并跟踪菜单上项的选择。选项=0左上对齐 2可右键 4对x居中 8居右 $10对y居中 $20底对齐 $80不发单击 $100返回标识
展示菜单TrackPopupMenuEx展示菜单(菜单,选项,x,y,窗口,数据)功能同上,可选数据用来指定不重叠区域.选项动画 $800右到左 $400左到右 $4000不动画 $2000下到上 $1000上到下 $40垂直居中适应不重叠
处理键表TranslateAcceleratorA处理键表(窗口,键表,消息)处理菜单命令的快捷键。
子窗键表TranslateMDISysAccel子窗键表(子窗,消息)处理子窗口的窗口菜单命令的快捷键击键。
事件脱钩UnhookWinEvent事件脱钩(事件)删除由上一次调用 挂钩事件 创建的事件挂钩函数。
窗口脱钩UnhookWindowsHookEx窗口脱钩(钩链)删除通过 窗口挂钩 函数安装在钩子链中的钩子过程。
注销窗类UnregisterClassA注销窗类(类名,实例)注销窗口类,释放该类所需的内存。
等待输入WaitForInputIdle等待输入(进程,毫秒)等待指定的进程完成对其初始输入以及用户输入,直到超时间隔过去。
等待消息WaitMessage等待消息当一个线程的消息队列中没有其他消息时,将控制权交给其他线程。
设备窗口WindowFromDC窗口=设备窗口(设备)返回与指定的显示设备关联的窗口的句柄。
定点窗口WindowFromPhysicalPoint窗口=定点窗口(坐标)检索包含指定点的窗口的句柄。
定位窗口WindowFromPoint窗口=定位窗口(坐标)检索包含指定点的窗口的句柄。
启动帮助WinHelpA启动帮助(窗口,名称,命令,数据)启动 Windows 帮助 (Winhelp.exe) 并传递指示应用程序所请求帮助的性质的其他数据。
更新窗口UpdateWindow更新窗口(窗口)将重绘消息直接发送到指定窗口的窗口过程
合并矩形UnionRect合并矩形(矩形,矩形1,矩形2)合并的矩形包含矩形1和矩形2的最小矩形。
验证矩形ValidateRect验证矩形(窗口,矩形)从指定窗口的更新区域中删除矩形来验证矩形内的工作区。
验证区域ValidateRgn验证区域(窗口,区域)从指定窗口的当前更新区域中删除该区域来验证区域内的工作区。
转虚拟键VkKeyScanA键码=转虚拟键(字符)将字符转换为当前键盘的相应虚拟键代码和 shift 状态。
字转键码VkKeyScanExA键码=转虚拟键(字符,输入法)将字符转换为当前键盘的相应虚拟键代码和 shift 状态。由输入法标识的物理键盘布局来转换字符。
组合式wsprintfA组合式(内容,格式,变量..)将多个变量按照指定格式组合成一个字符串

重绘窗口标志——更新窗口指定矩形或区域

中文名字常量英文名称释义
重绘无效$0001RDW_INVALIDATE使指定区域或整个窗口无效,常用于重绘窗口
重绘内部$0002RDW_INTERNALPAINT使一条WM_PAINT消息被传递到窗口,而不管窗口是否包含一个无效区域。
重绘背景$0004RDW_ERASE使窗口在重画时接收到一个擦除背景消息。
重绘有效$0008RDW_VALIDATE使指定区域或整个窗口有效
重绘禁止$0010RDW_NOINTERNALPAINT禁止任何未处理的内部重绘消息。
重绘防擦$0020RDW_NOERASE禁止任何未处理的WM_ERASEBKGND消息。
重绘当前$0040RDW_NOCHILDREN在重画操作中不包括子窗口
重绘全部$0080RDW_ALLCHILDREN在重画操作中包含子窗口
重绘更新$0100RDW_UPDATENOW使窗口接收到WM_NCPAINT,WM_ERASEBKGND和WM_PAINT消息
重绘擦除$0200RDW_ERASENOW接收到WM_NCPAINT和WM_ERASEBKGND消息
重绘框架$0400RDW_FRAME使窗口非客户区中与更新区域重叠的任何部分接收到一条WM_NCPAINT消息。
重绘禁框$0800RDW_NOFRAME禁止任何未处理的WM_NCPAINT消息。
Win32编程常用函数-advapi32库
中文名称英文名称示例作用
关计算机AbortSystemShutdownA关计算机(机名)关闭本地计算机
访问检查AccessCheck访问检查(安全,令牌,掩码,映射,权集,权长,授权,权限)检查客户端对对象的访问权限。
访问授权AddAccessAllowedAce访问授权(访问,级别,掩码,帐户)将允许访问的访问控制项 (ACE) 添加到访问控制列表 (ACL) 中。访问权限被授予指定的安全标识符 (SID)。
访问拒绝AddAccessDeniedAce访问拒绝(访问,级别,掩码,帐户)将拒绝访问访问控制项添加到访问控制列表中。对指定的安全标识符的访问被拒绝。
访问控制AddAce访问控制(访问,级别,位置,表组,长度)将一个或多个访问控制项添加到指定的访问控制列表。
改令牌组AdjustTokenGroups改令牌组(令牌,默认,权组,长度,状态,大小)启用或禁用指定访问令牌中已存在的组。
令牌权限AdjustTokenPrivileges令牌权限(令牌,禁用,权组,长度,状态,大小)启用或禁用指定访问令牌中的权限。
新建令牌CreateRestrictedToken新建令牌(令牌,选项,数目,用户组删数,删权,新数,新组,新牌)创建一个新的访问令牌,该令牌是现有访问令牌的受限版本。
再造令牌DuplicateToken再造令牌(令牌,级别,新牌)创建一个新的访问令牌,该令牌复制已存在的访问令牌。
令牌信息GetTokenInformation令牌信息(令牌,类集,信息,长度,大小)检索有关访问令牌的指定类型的信息。调用进程必须具有适当的访问权限才能获取信息。
信息令牌SetTokenInformation信息令牌(令牌,类集,信息,长度,大小)为指定的访问令牌设置各种类型的信息。
是否限牌IsTokenRestricted是否限牌(令牌)指示令牌是否包含受限制的安全标识符 (SID) 的列表。
进程令牌OpenProcessToken进程令牌(进程,访问,令牌)打开与进程关联的访问令牌。
线程令牌OpenThreadToken线程令牌(线程,访问,令牌)打开与线程关联的访问令牌。
线程发牌SetThreadToken线程发牌(线程,令牌)将模拟令牌分配给线程。该函数还可能导致线程停止使用模拟令牌。
本地标识AllocateLocallyUniqueId本地标识(LUID)分配本地唯一标识符 (LUID)。
已授全权AreAllAccessesGranted已授全权(授权,请求)检查是否已授予一组请求的访问权限。
已授权限AreAnyAccessesGranted已授权限(授权,请求)测试是否已授予一组请求的访问权限中的任何一项。
备份日志BackupEventLogA备份日志(日志,路径)将指定的事件日志保存到备份文件。该函数不会清除事件日志。
清除日志ClearEventLogA清除日志(日志,路径)清除指定的事件日志,并选择性地将日志的当前副本保存到备份文件。
关闭日志CloseEventLog关闭日志(日志)关闭指定的事件日志。
注销日志DeregisterEventSource注销日志(日志)注销指定的事件日志。
日志数量GetNumberOfEventLogRecords日志数量(日志,@数量)检索指定事件日志中的记录数。
日志编号GetOldestEventLogRecord日志编号(日志,@编号)检索指定事件日志中最旧记录的绝对记录号。
事件通知NotifyChangeEventLog事件通知(日志,事件)使应用程序能够在将事件写入指定的事件日志时接收通知。
打开备份OpenBackupEventLogA打开备份(服务名,路径)打开指定事件日志的句柄。
事件日志OpenEventLogA事件日志(服务名,路径)打开指定事件日志的句柄。
读取日志ReadEventLogA读取日志(日志,选项,序号,内容,长度,大小,0)从指定的事件日志中读取指定数目的条目。该函数可用于按时间顺序或反向时间顺序读取日志条目。
报告事件ReportEventA报告事件(日志,选项,类别,标识,用户,字数,数据,内容,缓冲)从指定的事件日志中读取指定数目的条目。该函数可用于按时间顺序或反向时间顺序读取日志条目。
注册事件RegisterEventSource源=注册事件(机名,源名)取得事件源句柄
匿名令牌ImpersonateAnonymousToken匿名令牌(进程)使指定的线程能够模拟系统的匿名登录令牌。远程访问前使用
模拟登陆ImpersonateLoggedOnUser模拟登陆(令牌)允许调用线程模拟登录用户的安全上下文。
安全令牌ImpersonateSelf安全令牌(级别)获取模拟调用进程的安全上下文的访问令牌。令牌将分配给调用线程。
权限检查PrivilegeCheck权限检查(令牌,权集,权限)确定是否在访问令牌中启用了一组指定的权限。
加密服务CryptAcquireContextA加密服务(@服务,密名,服名,类型,选项)用于获取特定加密服务提供程序(CSP)中特定密钥容器的句柄。
加密引用CryptContextAddRef加密引用(服务,0,0)将一个添加到 HCRYPTPROV 加密服务提供程序 (CSP) 句柄的引用计数中。
创建哈希CryptCreateHash创建哈希(服务,算法,密钥,摘要,@哈希)启动数据流的哈希处理。算法可参见下表,密钥和摘要一般为0
加密解密CryptDecrypt加密解密(密钥,哈希,完成,选项,内容,长度)使用哈希算法对数据内容进行解密(加密的内容解密后写回内容缓冲区和长度),选项$20不检查填充 $40最佳非对称加密填充
派生密钥CryptDeriveKey派生密钥(服务,算法,哈希,选项,@密钥)生成从基本数据值派生的加密会话密钥。
销毁哈希CryptDestroyHash销毁哈希(密钥)销毁指定的哈希对象。
销毁密钥CryptDestroyKey销毁密钥(密钥)销毁指定的密钥对象。
哈希副本CryptDuplicateHash哈希副本(哈希,0,0,@副本)在复制完成后制作哈希的精确副本(包含状态)。
密钥副本CryptDuplicateKey密钥副本(密钥,0,0,@副本)创建密钥和密钥状态的精确副本。
密钥加密CryptEncrypt密钥加密(密钥,哈希,完成,选项,内容,长度,大小)使用指定密钥加密数据。
检索加密CryptEnumProvidersA检索加密(序号,0,0,类型,名称,长度)检索第一个或下一个可用的加密服务,循环检索可遍历所有服务
查加密类CryptEnumProviderTypesA查加密类(序号,0,0,类型,名称,长度)检索第一个或下一个支持类型的加密服务,循环检索可遍历所有服务
导出密钥CryptExportKey导出密钥(密钥,新密,类型,选项,内容,长度)以安全的方式从加密服务中导出加密密钥或密钥对。
生成密钥CryptGenKey生成密钥(服务,算法,选项,@密钥)生成随机加密会话密钥或公钥/私钥对。
加密随机CryptExportKey加密随机(服务,长度,内容)使用加密随机字节填充缓冲区。
默认加密CryptGetDefaultProviderA默认加密(类,0,选项,名称,长度)查找本地计算机或当前用户的指定提供程序类型的默认加密服务提供程序(CSP)。类:1 PROV_RSA_FULL... 选项:1计算机 2用户
加密数据CryptGetHashParam加密数据(哈希,参数,数据,长度,0)检索控制哈希对象操作的数据的哈希值等。参数:1哈希算法 2哈希值 4值大小
加密密钥CryptGetKeyParam加密密钥(密钥,类型,内容,长度,0)检索控制密钥操作的数据。
加密参数CryptGetProvParam加密参数(服务,类型,内容,长度,0)检索控制加密服务操作的参数。
用户密钥CryptGetUserKey用户密钥(服务,私钥,@密钥)检索用户的两个公钥/私钥对之一的句柄。
哈希数据CryptHashData哈希数据(哈希,数据,长度,0)将数据添加到指定的哈希对象。可多次调用
哈希密钥CryptHashSessionKey哈希密钥(哈希,密钥,选项)计算会话密钥对象的加密哈希(可多次调用或者跟"哈希数据"混用)。选项=1小端序(低位数据存储在低位内存)0大端序(数据反向存储)
导入密钥CryptImportKey导入密钥(服务,数据,长度,公钥,选项,@密钥)将加密密钥从密钥数据传输到加密服务。
释放加密CryptReleaseContext释放加密(服务,0)释放加密服务和密钥容器的句柄。
定义哈希CryptSetHashParam定义哈希(哈希,参数,数据,0)自定义哈希对象的操作,包括设置初始哈希内容和选择特定的哈希算法。参数 2:哈希值 5:HMAC信息
定义密钥CryptSetKeyParam定义密钥(哈希,参数,数据,选项)自自定义会话密钥操作的各个方面。参数为 7 KP_ALGID时,选项可以保存密钥大小等值
定默加密CryptSetProviderA定默加密(名称,类型)指定当前用户的默认加密服务提供程序 (CSP)。
定义加密CryptSetProvParam定义加密(服务,参数,数据,选项)自定义加密服务提供程序 (CSP) 的操作。此函数通常用于在与 CSP 关联的密钥容器上设置安全描述符
加密签名CryptSignHashA加密签名(哈希,私钥,0,选项,签名,长度)数据进行哈希处理之后,获取数据加密的签名。选项 1:未设对象标识 4:ANSI X9.31标准
验证签名CryptVerifySignatureA验证签名(哈希,签名数据,长度,公钥,0,选项)验证哈希对象的签名。选项 1:未设对象标识 4:ANSI X9.31标准
解密文件DecryptFileA解密文件(路径,0)解密加密的文件或目录。
加密文件EncryptFileA加密文件(路径)加密文件或目录。目录中所有新文件都将被加密。
打开加密OpenRawA打开加密(路径,选项,@块)打开加密文件以备份(导出)或还原(导入)文件。选项 0备份 1还原 2目录 4覆盖隐藏文件
关闭加密CloseRaw关闭加密(块)在备份或还原操作后关闭加密文件,并释放关联的系统资源。
导出加密ReadRaw导出加密(@回调,块数据,块)备份(导出)加密文件,同时将文件保持在加密状态。回调函数收到三个参数(写数据,块数据,大小)
导入加密WriteRaw导入加密(@回调,块数据,块)恢复(导入)加密文件。回调函数收到三个参数(收数据,块数据,大小)
关闭表项RegCloseKey关闭表项(表项)关闭指定注册表项的句柄。
连接表项RegConnectRegistryA连接表项(机名,主键,@表项)建立与另一台计算机上的预定义注册表项的连接。
创建表项RegCreateKeyA创建表项(主键,子项,@表项)创建指定的注册表项。如果注册表中已存在该项,则该函数将打开它。
删除子项RegDeleteKeyA删除子项(主键,子项)删除注册表子项及其值。子项键名不区分大小写。
删除值名RegDeleteValueA删除值名(主键,值名)从指定的注册表项中删除命名值。值名称不区分大小写。
枚举子项RegDeleteValueA枚举子项(主键,序号,名称,长度)枚举指定的打开的注册表项的子项。(连续查询)
枚举项值RegEnumValueA枚举项值(主键,序号,名称,长度,0,类,数据,大小)枚举指定的打开的注册表项的值。获取指定索引的值名称、数据类型和数据块。
更新表项RegFlushKey更新表项(主键)将指定的打开的注册表项的所有属性写入注册表。
表项信息RegGetKeySecurity表项信息(主键,描述,信息,长度)将指定的打开的注册表项的所有属性写入注册表。
加载子项RegLoadKeyA加载子项(主键,子项,文件名)在HKEY_USERS或HKEY_LOCAL_MACHINE下创建一个子项,并将指定注册表配置单元中的数据加载到该子项中。
表项变动RegFlushKey表项变动(主键,项,选项,事件,返回)通知调用方有关指定注册表项的属性或内容的更改。项为真时包括子项变动,返回为真立即返回,更改通知选项=1子项变更 2密钥属性 4密钥值 8密钥描述
打开表项RegOpenKeyA打开表项(主键,子项,@表项)打开指定的注册表项。
打开表密RegOpenKeyExA打开表密(主键,子项,密符,掩码,@表项)打开指定的注册表项。名称不区分大小写。
映射表项RegOverridePredefKey映射表项(主键,表项)将预定义的注册表项映射到指定的注册表项。
查询表项RegQueryInfoKeyA查询表项(主键,类,0,项数,子项名长,子项类长,值数,值名长,值长,密钥安全描述长,上次写入时间)检索有关指定注册表项的信息。
查询项值RegQueryMultipleValuesA查询项值(主键,值表,值数,数据,长度)检索与打开的注册表项关联的值名称列表的类型和数据。
查询值名RegQueryValueA查询值名(主键,子项,数据,长度)检索与指定注册表项的默认值或未命名值关联的文本数据。
查询值项RegQueryValueExA查询值项(主键,子项,0,类型,数据,长度)检索与打开的注册表项关联的指定值名称的类型和数据。
替换表项RegReplaceKeyA替换表项(主键,子项,新名,旧名)将支持注册表项及其所有子项的文件替换为另一个文件,下次启动系统时,此项使用新文件中。
读取表项RegRestoreKeyA读取表项(表项/主键,文件名,选项)读取指定文件中的注册表信息,并将其复制到指定的注册表项上。选项1不保存 8还原
保存表项RegSaveKeyA保存表项(表项/主键,文件名,属性)将指定的键及其所有子项和值以标准格式保存到新文件中。
改表信息RegSetKeySecurity改表信息(主键,描述,信息)用于设置指定项的安全特性。
修改子项RegSetValueA修改子项(表项,子项,类型,数据,长度)设置指定注册表项的默认值或未命名值的数据。数据必须是文本字符串。
改子项值RegSetValueExA改子项值(表项,值名,0,类型,数据,长度)设置注册表项下指定值的数据和类型。
卸载子项RegUnLoadKeyA卸载子项(表项,子项)从注册表中卸载指定的注册表项及其子项。
注册服务RegisterServiceCtrlHandlerA注册服务(服务名,@处理函数)注册用于处理服务控制请求的函数。
已注事件RegisterEventSourceA已注事件(服务器名,@事件源)检索指定事件日志的已注册句柄。本机为0
开服务库OpenSCManagerA开服务库(计算机,0,权限)打开指定的服务控制管理器数据库。
打开服务OpenServiceA打开服务(服务库,服务名,权限)打开现有服务。
启动服务StartServiceA启动服务(服务,长度,名称)启动服务
开主服务StartServiceCtrlDispatcherA开主服务(服务,长度,名称)将服务进程的main线程连接到服务控制管理器,这会使线程成为调用进程的服务控制调度程序线程。
Win32常用哈希算法对应数值
标识符数值描述
CALG_3DES$6603三重 DES 加密算法。
CALG_3DES_112$6609双密钥三重 DES 加密,有效密钥长度等于 112 位。
CALG_AES$6611高级加密标准 (AES)。此算法受微软AES 加密提供程序支持。
CALG_AES_128$660E128 位 AES。此算法受微软AES 加密提供程序支持。
CALG_AES_192$660F192 位 AES。此算法受微软AES 加密提供程序支持。
CALG_AES_256$6610256 位 AES。此算法受微软AES 加密提供程序支持。
CALG_AGREEDKEY_ANY$AA03Diffie-HellmAn-Agreed keys的句柄的临时算法标识符。
CALG_CYLINK_MEK$660C一种算法,用于创建具有奇偶校验位和归零密钥位的 40 位 DES 密钥,以使其密钥长度为 64 位。此算法受微软基本加密提供程序支持。
CALG_DES$6601DES 加密算法。
CALG_DESX$6604DESX 加密算法。
CALG_DH_EPHEM$AA02Diffie-HellmAn 瞬时密钥交换算法。
CALG_DH_SF$AA01Diffie-HellmAn存储和转发密钥交换算法。
CALG_DSS_SIGN$2200DSA 公钥签名算法。
CALG_ECDH$AA05椭圆曲线 Diffie-HellmAn 密钥交换算法。WinXP和2003不支持。
CALG_ECDH_EPHEM$AE06临时椭圆曲线Diffie-HellmAn密钥交换算法。WinXP和2003不支持
CALG_ECDSA$2203椭圆曲线数字签名算法。WinXP和2003不支持
CALG_ECMQV$A001椭圆曲线美内塞斯、Qu 和 VAnstone (MQV) 密钥交换算法。不支持此算法。
CALG_HASH_REPLACE_OWF$800B单向函数哈希算法。
CALG_HUGHES_MD5$A003休斯 MD5 哈希算法。
CALG_HMAC$8009HMAC 键控哈希算法。此算法受微软基本加密提供程序支持。
CALG_KEA_KEYX$AA04KEA密钥交换算法(FORTEZZA)。不支持此算法。
CALG_MAC$8005MAC 键控哈希算法。此算法受微软基本加密提供程序支持。
CALG_MD2$8001MD2 哈希算法。此算法受微软基本加密提供程序支持。
CALG_MD4$8002MD4 哈希算法。此算法受微软基本加密提供程序支持。
CALG_MD5$8003MD5 哈希算法。此算法受微软基本加密提供程序支持。
CALG_NO_SIGN$2000无签名算法。
CALG_OID_INFO_CNG_ONLY$ffffffff该算法仅在 CNG 中实现。
CALG_OID_INFO_PARAMETERS$fffffffe该算法在编码参数中定义。
CALG_PCT1_MASTER$4C04由 SChAnnel.dll 操作系统使用。应用程序不应使用此ALG_ID。
CALG_RC2$6602RC2 块加密算法。此算法受微软基本加密提供程序支持。
CALG_RC4$6801RC4 流加密算法。此算法受微软基本加密提供程序支持。
CALG_RC5$660DRC5 块加密算法。
CALG_RSA_KEYX$A400RSA 公钥交换算法。此算法受微软基本加密提供程序支持。
CALG_RSA_SIGN$2400RSA 公钥签名算法。此算法受微软基本加密提供程序支持。
CALG_SCHANNEL_ENC_KEY$4C07由 SChAnnel.dll 操作系统使用。应用程序不应使用此ALG_ID。
CALG_SCHANNEL_MAC_KEY$4C03由 SChAnnel.dll 操作系统使用。应用程序不应使用此ALG_ID。
CALG_SCHANNEL_MASTER_HASH$4C02由 SChAnnel.dll 操作系统使用。应用程序不应使用此ALG_ID。
CALG_SEAL$6802SEAL 加密算法。不支持此算法。
CALG_SHA$8004SHA 哈希算法。此算法受微软基本加密提供程序支持。
CALG_SHA1$8004与CALG_SHA相同。此算法受微软基本加密提供程序支持。
CALG_SHA_256$800C256 位 SHA 哈希算法。MiCrosoft EnhAnCed RSA 和 AES 加密提供程序支持此算法。
CALG_SHA_384$800D384 位 SHA 哈希算法。MiCrosoft EnhAnCed RSA 和 AES 加密提供程序支持此算法。
CALG_SHA_512$800E512 位 SHA 哈希算法。MiCrosoft EnhAnCed RSA 和 AES 加密提供程序支持此算法。
CALG_SKIPJACK$660ASkipjACk BloCk enCryption Algorithm (FORTEZZA).不支持此算法。
CALG_SSL2_MASTER$4C05由 SChAnnel.dll 操作系统使用。应用程序不应使用此ALG_ID。
CALG_SSL3_MASTER$4C01由 SChAnnel.dll 操作系统使用。应用程序不应使用此ALG_ID。
CALG_SSL3_SHAMD5$8008由 SChAnnel.dll 操作系统使用。应用程序不应使用此ALG_ID。
CALG_TEK$660BTEK (FORTEZZA).不支持此算法。
CALG_TLS1_MASTER$4C06由 SChAnnel.dll 操作系统使用。应用程序不应使用此ALG_ID。
CALG_TLS1PRF$800A由 SChAnnel.dll 操作系统使用。应用程序不应使用此ALG_ID。
Win32常用函数-shell32库
中文名称英文名称示例作用
命令参数CommandLineToArgvW命令参数(命令,@数量)分析宽字命令行字符串,并返回参数的数组以及参数的数量
环境变量DoEnvironmentSubstA环境变量(内容,长度)分析包含对一个或多个环境变量的字符串,并将其替换为其完全扩展的值。
接受拖曳DragAcceptFiles接受拖曳(窗口,真)登记窗口是否接受拖曳的文件
释放拖曳DragFinish释放拖曳(拖曳)释放系统分配用于将文件名传输到应用程序的内存
查询拖曳DragQueryFileA查询拖曳(拖曳,序号,名称,大小)检索由成功的拖放操作生成的文件名称
拖曳位置DragQueryPoint拖曳位置(拖曳,坐标)检索在拖放操作时鼠标指针的位置
副本图标DuplicateIcon图标=副本图标(实例,图标)创建指定图标的副本。
关联图标ExtractAssociatedIconA关联图标(实例,路径,索引)获取作为资源存储在文件中的图标或存储在文件关联的可执行文件中的图标的句柄。
相关图标ExtractAssociatedIconExA相关图标(实例,路径,索引,编号)获取作为资源存储在文件中的图标或存储在文件关联的可执行文件中的图标的句柄。
文件图标ExtractIconA文件图标(实例,路径,索引)获取指定可执行文件、DLL 或图标文件中图标的句柄。索引从0开始,如果是-1获取图标数
提取图标ExtractIconEx提取图标(路径,索引,大图组,小图组,数量)从指定的可执行文件、DLL 或图标文件中提取的大图标或小图标创建一个句柄数组。
索引从0开始,如果是-1获取图标数
查找程序FindExecutableA实例=查找程序(名称,目录,路径)检索与特定文档文件关联的可执行文件的名称和实例句柄。目录可选
项目跟踪SHAddToRecentDocs项目跟踪(消息,数据)通知系统已访问某个项目,以便跟踪最近和最频繁使用的那些项目。数据为0清除所有使用情况。
应用消息SHAppBarMessage应用消息(消息,数据)向系统发送应用栏消息。
目录选框SHBrowseForFolderA目录选框(目录框类)显示一个对话框,使用户能够选择文件夹。
更新通知SHChangeNotify更新通知(事件,选项,值1,值2)通知系统应用程序已执行的事件。
清回收站SHEmptyRecycleBinA清回收站(窗口,路径,选项)清空指定驱动器上的回收站。选项:1不显确认 2不显进度 4不放声音
格式化框SHFormatDrive格式化框(窗口,盘号,$FFFF,选项)打开命令行管理程序的“格式”对话框。盘号0=A: 2=C: 选项1=快格 2启动盘
文件操作SHFileOperationA文件操作(SHFILEOPSTRUCTA)复制、移动、重命名或删除文件系统对象。
释放映射SHFreeNameMappings释放映射(对象)释放由 文件操作 函数检索的文件名映射对象。
转换数据SHGetDataFromIDListA转换数据(接口,标识,格式,缓冲,大小)从相对标识符列表中检索扩展属性数据。格式:1系统文件;2网络资源;3描述结构体;
桌面接口SHGetDesktopFolder桌面接口(接口)检索桌面文件夹的IShellFolder接口,该文件夹是Shell命名空间的根。
托管实例SHGetInstanceExplorer托管实例(接口)检索允许托管Shell扩展和其他组件防止其主机进程过早关闭的IUnknown接口。
内存实例SHGetMalloc内存实例(接口)检索指向 Shell 的 IMalloc 接口的指针。
快捷名称SHGetNewLinkInfoA快捷名称(目标,目录,名称,@复制,选项)为新快捷方式创建一个名称。复制非零目标指定复制快捷方式;选项:1目标是PIDL;2不检查目录检查;4前面加"快捷方式";8不加.lnk;
框架选项SHGetSettings框架选项(设置,选项)检索当前的Shell框架界面的选项设置。
特定位置SHGetSpecialFolderLocation特定位置(0,标识,@指针)检索指向特殊文件夹的 ITEMIDLIST 结构的指针。
特定路径SHGetSpecialFolderPathA特定路径(0,路径,标识,创建)检索由其CSIDL标识的特殊文件夹的路径。创建非零自动创建文件夹
磁盘信息SHGetDiskFreeSpaceExA磁盘信息(卷,@可用,@总数,@剩余)检索磁盘卷的磁盘空间信息。
驱动类型SHGetDriveMedia驱动类型(驱动器,@类型)返回给定驱动器中的媒体类型。
文件信息SHGetFileInfoA文件信息(路径,属性,结构,大小,标志)检索文件或目录的信息
转换路径SHGetPathFromIDListA转换路径(项目,路径)将项目标识符列表转换为文件系统路径。
关于程序ShellAboutA关于程序(窗口,标题,信息,图标)显示“命令行管理程序关于”对话框。
运行程序ShellExecuteA运行程序(窗口,操作,文件名,参数,目录,显示)对指定文件执行操作
执行文件ShellExecuteExA执行文件(执行类)对指定文件执行操作
托盘图标Shell_NotifyIconA托盘图标(方式,托盘类)控制任务栏右下角图标,方式0是添加,1是更新,2是删除
查找字符StrChrA查找字符(文字1,33)查找字符编码在文字1中出现的内存位置
查找字母StrChrIA查找字母(文字1,\a)查找字符编码在文字1中出现的内存位置,不区分大小写
开头比较StrCmpNA开头比较(文字1,文字2,n)文字1和文字2的前面n个字符进行比较,相等返回0
开头字串StrCmpNIA开头字母(文字1,文字2,n)文字1和文字2的前面n个字符进行比较,不区分大小写
倒查单字StrRChrIA倒查单字(文字1,截止,32)从右边查找字符码在文字1中出现的内存位置,截止地址可以为0
倒查字母StrRChrIA倒查字母(文字1,截止,\a)从右边查找字符码在文字1中出现的内存位置,不区分大小写
倒查文字StrRStrIA倒查文字(文字1,截止,文字2)从右边查找,文字2在文字1中出现的内存位置,截止地址可以为0
倒查字串StrRStrIA倒查字串(文字1,截止,文字2)从右边查找,文字2在文字1中出现的内存位置,不区分大小写
查找文本StrStrA查找文本(文字1,文字2)查找文字2在文字1中出现的内存位置
查找字串StrStrIA查找字串(文字1,文字2)查找文字2在文字1中出现的内存位置
网络编程常用函数-wsock32库
中文名称英文名称示例作用
接受accept接受(接口,地址类,长度)在网络接口接受一个连接。地址和长度是可选项
绑定bind绑定(接口,地址类,长度)将一个本地IP地址类与网络接口捆绑。
关闭closesocket关闭(接口)关闭一个网络接口。
连网connect连网(接口,地址类,长度)用于建立与指定网络接口的连接。
远程地址getpeername远程地址(接口,地址类,长度)获取与网络接口相连的(对方)端口和IP地址
本机地址getsockname本机地址(接口,地址类,长度)获取网络接口的本机端口和IP地址
接口选项getsockopt接口选项(接口,层,选项,@数据,长度)获取一个网络接口的选项
设置接口setsockopt设置接口(接口,层,选项,@数据,@长度)设置一个网络接口的(高层)选项
反整数htonll=反整数(数字)将32位主机数转换成无符号长整型的网络字节顺序(高低位反转)
反转htonsi=反转(数字)将无符号短整形数转换成16位网络字节顺序(四个反转函数性质相同,端口转换用这一个就行了)
整数反转ntohl接受(数字)将一个无符号长整形数从网络字节顺序转换为主机字节顺序
整形反转ntohs整形反转(数字)将一个16位数由网络字节顺序转换为主机字节顺序
控制模式ioctlsocket接口模式(接口,命令,@模式)用于获取与网络接口相关的控制模式
转换地址inet_addr地址=转换地址("127.0.0.1")将一个点分十进制的IP字符串转换成一个长整数型数
地址转换inet_ntoaIPs=地址转换(地址)将一个长整数型数转换成一个点分十进制的IP字符串
监听listen监听(接口,队列数)监听已经"绑定"IP端口的网络接口,申请进入的连接请求排队等待"接受"
接收recv接收(接口,内容,长度,0)接收对方发来的网络数据
收取recvfrom收取(接口,内容,长度,0,地址,长度)接收一个数据报文,可同时获取对方IP端口地址,地址长度可选
轮询select轮询(接口,可用,0,0,超时)通过查询接口的状态,如果在超时限制内没有数据发送,则中断此接口,去发送其它活动接口
发送send发送(接口,内容,长度,0)向对方发送网络数据
发到sendto发到(接口,内容,长度,0,地址,长度)向指定IP端口发送一个报文数据
禁止shutdown禁止(接口,方式)方式0禁收数据,1禁发数据,2禁止收发数据
分配socket接口=分配(网络型,数据流,流协议)指定的地址族、数据类型和协议来分配一个网络接口
(网络型,数据报,报协议)用来UDP通讯
主机信息gethostbyaddr信息=主机信息(IP地址,4,网络型)通过IP地址获取主机名等信息
解析域名gethostbyname信息=解析域名(域名)通过解析域名获取主机名字和IP地址等信息
解析协议getprotobyname协议=解析协议("tcp")解析tcp可得到协议名,可选名队列和数字6,只有数字6有用
获取协议getprotobynumber信息=获取协议(协议号)通过协议号获取协议号和协议名等信息,比如通过数字6可得到一个数字6和协议名
服务信息getservbyname信息=服务信息("domain","udp")通过给定服务名和协议名来获取服务名,协议名,端口号等相关服务信息
服务端口getservbyport信息=服务端口(反转(3389),"tcp")通过给定端口号和协议名来获取服务名,协议名,端口号等相关服务信息
取主机名gethostname取主机名(名称,长度)获取本地主机的标准主机名。
异步通知WSAAsyncSelect异步通知(接口,窗口,消息,事件集)请求基于窗口消息的网络事件通知。
异步信息WSAAsyncGetServByName异步信息(窗口,消息,名称,协议,数据,大小)通过给定服务名和协议名来异步获取服务器的服务名,协议名,端口号等相关服务信息
异步域名WSAAsyncGetHostByName异步域名(窗口,消息,域名,数据,大小)是用来获取对应于一个主机名的主机名称和地址信息。
取消异步WSACancelAsyncRequest取消异步(异步)取消不完整的异步操作。
异步事件WSACreateEvent事件=异步事件创建一个新的事件对象。允许应用程序在一个或多个接口上,接收以事件为基础的网络事件通知
关闭事件WSACloseEvent关闭事件(事件)关闭打开的事件对象句柄。
事件记录WSAEnumNetworkEvents事件记录(接口,事件,数据)获取指定接口的网络事件、清除内部网络事件记录和重置事件对象(可选)。
关联事件WSAEventSelect关联事件(接口,对象,事件集)指定要与指定的网络事件集关联的事件对象。
闲置事件WSAResetEvent闲置事件(事件)将指定事件对象的状态重置为无信号。
发送数据WSASend发送数据(接口,数组,数量,号码,标志,0,0)在连接的套接字上发送数据。
接收数据WSARecv接收数据(接口,数组,数量,已收,标志,0,0)从连接的套接字或绑定的无连接套接字接收数据。
网络错误WSAGetLastError错码=网络错误返回上次发生的网络错误
设置错码WSASetLastError设置错码(错码)为当前线程设置错误代码
网络启动WSAStartup网络启动(版本,信息)完成对Winsock服务的初始化,获取网络接口的相关信息
网络终止WSACleanup网络终止获取本地主机的标准主机名。
网络编程常用常量定义
中文名英文名数值作用
接口读FD_READ1网络数据已到达,可供读取。
接口写FD_WRITE2现在可以发送其他数据。
接口读外FD_OOB4可读取带外数据。
接口请求FD_ACCEPT8远程主机正在发出连接请求。
接口连接FD_CONNECT$10已完成与远程主机或多播会话的连接。
接口关闭FD_CLOSE$20远程主机已关闭连接。
本地型AF_UNIX1主机通讯。
网络型AF_INET2互联网通讯。包含本机,局域网和广域网,23种只有这一种最常用
数据流SOCK_STREAM1TCP协议使用的方式。
数据报SOCK_DGRAM2UDP协议使用的方式
流协议IPPROTO_TCP6TCP协议
报协议IPPROTO_UDP17UDP协议
设置选项IP_OPTIONS1设置新选项将覆盖以前指定的所有选项,设置前要先获取
多播接口IP_MULTICAST_IF2确定要用于多播的接口
多播时间IP_MULTICAST_TTL3设置多播会话时间到实时控制范围
多播回送IP_MULTICAST_LOOP4设置/获取IP多播数据回送
添加多播IP_ADD_MEMBERSHIP5添加多播成员会话
删除多播IP_DROP_MEMBERSHIP6删除多播成员会话
存包时间IP_TTL7设置/获取数据包的保存时间
服务选项IP_TOS8设置/获取服务的最小时延、最大吞吐量、最高可靠性和最小费用
不要分段IP_DONTFRAGMENT9设置/获取IP不分段标志
接口调试SO_DEBUG1打开调试信息记录
是否侦听SO_ACCEPTCONN2获取是否处于侦听模式
地址重用SO_REUSEADDR4允许本地地址重用
保持连接SO_KEEPALIVE8保持连接活动
不要路由SO_DONTROUTE$10仅使用本网络接口地址
允许广播SO_BROADCAST$20允许发送广播消息
地址回送SO_USELOOPBACK$40使用本地环回地址
延迟关闭SO_LINGER$80如果有数据,则延迟关闭
边界数据SO_OOBINLINE$100超出边界的数据
发送缓冲SO_SNDBUF$1001发送缓冲区大小
接收缓冲SO_RCVBUF$1002接收缓冲区大小
最小发送SO_SNDLOWAT$1003发送最小字节数
最小接收SO_RCVLOWAT$1004接收最小字节数
发送超时SO_SNDTIMEO$1005发送超时
接收超时SO_RCVTIMEO$1006接收超时
接口错误SO_ERROR$1007获取错误状态并清除
接口类型SO_TYPE$1008获取网络接口类型
Win32编程常用函数-comdlg32库
中文名称英文名称示例作用
颜色选框ChooseColorA颜色选框(颜色框类)创建一个“常用颜色”对话框,使用户可以选择颜色
字体选框ChooseFontA字体选框(字体框类)创建一个字体公共对话框,使对话框能够为用户选择逻辑字体的属性。
对话错误CommDlgExtendedError字体选框(字体框类)返回在执行对话框函数时最后出现的错误代码
搜索选框FindTextA搜索选框(查找替换类)创建一个系统定义的无模式对话框,允许用户指定要搜索的字符串以及在文档中搜索文本时使用的选项
文件标题GetFileTitleA文件标题(路径,名称,长度)获取指定路径文件的标题名称,如果隐藏了已知扩展名,则不含扩展名
文件选框GetOpenFileNameA文件选框(文件框类)创建一个公共对话框,允许用户指定要打开的文件或文件集的驱动器,目录和名称。
保存选框GetSaveFileNameA保存选框(文件框类)创建一个公共对话框,允许用户指定要保存的文件的驱动器,目录和名称。
页面设置PageSetupDlgA页面设置(页面框类)创建一个“页面设置”对话框,允许用户可以编辑设置打印页面的属性。
打印选项PrintDlgA打印选项(打印框类)创建显示“打印”对话框或“打印设置”对话框。使用户能够指定特定打印作业的属性。
替换选框ReplaceTextA替换选框(查找替换类)创建一个系统定义的无模式对话框,允许用户指定要搜索的字符串以及在文档中搜索文本时使用的选项
Win32编程常用函数-gdi32库
中文名称英文名称示例作用
停止打印AbortDoc停止打印(设备)停止当前打印作业,并擦除自上次调用StartDoc功能以来绘制的所有内容
结束打印EndDoc结束打印(设备)停结束打印作业。
开始打印StartDoc开始打印(设备,文件信息)启动打印作业
丢弃路径AbortPath丢弃路径(设备)抛弃选入指定设备场景中的所有路径。也取消目前正在进行的任何路径的创建工作
开启路径BeginPath开启路径(设备)启动一个路径分支。在这个命令后执行的GDI绘图命令会自动成为路径的一部分。对线段的连接会结合到一起。
结束路径EndPath结束路径(设备)关闭路径括号,并将括号中定义的路径选择到指定的设备
画弧线AngleArc画弧线(设备,x,y,半径,起始角,扫视角)圆弧沿着具有给定半径和中心的圆的周边绘制。弧的长度由给定的起始和扫视角度定义
调色板AnimatePalette调色板(调色类,起始,数目,色板)将替换指定逻辑调色板中的条目。色板可用调色类的红地址,如 @调色.红
椭圆弧Arc椭圆弧(设备,左,顶,宽,高,起X,起Y,终X,终Y)指定的矩形内的一个椭圆。画出从起点坐标到终点坐标的椭圆弧线
画椭圆弧ArcTo画椭圆弧(设备,左,顶,宽,高,起X,起Y,终X,终Y)跟Arc区别是是从画笔当前位置,画直线到圆弧起点,画完之后画笔停在圆弧终点.而Arc没有直线,画笔位置也不变
位图传输BitBlt位图传输(目标,左,顶,宽,高,源设备,源X,源Y,光栅)该函数对指定的源设备环境区域中的像素进行位块传输
检查色域CheckColorsInGamut检查色域(色域,颜色,数据,长度)检查指定的颜色值是否在指定设备的色域内,检查结果输出到数据字节组中
匹配像素ChoosePixelFormat匹配像素(设备,像素格式)尝试将设备上下文支持的适当像素格式与给定的像素格式规范进行匹配。
画和弦Chord画和弦(设备,左,顶,宽,高,起X,起Y,终X,终Y)绘制一个和弦(由椭圆和线段的交点界定的区域,称为“割线”)。通过使用当前笔并使用当前画笔来填充弦。
关闭强图CloseEnhMetaFile文件=关闭图元(设备)关闭增强型图元文件设备,并返回一个标识增强格式的图元文件的句柄
关闭路数CloseFigure关闭路数(设备)关闭路径中的开放数字。向路径添加一行或曲线将启动一个新的数字。
关闭图元CloseMetaFile文件=关闭图元(设备)关闭元文件设备并返回一个标识Windows格式的元文件的句柄
调正色板ColorCorrectPalette调正色板(设备,控点,条目,数目)使用指定设备上下文中的 WCS 1.0 参数更正调色板的条目。
开关预览ColorMatchToTarget开关预览(设备,方式)启用或禁用指定设备(通常是打印机)的预览。方式1启动预览,2禁用预览,3禁用预览并删除预览的颜色转换
合并区域CombineRgn合并区域(目标,源区1,源区2,模式)组合两个区域,并将结果存储在第三个区域。模式1RGN_AND交集2联合3重叠4不重叠5复制
组合变换CombineTransform组合变换(组合,转换1,转换2)将两个世界空间与页面空间转换相连接
复制强图CopyEnhMetaFileA复制强图(图元文件,文件名)将增强格式的元文件的内容复制到指定的文件。
复制图元CopyEnhMetaFileA复制图元(图元文件,文件名)将Windows格式的元文件的内容复制到指定的文件。
创建位图CreateBitmap创建位图(宽度,高度,色面,色位,数据)创建一个具有指定宽度,高度和颜色格式(每个像素的颜色平面和位)的位图。
新建位图CreateBitmapIndirect位图=新建位图(位图类)通过位图结构创建一个具有指定宽度,高度和颜色格式(每个像素的颜色平面和位)的位图。
新建笔刷CreateBrushIndirect笔刷=新建笔刷(笔刷类)创建一个具有指定样式,颜色和模式的逻辑画笔。
创建色域CreateColorSpaceA色域=创建色域(色域类)创建逻辑颜色空间。
删除色域DeleteColorSpace删除色域(色域)删除指定的颜色空间,释放与其关联的所有内部资源。
创建图像CreateCompatibleBitmap图像=创建图像(设备,宽度,高度)创建与与指定设备参数标识的颜色格式兼容的位图。
创建设备CreateCompatibleDC设备=创建设备(设备)创建与指定设备兼容的内存设备。只能用于支持栅格操作的设备
创建驱动CreateDCA设备=创建驱动(驱动名,设备名,0,数据)通过使用指定的名称创建驱动设备
删除设备DeleteDC删除设备(设备)删除指定的设备
内建空刷CreateDIBPatternBrush笔刷=内建空刷(位图信息,颜色表)创建一个逻辑画笔,该画笔具有指定的与设备无关的位图(DIB)指定的模式。随后可以将刷子选择到与支持光栅操作的设备相关联的任何设备上下文中。
内建位图CreateDIBSection内图=内建位图(设备,位图信息,颜色索引,位图,映射,偏移)创建一个与设备无关的位图(DIB内图),应用程序可以直接写入。
关联位图CreateDIBitmap关联位图(设备,格式,标志,数据,位色,使用)从与设备无关的位图(DIB)创建与设备相关的位图(DDB)
兼容位图CreateDiscardableBitmap图像=兼容位图(设备,宽度,高度)创建与指定设备兼容的位图,具有与设备一样的位/像素格式和颜色调色板
创建椭圆CreateEllipticRgn区域=创建椭圆(左,上,右,下)创建一个椭圆形区域。
新建椭圆CreateEllipticRgnIndirect区域=新建椭圆(矩形类)创建一个椭圆形区域。
创建强图CreateEnhMetaFileA设备=创建强图(设备,文件名,矩形,描述)为增强格式的图元文件创建一个设备上下文。该设备上下文可用于存储与设备无关的图片。
创建图元CreateMetaFileA设备=创建图元(文件名)为Windows格式的图元文件创建一个设备
删除强图DeleteEnhMetaFile删除强图(设备)删除增强格式的图元文件或增强格式的图元文件句柄。
删除图元DeleteMetaFile删除图元(设备)删除Windows格式的图元文件或Windows格式的图元文件句柄。
创建字体CreateFontA字体=创建字体(逻辑高度,字符宽度,擒纵角,取向角,粗细,斜体,下划线,删除线,字符集,输出精度,剪辑精度,输出质量,间距和字体,字体名称)示例:
CreateFont(15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "宋体");常用第一个参数字号和最后的名称
新建字体CreateFontIndirectA字体=新建字体(逻辑字体)从逻辑字体结构创建一个字体。
选建字体CreateFontIndirectExA字体=选建字体(枚举字体)从枚举字体结构中选择创建一个字体。
半调色板CreateHalftonePalette色板=半调色板(设备)为指定的设备上下文创建一个半色调调色板。
图案笔刷CreateHatchBrush画笔=图案笔刷(样式,颜色)创建一个具有指定阴影图案和颜色的逻辑画笔。HS_CROSS之类样式
驱动设备CreateIC驱动=驱动设备(驱动名,设备名,端口或文件名,信息)获取有关设备的信息而不创建设备
创建色板CreatePalette色板=创建色板(调色类)获取有关设备的信息而不创建设备
内建笔刷CreatePatternBrush画笔=内建笔刷(内图)使用指定的位图模式创建逻辑画笔。位图可以是"内建位图"创建,也可以是与设备相关的位图。
创建画笔CreatePen画笔=创建画笔(样式,笔宽,笔色)创建一个具有指定样式,宽度和颜色的逻辑笔。用于在设备上绘制线条和曲线。样式为PS_SOLID等
新建画笔CreatePenIndirect画笔=新建画笔(画笔类)创建一个逻辑的化妆笔,它具有在结构中指定的样式,宽度和颜色。
建多边区CreatePolygonRgn建多边区(点数组,点数量,填充)创建一个由一系列点围成的区域。最后点与第一点相连以封闭多边形。
叠多边区CreatePolyPolygonRgn叠多边区(点数组,点计数组,点计数,填充)创建一个由一系列多边形组成的区域。多边形可以重叠。
创建矩形CreateRectRgn区域=创建矩形(左,上,右,下)创建一个矩形区域。
新建矩形CreateRectRgnIndirect区域=新建矩形(矩形类)创建一个矩形区域。
建圆矩形CreateRoundRectRgn区域=建圆矩形(左,上,右,下,椭圆高,椭圆宽)创建一个带圆角的矩形区域。
内存字体AddFontMemResourceEx内存字体(资源,大小,0,字体)将字体资源从内存图像添加到系统。
资源字体AddFontResourceEx资源字体(文件,特征,0)将指定文件中的字体资源添加到系统。
添加字体AddFontResourceA添加字体(文件名)添加字体到系统,可以是.FON .FNT .TTF
升级字体CreateScalableFontResourceA升级字体(读写,资源名,字体名,路径)为可升级的字体(.TTF)创建一个字体资源文件(.FOT)。然后用函数AddFontResource安装字体
创建画刷CreateSolidBrush画笔=创建画刷(颜色)创建一个具有指定纯色的实心逻辑画笔。用来绘制填充形状内部的位图。
设备坐标DPtoLP设备坐标(设备,坐标数组,坐标数量)将设备坐标转换为逻辑坐标。转换取决于设备上下文的映射模式
删除对象DeleteObject删除对象(对象)删除逻辑笔,画笔,字体,位图,区域或调色板,释放与对象相关联的所有系统资源。
设备像素DescribePixelFormat设备像素(设备,索引,长度,像素格式)获取有关设备的像素格式的信息。
视频转码DrawEscape视频转码(设备,转义函数,长度,数据)将数据直接发至显示设备,访问通过图形设备界面(GDI)无法直接使用的视频显示的绘图功能。
画椭圆Ellipse画椭圆(设备,左,上,右,下)指定矩形内绘制一个椭圆。使用当前笔勾画,并使用当前笔刷填充椭圆。
枚举强图EnumEnhMetaFile枚举强图(设备,强元,@回调,数据,矩形)通过检索每个记录并将其传递给指定的回调函数来枚举增强格式的图元文件中的记录。
枚举字库EnumFontFamiliesA枚举字库(设备,字体名,@回调,数据)枚举指定设备上可用的指定字体系列中的字体。
枚举字体EnumFontsA枚举字体(设备,字体名,@回调,数据)列举指定设备上可用的字体。(旧功能)
枚举颜色EnumICMProfilesA枚举颜色(设备,@回调,参数)枚举系统支持的不同颜色配置文件
枚举图元EnumMetaFile枚举图元(设备,图元,@回调,参数)检索每个记录并将其传递给指定的回调函数来枚举Windows格式的图元文件中的记录。
枚举对象EnumObjects枚举对象(设备,强元,@回调,数据,矩形)枚举可用于指定设备上下文的笔或画笔。直到所有对象都被枚举为止。
对比区域EqualRgn对比区域(区域1,区域2)检查两个指定的区域,以确定它们的大小形状是否相同。
设备转码Escape设备转码(设备,转码,长度,输入,输出)访问不能通过GDI直接使用的特定设备的功能。
扩展画笔ExtCreatePen扩展画笔(样式,笔宽,笔刷类,长度,样式数组)创建一个具有指定样式,宽度和画笔属性的逻辑化妆或几何笔。
区域转换ExtCreateRegion区域转换(区域,长度,数据)对区域进行外部转换修改,如缩放,平移,旋转,剪切
扩展转码ExtEscape扩展转码(设备,转码,长度,输入,长度,输出)允许应用程序访问通过GDI不可用的特定设备的功能。
填充表层ExtFloodFill填充表层(设备,左,上,填色,方式)使用当前画笔填充显示表面的一个区域。
剪裁新区ExcludeClipRect剪裁新区(设备,左,上,右,下)创建一个新的剪切区域,该区域由一个现存的剪切区域减去一个特定的矩形区域而构成
剪裁组合ExtSelectClipRgn剪裁组合(设备,区域,模式)使用指定的模式将指定的区域与当前的剪切区域进行组合。
绘制字符ExtTextOutA绘制字符(设备,左,上,选项,矩形,文字,字数,间距)使用当前选定的字体绘制一个字符串。可选用于剪裁/不透明的矩形
填充路径FillPath填充路径(设备)关闭当前路径中的任何打开的图形,并使用当前画笔和多边形填充模式填充路径的内部。
填充区域FillRgn填充区域(设备,区域,笔刷)使用指定的画笔填充区域。
转换线段FlattenPath转换线段(设备)将一个路径中的所有曲线都转换成线段
区域边框FrameRgn区域边框(设备,区域,画框,宽度,高度)使用指定的画笔在指定区域周围绘制一个边框。
填充表面FloodFill填充表面(设备,左,上,填色)使用当前画笔填充显示表面的一个区域。
注释图层GdiComment注释图层将注释从缓冲区复制到指定的增强格式的图元文件中。
刷新绘图GdiFlush刷新绘图刷新调用线程的任何未决的绘图操作。
绘图列数GdiGetBatchLimit队列数=绘图列数获取有多少个GDI绘图命令位于队列中。
绘图队列GdiSetBatchLimit绘图队列(100)指定有多少个GDI绘图命令能够进入队列
画弧取向GetArcDirection方向=画弧取向(设备)画圆弧的时候,判断当前采用的绘图方向。1逆时针 2顺时针
画弧改向SetArcDirection画弧改向(设备,方向)修改当前绘图采用的方向。1逆时针 2顺时针
获取滤镜GetAspectRatioFilterEx获取滤镜(设备,滤镜)获取当前宽高比滤镜的设置。宽高比是由给定装置上的像素的宽度和高度形成的比率。为两个整数组成的SIZE结构
位图数据GetBitmapBits位图数据(图片,长度,数据)将指定与设备相关的位图的位图位复制到缓冲区中。
数据位图SetBitmapBits数据位图(图片,长度,数据)将位图的颜色数据位设置为指定的值。
取图宽高GetBitmapDimensionEx取图宽高(图像,尺寸类)获取位图的宽高尺寸。
改图宽高SetBitmapDimensionEx改图宽高(图像,宽,高,旧尺寸)设置位图的宽高新尺寸。
取背景色GetBkColor取背景色(设备)获取指定设备的当前背景颜色。
改背景色SetBkColor改背景色(设备,颜色)修改指定设备的背景颜色。
背景模式GetBkMode背景模式(设备)获取指定设备的背景混合填充模式。
模式背景SetBkMode模式背景(设备,模式)用指定模式填充指定设备的背景,如阴影刷子、虚线以及字符中的空隙
边界矩形GetBoundsRect边界矩形(设备,矩形,选项)获取指定设备上下文的当前累积边界矩形。选项为1清除边界
累积边界SetBoundsRect累积边界(设备,矩形,选项)获取指定设备上下文的当前累积边界矩形。选项1清除边框,2添加边框,4开启累积,8关闭累积
笔刷原点GetBrushOrgEx笔刷原点(设备,坐标)获取指定设备的当前画笔原点。
设置原点SetBrushOrgEx设置原点(设备,左,上,旧坐标)设置指定设备的当前画笔原点。
字符宽度GetCharWidth32A字符宽度(设备,首字,尾字,@宽度)获取当前字体在指定范围内的连续字符的宽度。
字符信息GetCharacterPlacementA字符信息(设备,文字,字数,结果,标志)获取字符串的信息,例如字符宽度,插入符号定位,字符串中的排序和字形渲染。
设备边界GetClipBox设备边界(设备,矩形)获取围绕设备当前可见区域绘制的最紧密的边界矩形的尺寸。
剪裁区域GetClipRgn剪裁区域(设备,区域)获取指定设备的当前应用程序定义的剪切区域的句柄。
颜色调整GetColorAdjustment颜色调整(设备,色调)获取指定设备的颜色调整值。
调整颜色SetColorAdjustment调整颜色(设备,色调)使用指定数据设置设备的颜色调整值。
颜色空间GetColorSpace空间=颜色空间(设备)从指定的设备中检索逻辑颜色空间的当前句柄。
空间颜色SetColorSpace空间颜色(设备,空间)给指定设备输入颜色空间。
当前对象GetCurrentObject设备=当前对象(设备,类型)返回指定类型的当前选定对象。类型有1画笔,2笔刷,5色板,6字体,7位图
当前坐标GetCurrentPositionEx当前坐标(设备,坐标)从指定的设备中获取当前坐标位置。
设备位图GetDIBits设备位图(设备,位图,首行,行数,缓冲,图结构,图格式)检索指定兼容位图的位,并使用指定的格式将它们作为 DIB 复制到缓冲区中。
设备项目GetDeviceCaps设备项目(设备,坐标)检索指定设备的特定于设备项目的信息。
取笔刷色GetDCBrushColor颜色=取笔刷色(设备)从指定的设备中获取笔刷的颜色。
改笔刷色SetDCBrushColor改笔刷色(设备,颜色)将指定设备笔刷的颜色设置为指定值。
设备起点GetDCOrgEx设备起点(设备,坐标)获取指定设备的最终转换起始点。
取画笔色GetDCPenColor取画笔色(设备,颜色)从指定的设备中获取笔的颜色。
改画笔色SetDCPenColor改画笔色(设备,颜色)将指定设备画笔的颜色设置为指定值。
取颜色表GetDIBColorTable取颜色表(设备,序号,条目,数组)从当前在指定设备位图的颜色表中的一系列条目中检索颜色值。
改颜色表SetDIBColorTable改颜色表(设备,序号,条目,数组)将当前选择的DIB颜色表中的一系列颜色值数组设置为指定的设备中。
增强图元GetEnhMetaFileA强图=增强图元(文件名)获取指定文件中的增强格式的元文件句柄
强图数据GetEnhMetaFileBits强图数据(强图,长度,数据)从增强格式的图元文件中获取文件内容到数据缓冲区
数据强图SetEnhMetaFileBits强图=数据强图(长度,数据)从指定的数据创建基于内存的增强格式图元文件。
强图描述GetEnhMetaFileDescriptionAln=强图描述(强图,内容,长度)从增强格式的图元文件中检索可选文本描述
强图色板GetEnhMetaFilePaletteEntriesln=强图色板(强图,数目,数据)从增强格式的图元文件中检索指定数目的调色板数据
强图像素GetEnhMetaFilePixelFormatln=强图像素(强图,长度,像素)从增强格式的图元文件中检索像素格式信息
设备字体GetFontLanguageInfo字体=设备字体(设备)返回有关指定设备的当前选定字体的信息。
文字取形GetGlyphIndices文字取形(设备,文字,字数,数组,1)将一个字符串转为字形数组。用来确定一种字体里是否存在某个字形。1表示字形与-1掩码
图形模式GetGraphicsMode模式=图形模式(设备)返回有关指定设备的当前图形模式。1兼容模式2高级模式
模式图形SetGraphicsMode模式图形(设备,模式)设置有关指定设备的当前图形模式。1兼容模式2高级模式
间距调对GetKerningPairsA间距调对(设备,对数,数组)获取指定设备上下文的当前选定字体的字符字偶间距调整对。
获取布局GetLayout布局=获取布局(设备)获取指定设备的当前布局。1从右到左
设置布局SetLayout设置布局(设备,布局)设置指定设备的当前布局。1从右到左
映射模式GetMapMode模式=映射模式(设备)获取指定设备的当前映射模式。
模式映射SetMapMode模式映射(设备,模式)设备指定设备的当前映射模式。
图元文件GetMetaFileA图元=图元文件(文件名)获取指定文件中的图元文件句柄
图元数据GetMetaFileBitsEx图元数据(图元,长度,数据)从图元文件中获取文件内容到数据缓冲区
数据图元SetMetaFileBitsEx图元=图元数据(长度,数据)从指定的数据创建基于内存的图元文件。
设备元区GetMetaRgn设备元区(设备,元区)获取指定设备的元区域
区域相交SetMetaRgn区域相交(设备)将指定设备的当前裁剪区域与当前元区域相交,剪切区域将重置为空区域。
斜率限制GetMiterLimit斜率限制(设备,@斜率)取得设备场景的斜率限制
限制斜率SetMiterLimit限制斜率(设备,斜率,旧)为指定设备的斜接连接长度设置限制。不需要获取旧斜率可以为0
设备取色GetNearestColor颜色=设备取色(设备,颜色)根据设备的显示能力,取得与指定颜色最接近的一种纯色
色板取色GetNearestPaletteIndex色号=色板取色(色板,颜色)检索指定逻辑调色板中与指定颜色值最匹配的条目的索引。
获得对象GetObjectA获得对象(图像,长度,数据)获取图形对象的信息
对象类型GetObjectType图型=对象类型(图形对象)获取图形对象的类型
取调色板GetPaletteEntries取调色板(色板,起始,数目,数组)从给定的逻辑调色板中检索指定范围的调色板条目。
改调色板SetPaletteEntries改调色板(色板,起始,数目,数组)修改逻辑调色板的一系列条目中设置颜色值和标志。
文本度量GetOutlineTextMetricsA文本度量(设备,大小,数据)获取当前设备使用字体的文本度量。
颜色模式SetICMMode颜色模式(设备,模式)指定设备的启用、禁用或查询图像颜色。
颜色配置GetICMProfileA颜色配置(设备,长度,名称)获取设备的颜色配置文件的名称。
配置颜色SetICMProfileA配置颜色(设备,长度,名称)将指定的颜色配置文件设置为指定设备的输出配置文件。
获取路径GetPath获取路径(设备,点组,点类,数量)取得对当前路径进行定义的一系列曲线的控制点
获取颜色GetPixel颜色=获取颜色(设备,x,y)获取设备指定坐标处像素的颜色值。
设置颜色SetPixel设置颜色(设备,x,y,颜色)设置设备指定坐标处像素的颜色值。
像素格式GetPixelFormat索引=像素格式(设备)获取指定设备的当前所选像素格式的索引。
格式像素SetPixelFormat格式像素(设备,索引,像素)将指定设备的像素格式设置为索引指定的格式。
填充模式GetPolyFillMode模式=填充模式(设备)获取指定设备的多边形填充模式。
模式填充SetPolyFillMode填充模式(设备,模式)设置指定设备的多边形填充模式。
剪裁复制GetRandomRgn剪裁复制(设备,区域,SYSRGN)将指定设备系统剪辑区域复制到特定区域
区域数据GetRegionData区域数据(区域,大小,数据)将指定区域的数据填充指定的缓冲区。
混合模式GetROP2模式=混合模式(设备)获取指定设备的前景混合模式。
模式混合SetROP2模式混合(设备,模式)设置指定设备的前景混合模式。
区域边界GetRgnBox区域边界(区域,矩形)获取指定区域的边界矩形。
固有对象GetStockObject对象=固有对象(方式)获取一个常用笔、画笔、字体或调色板的句柄。
拉伸模式GetStretchBltMode模式=拉伸模式(设备)获取指定设备的拉伸模式。
模式拉伸SetStretchBltMode模式拉伸(设备,模式)设置指定设备的拉伸模式。
系统色板GetSystemPaletteEntries系统色板(设备,起始,数目,数组)从设备的系统调色板中检索指定范围的调色板条目。
色板系统SetSystemPaletteEntries色板系统(设备,起始,数目,数组)修改系统调色板的一系列条目中设置颜色值和标志。
色板状态GetSystemPaletteUse状态=色板状态(设备)检索指定设备的系统(物理)调色板的当前状态。
文本对齐GetTextAlign方式=文本对齐(设备)获取指定设备的文本对齐方式。
对齐文本SetTextAlign对齐文本(设备,方式)设置指定设备的文本对齐方式。
字符间距GetTextCharacterExtra间距=文本对齐(设备)获取指定设备的文本字符间距。
间隔字符SetTextCharacterExtra间隔字符(设备,间距)设置指定设备的文本字符间距。
文字颜色GetTextColor颜色=文字颜色(设备)获取指定设备的文本颜色。
文本改色SetTextColor文本改色(设备,颜色)设置指定设备的文本颜色。
文字尺寸GetTextExtentPoint32A文字尺寸(设备,字符,长度,尺寸)计算指定文本字符串的宽度和高度(尺寸)。
字体名称GetTextFaceA文字名称(设备,长度,名称)获取指定设备选择的字体的字体名称。
文字度量GetTextMetricsA文字度量(设备,度量)使用当前所选字体的指标填充指定的缓冲区。
视窗范围GetViewportExtEx视窗范围(设备,尺寸)获取指定设备的当前视区的宽和高大小。
范围视窗SetViewportExtEx范围视窗(设备,宽,高,原尺寸)修改指定设备的当前视区的宽和高大小。不需要原尺寸可以为0
视窗坐标GetViewportOrgEx视窗坐标(设备,坐标)获取指定设备的当前视区的x和y坐标。
坐标视窗SetViewportOrgEx坐标视窗(设备,x,y,原坐标)修改指定设备的当前视区的x和y坐标。不需要原坐标可以为0
窗口范围GetWindowExtEx窗口范围(设备,尺寸)获取指定设备的当前窗口的宽和高大小。
范围窗口SetWindowExtEx范围窗口(设备,宽,高,原尺寸)修改指定设备的当前窗口的宽和高大小。不需要原尺寸可以为0
窗口坐标GetWindowOrgEx窗口坐标(设备,坐标)获取指定设备的当前窗口的x和y坐标。
坐标窗口SetWindowOrgEx坐标窗口(设备,x,y,原坐标)修改指定设备的当前窗口的x和y坐标。不需要原坐标可以为0
交叉剪裁IntersectClipRect交叉剪裁(设备,左,上,右,下)从当前剪切区域和指定矩形的交点创建一个新的剪切区域。
反转区域InvertRgn反转区域(设备,区域)可以反转指定区域的颜色。
线段枚举LineDDA线段枚举(起X,起Y,终X,终Y,@回调,数据)枚举由指定的起点和终点定义的行应突出显示哪些像素。
画线LineTo画线(设备,终X,终Y)用当前画笔画一条线,从当前位置连到一个指定的点
移到MoveToEx移到(设备,X,Y,旧坐标)为指定的设备场景指定一个新的当前画笔位置,不需要旧坐标可以为0
剪裁偏移OffsetClipRgn剪裁偏移(设备,X,Y)将设备的剪切区域移动指定的偏移量。
矩形偏移OffsetRect矩形偏移(矩形,X,Y)将指定的矩形移动指定的偏移量。
区域偏移OffsetRgn区域偏移(区域,X,Y)将区域移动指定的偏移量。
视窗偏移OffsetViewportOrgEx视窗偏移(设备,X,Y,原点)用指定的水平位移和垂直位移改变设备环境的观察窗原点。不需要获取原点可以为0
窗口偏移OffsetWindowOrgEx窗口偏移(区域,X,Y,原点)使用指定的水平和垂直偏移修改设备上下文的窗口原点。不需要获取原点可以为0
喷涂区域PaintRgn喷涂区域(设备,区域)使用当前选定的画笔在设备中绘制(涂漆)指定的区域。
画矩形PatBlt画矩形(设备,左,上,宽,高,光栅)使用当前画笔来绘制给定的矩形。通过使用给定的光栅操作来组合画笔颜色和表面颜色。
转换区域PathToRegion区域=转换区域(设备)从选择到指定设备的路径中创建一个区域。
画饼Pie画饼(设备,左,上,右,下,X1,Y1,X2,Y2)绘制一个由椭圆和两个径向交点界定的饼形楔形。通过使用当前笔并使用当前画笔填充饼图。(扇形)
显示强图PlayEnhMetaFile显示强图(设备,强图,矩形)显示存储在指定增强格式图元文件中的图片。
回放强图PlayEnhMetaFileRecord回放强图(设备,图组,记录,数量)播放增强的图元文件记录
显示图元PlayMetaFile显示图元(设备,强图,矩形)显示存储在指定图元文件中的图片。
回放图元PlayMetaFileRecord回放图元(设备,图组,记录,数量)播放图元文件记录
多点曲线PolyBezier多点曲线(设备,点组,点数)根据指定的坐标点数组绘制一条或多条贝塞尔曲线,一点到四点为一个点数,二三为控制点.四点到七点为第二点数
离散曲线PolyBezierTo多点曲线(设备,点组,点数)根据指定的坐标点数组绘制一条或多条贝塞尔曲线,功能同上
多线曲线PolyDraw多点曲线(设备,点组,点控,点数)根据指定的坐标点数组绘制一组线段和贝塞尔曲线,多了个控制曲线的数组
画多边形Polygon画多边形(设备,点组,点数)依次连接所有点并把最后点与第一点相连,围成一个多边形并填充
画拆线Polyline画拆线(设备,点组,点数)依次连接所有点来绘制一系列线段
画拆线图PolylineTo画拆线图(设备,点组,点数)依次连接所有点来绘制一系列线段
叠拆线PolyPolyline叠拆线(设备,点组,点数组,数量)画多组可以重叠的拆线
叠多边形PolyPolygon叠多边形(设备,点组,点数组,数量)绘制一系列闭合多边形。绘制的面可以重叠。
绘制文字PolyTextOutA绘制文字(设备,字组,组数)使用指定的设备的字体和文本颜色绘制多个字符串。
点在区内PtInRegion在否=点在区内(区域,x,y)确定指定的点是否在指定区域内。
点在剪裁PtVisible在否=点在剪裁(设备,x,y)确定指定的点是否在设备的剪裁区域内。
色板映射RealizePalette色板映射(设备)将选项板条目从当前逻辑选项板映射到系统选项板。
画方块Rectangle画方块(设备,左,上,右,下)绘制一个矩形方块。使用当前画笔勾勒矩形的轮廓,并使用当前笔刷填充矩形。
矩形在区RectInRegion在否=矩形在区(区域,矩形)确定指定的矩形是否在指定区域边界内。
矩形在剪PtVisible在否=矩形在剪(设备,矩形)确定指定的矩形是否在设备的剪裁区域内。
圆角矩形RoundRect圆角矩形(设备,左,上,右,下,宽,高)在指定矩形内按圆角和宽度和高度绘制一个带有圆角的矩形。
调整色板ResizePalette调整色板(色板,条目)根据指定的值增加或减少逻辑调色板的条目大小。
移除字体RemoveFontResourceA移除字体(资源名)从系统字体表中除去在指定文件里的字体
复位设备RestoreDC复位设备(设备,信息)使用指定的信息更新指定的打印机或绘图仪设备
恢复设备RestoreDC恢复设备(设备,状态)通过从先前调用 "保存设备"得到的状态信息来恢复设备,-1是恢复到最近状态
保存设备SaveDC状态=保存设备(设备)将选定对象和图形模式的数据复制到堆栈来保存指定设备的当前状态。
选择剪裁SelectClipPath选择剪裁(设备,模式)选择当前路径作为设备的剪切区域,组合模式1交集2联合3重叠4不重叠5复制
选区剪裁SelectClipRgn选区剪裁(设备,区域)选择一个区域作为指定设备的当前剪辑区域。
选择对象SelectObject选择对象(设备,对象)在指定的设备中选择一个新对象。包括位图,笔刷,字体,画笔,区域等
选择色板SelectPalette选择色板(设备,色板,背景)在指定的设备中选择一个新的逻辑调色板。背景调色板为真则映射颜色到物理调色板中
设置像素SetDIBits设置像素(设备,位图,起始行,行数,数据,结构,索引)在指定的 DIB 中找到的颜色数据设置兼容位图 (DDB) 中的像素。
指定像素SetDIBitsToDevice指定像素(设备,左,顶,宽,高,源左,源上,起始行,行数,数据,结构,索引)使用源图像设备指定位置与目标设备指定矩形中的像素。
映射算法SetMapperFlags映射算法(设备,匹配)更改字体映射器在将逻辑字体映射到物理字体时使用的算法。
设置区域SetRectRgn设置区域(区域,左,上,右,下)将区域转换为具有指定坐标的矩形区域。
断句空间SetTextJustification断句空间(设备,大小,行数)指定系统应添加到文本字符串中的断句字符的空间量。 TextOut 或 ExtTextOut 函数都需要空间
转强图元SetWinMetaFileBits强元=转强图元(大小,数据,设备,结构)将图元文件转换为新的增强格式,元文件PICT 结构包含建议大小及映射模式
空间转换SetWorldTransform空间转换(设备,XFORM)设置世界空间和页面空间之间的二维线性转换。用于缩放、旋转、切变或平移图形输出。
伸缩位图StretchBlt伸缩位图(目标,左,顶,宽,高,源,左,顶,宽,高,操作)将位图从源矩形拉伸或压缩复制到目标矩形中,以适合尺寸。栅格操作代码见ROP列表
勾画填充StrokeAndFillPath勾画填充(设备)关闭路径中所有打开的图形,使用当前笔描边路径的轮廓,并使用当前画笔填充其内部。
勾画路径StrokePath勾画路径(设备)使用当前笔呈现指定的路径。
交换缓冲SwapBuffers交换缓冲(设备)交换前缓冲区和后缓冲区。
写字到TextOutA写字到(设备,左,上,文字,字数)使用当前选定的字体在指定的位置写入一个字符串。
重置对象UnrealizeObject重置对象(对象)可重置画笔的原点或逻辑调色板。
更新颜色UpdateColors更新颜色(设备)设备的当前颜色重新映射到当前实现的逻辑调色板来更新指定设备
重设路径WidenPath重设路径(设备)根据选定画笔的宽度,重新定义当前选定的路径。
更新色块UpdateICMRegKeyA更新色块(0,标识,结构,命令)管理系统中的颜色配置文件和颜色管理模块。
GDI图层复制——常数
中文名称英文名称示例作用
黑调色板$00000042BLACKNESS使用与物理调色板中的0号颜色(黑色)填充目标矩形。
白调色板$00FF0062WHITENESS使用与物理调色板中的1号颜色(白色)填充目标矩形。
合并图层$40000000CAPTUREBLT在生成的图像中包括分层在窗口顶部的任何窗口。
反转图形$00550009DSTINVERT反转目标矩形。
合并复制$00C000CAMERGECOPY使用布尔 AND 运算符将源矩形的颜色与当前在目标设备中选择的画笔合并。
反色合并$00BB0226MERGEPAINT使用布尔 OR 运算符将反转源矩形的颜色与目标矩形的颜色合并。
防止镜像$80000000NOMIRRORBITMAP防止对位图进行镜像。
反转复制$00330008NOTSRCCOPY将反转的源矩形复制到目标。
反色混合$001100A6NOTSRCERASE使用布尔 OR 运算符组合源矩形和目标矩形的颜色,然后反转生成的颜色。
填色复制$00F00021PATCOPY将当前在目标设备中选择的画笔复制到目标位图中。
混色复制$005A0049PATINVERT使用布尔 XOR 运算符将当前在目标设备中选择的画笔的颜色与目标矩形的颜色组合在一起。
加色复制$00FB0A09PATPAINT此操作的结果通过使用布尔 OR 运算符与目标矩形的颜色相结合。
降色复制$008800C6SRCAND使用布尔 AND 运算符组合源矩形和目标矩形的颜色。
原图复制$00CC0020SRCCOPY将源矩形直接复制到目标矩形。
加图复制$00EE0086SRCPAINT使用布尔 OR 运算符组合源矩形和目标矩形的颜色。
反图复制$00440328SRCERASE使用布尔 AND 运算符将目标矩形的反面颜色与源矩形的颜色组合在一起。
混图复制$00660046SRCINVERT使用布尔 XOR 运算符组合源矩形和目标矩形的颜色。
Win32编程常用函数-gdiplus库
中文名称英文名称示例作用
绘图启动GdiplusStartup绘图启动(@令牌,输入,输出)函数初始化 Windows GDI+。 在进行任何其他 GDI+ 调用之前调用
绘图结束GdiplusShutdown绘图结束(令牌)清理 Windows GDI+ 使用的资源。
绘图设备GdipGetDC绘图设备(图像,设备)获取与此绘图对象关联的设备上下文的句柄。
绘图释放GdipReleaseDC绘图释放(图像,设备)释放通过先前调用GdipGetDC函数获取的设备上下文句柄。
绘图刷新GdipFlush绘图刷新(图像,元素)刷新所有待处理的图形操作。
绘图内存GdipAlloc指针=绘图内存(大小)为GDI +对象分配内存
图存释放GdipFree图存释放(指针)释放为GDI +对象分配的内存。
设备取图GdipCreateFromHDC设备取图(设备,图像)创建与指定设备上下文相关联的图像对象。
窗口取图GdipCreateFromHWND窗口取图(窗口,图像)创建与指定窗口相关联的图像对象。
文件取流GdipCreateStreamOnFile文件取流(名称,读写,流)基于文件获取指向IStream接口的指针。
绘图删除GdipDeleteGraphics绘图删除(图像)删除指定的图像对象。
绘图清色GdipGraphicsClear绘图清色(图像,颜色)将图像对象清除为指定的颜色。
填充小数GdipFillRectangle填充小数(图像,刷子,左,顶,宽,高)使用笔刷填充矩形的内部。(小数值)
填充整数GdipFillRectangleI填充整数(图像,刷子,左,顶,宽,高)使用笔刷填充矩形的内部。(整数值)
填充小组GdipFillRectangles填充小组(图像,刷子,数组,数量)使用笔刷填充矩形的内部。(小数矩形数组)
填充整组GdipFillRectanglesI填充整组(图像,刷子,数组,数量)使用笔刷填充矩形的内部。(整数矩形数组)
图像取图GdipGetImageGraphicsContext图像取图(图像,图像)创建与图片对象相关联的图像对象。
文件取图GdipCreateBitmapFromFile文件取图(路径,图像)基于图像文件创建位图对象。
配置取图GdipCreateBitmapFromFileICM配置取图(路径,图像)基于ICM配置文件的图像文件创建位图对象。
数据取图GdipCreateBitmapFromStream数据取图(流,图像)基于流创建位图对象。此函数使用ICM。
配流取图GdipCreateBitmapFromStreamICM配流取图(流,图像)基于ICM流创建位图对象。
定位取图GdipCreateBitmapFromScan0定位取图(宽,高,步幅,格式,指针,图像)根据字节数组以及大小和格式信息创建位图对象。
图形取图GdipCreateBitmapFromGraphics图形取图(宽,高,对象,图像)基于图像对象,宽度和高度创建位图对象。
结构取图GdipCreateBitmapFromGdiDib结构取图(结构,数组,图像)基于位图信息结构和像素数据数组创建位图对象。
位图取图GdipCreateBitmapFromHBITMAP位图取图(句柄,色板,图像)基于图形设备接口位图的句柄和GDI调色板的句柄创建位图对象。
位图绘图GdipCreateHBITMAPFromBitmap位图绘图(位图,句柄,背景)从此位图对象创建Windows图形设备接口(GDI)位图。
图标取图GdipCreateBitmapFromHICON图标取图(句柄,图像)根据图标创建位图对象。
图标绘图GdipCreateHICONFromBitmap图标绘图(位图,句柄)从此位图对象创建一个图标。
资源取图GdipCreateBitmapFromResource资源取图(实例,资源,图像)基于应用程序或动态链接库(DLL)实例句柄和位图资源的名称创建位图对象。
裁剪位图GdipCloneBitmapArea裁剪位图(左,顶,宽,高,格式,源图,图像)通过复制该位图的一部分来创建新的位图对象。区域为小数
裁剪图像GdipCloneBitmapAreal裁剪图像(左,顶,宽,高,格式,源图,图像)通过复制该位图的一部分来创建新的位图对象。区域为整数
位图取色GdipBitmapGetPixel位图取色(图像,X,Y,颜色)获取此位图中指定像素的颜色。
位图改色GdipBitmapSetPixel位图改色(图像,X,Y,颜色)设置此位图中指定像素的颜色。
位图锁定GdipBitmapLockBits位图锁定(图像,矩形,格式,结构)锁定此位图的矩形部分,并提供可用于以指定格式读取或写入像素数据的临时缓冲区。
位图解锁GdipBitmapUnlockBits位图解锁(图像,结构)解锁此位图之前由GdipBitmapLockBits调用锁定的部分。
位图尺寸GdipBitmapSetResolution位图尺寸(图像,X,Y)设置此位图对象的水平和垂直分辨率大小。
绘图注释GdipComment绘图注释(图像,长度,注释)向现有的图元文件添加文本注释。
绘图单数GdipDrawImage绘图单数(图像,图片,X,Y)在指定位置(单精度)绘制图像。
绘图整数GdipDrawImage绘图整数(图像,图片,X,Y)在指定位置(整数)绘制图像。
绘区单数GdipDrawImageRect绘区单数(图像,图片,左,顶,宽,高)在指定位置绘制图像。
绘区整数GdipDrawImageRectl绘区整数(图像,图片,左,顶,宽,高)在指定位置绘制图像。
点图单数GdipDrawImagePoints点图单数(图像,图片,点组,数量)在指定位置绘制图像。
点图整数GdipDrawImagePointsl点图整数(图像,图片,点组,数量)在指定位置绘制图像。
点区单数GdipDrawImagePointsRect点区单数(图像,图片,点组,数量,源左,源顶,源宽,源高,单位,属性,回调,附加)在指定位置绘制图像。
点区整数GdipDrawImagePointsRectl点区整数(图像,图片,点组,数量,源左,源顶,源宽,源高,单位,属性,回调,附加)在指定位置绘制图像。
区块单数GdipDrawImageRectRect区块单数(图像,图片,左,顶,宽,高,源左,源顶,源宽,源高,单位,属性,回调,附加)在指定位置绘制图像。
区块整数GdipDrawImageRectRectl区块整数(图像,图片,左,顶,宽,高,源左,源顶,源宽,源高,单位,属性,回调,附加)在指定位置绘制图像。
解码信息GetImageDecoders解码信息(图像,长度,结构)获取包含有关可用图像解码器信息的ImageCodecInfo结构数组。
解码大小GetImageDecodersSize解码大小(图像,数量,长度)获取包含有关可用图像解码器信息的数量和结构数组长度。
文件载图GdipLoadImageFromFile文件载图(文件名,@图片)根据文件创建图片对象。
配置载图GdipLoadImageFromFileICM配置载图(文件名,@图片)根据ICM文件创建图片对象。
数据载图GdipLoadImageFromStream数据载图(流,@图片)根据文件流创建图片对象。
配流载图GdipLoadImageFromStreamICM配流载图(文件流,@图片)根据ICM文件流创建图片对象。
创建图刷GdipCreateTexture创建图刷(图片,模式,@刷子)基于图像和包装模式创建TextureBrush对象。
图刷单数GdipCreateTexture2图刷单数(图片,模式,左,顶,宽,高,@刷子)基于图像和包装模式创建TextureBrush对象。
图刷整数GdipCreateTexture2I图刷整数(图片,模式,左,顶,宽,高,@刷子)基于图像和包装模式创建TextureBrush对象。
纹刷单数GdipCreateTexture2纹刷单数(图片,属性,左,顶,宽,高,@刷子)基于图像定义坐标集和一组图像属性创建TextureBrush对象。
纹刷整数GdipCreateTexture2I纹刷整数(图片,属性,左,顶,宽,高,@刷子)基于图像定义坐标集和一组图像属性创建TextureBrush对象。
图刷取图GdipGetTextureImage图刷取图(刷子,@图片)获取由此纹理画笔定义的图片对象的指针。
图刷矩阵GdipGetTextureTransform图刷矩阵(刷子,@矩阵)获取此纹理画笔的变换矩阵。
图刷换行GdipGetTextureWrapMode图刷换行(刷子,@模式)获取当前为此纹理画笔设置的换行模式。
矩阵图刷GdipSetTextureTransform矩阵图刷(刷子,矩阵)设置此纹理画笔的变换矩阵。
换行图刷GdipGetTextureWrapMode换行图刷(刷子,模式)设置当前为此纹理画笔设置的换行模式。
重置矩阵GdipResetTextureTransform重置矩阵(图片)将此纹理画笔的变换矩阵重置为单位矩阵。这意味着不会发生转换。
旋转矩阵GdipRotateTextureTransform旋转矩阵(刷子,角度,元素)将此纹理画笔的变换矩阵旋转一定角度
乘法矩阵GdipMultiplyTextureTransform乘法矩阵(刷子,矩阵,元素)使用本身和另一个矩阵的乘积更新此画笔的转换矩阵。
缩放矩阵GdipScaleTextureTransform缩放矩阵(刷子,水平量,垂直量,元素)使用本身和另一个矩阵的乘积更新此画笔的转换矩阵。
翻译矩阵GdipTranslateTextureTransform翻译矩阵(刷子,水平量,垂直量,元素)使用自身乘积和转换矩阵更新此画笔的当前转换矩阵。
图像类型GdipGetImageType图像类型(图片,@类型)获取此Image对象的类型。
图像宽度GdipGetImageWidth图像宽度(图片,@宽度)获取此Image对象的宽度。
图像高度GdipGetImageHeight图像高度(图片,@高度)获取此Image对象的高度。
图像边界GdipGetImageBounds图像边界(图片,矩形,@单位)获取此Image对象的边界矩形。
图像宽高GdipGetImageDimension图像宽高(图片,@宽度,@高度)获取此Image对象的宽度和高度(小数值)。
图像横值GdipGetImageHorizontalResolution图像横值(图片,@宽度)获取此图像的水平分辨率(以英寸为单位)。
图像竖值GdipGetImageVerticalResolution图像竖值(图片,@高度)获取此图像的垂直分辨率(以英寸为单位)。
图像标志GdipGetImageFlags图像标志(图片,@标志)获取此Image对象的标志。
图像标识GdipGetImageRawFormat图像标识(图片,@标识)获取此Image对象的全局唯一标识符(GUID)。
图像格式GdipGetImagePixelFormat图像格式(图片,@格式)获取此Image对象的像素格式。
图像缩略GdipGetImageThumbnail图像缩略(图片,宽,高,@小图,回调,附加)从图片对象获取缩略图
添加存图GdipSaveAdd添加存图(图片,编码)将所选帧从多帧图像保存到文件流。
添加新图GdipSaveAddImage添加新图(图片,新图,编码)将所选帧从多帧图像保存到文件流。
文件存图GdipSaveImageToFile文件存图(图片,文件名,类型,编码)将图像保存到文件。
数据存图GdipSaveImageToStream数据存图(图片,文件名,类型,编码)将图像保存到文件流。
处理图像GdipDisposeImage处理图像(图片)处理指定的图片对象。
初始图像GdipCloneImage初始图像(图片,变量)创建一个新的图片对象,并使用此Image对象的内容进行初始化。
位图传输BitBlt函数使用的光栅定义
中文名英文名数值作用
黑调色板BLACKNESS$00000042使用与物理调色板中的0号颜色(黑色)填充目标矩形。
白调色板WHITENESS$00FF0062使用与物理调色板中的1号颜色(白色)填充目标矩形。
合并图层CAPTUREBLT$40000000在生成的图像中包括分层在窗口顶部的任何窗口。
反转图形DSTINVERT$00550009反转目标矩形。
合并复制MERGECOPY$00C000CA使用布尔 AND 运算符将源矩形的颜色与当前在目标设备中选择的画笔合并。
反色合并MERGEPAINT$00BB0226使用布尔 OR 运算符将反转源矩形的颜色与目标矩形的颜色合并。
防止镜像NOMIRRORBITMAP$80000000防止对位图进行镜像。
反转复制NOTSRCCOPY$00330008将反转的源矩形复制到目标。
反色混合NOTSRCERASE$001100A6使用布尔 OR 运算符组合源矩形和目标矩形的颜色,然后反转生成的颜色。
填色复制PATCOPY$00F00021将当前在目标设备中选择的画笔复制到目标位图中。
混色复制PATINVERT$005A0049使用布尔 XOR 运算符将当前在目标设备中选择的画笔的颜色与目标矩形的颜色组合在一起。
加色复制PATPAINT$00FB0A09此操作的结果通过使用布尔 OR 运算符与目标矩形的颜色相结合。
降色复制SRCAND$008800C6使用布尔 AND 运算符组合源矩形和目标矩形的颜色。
原图复制SRCCOPY$00CC0020将源矩形直接复制到目标矩形。
反图复制SRCERASE$00440328使用布尔 AND 运算符将目标矩形的反面颜色与源矩形的颜色组合在一起。
混图复制SRCINVERT$00660046使用布尔 XOR 运算符组合源矩形和目标矩形的颜色。
加图复制SRCPAINT$00CC0020使用布尔 OR 运算符组合源矩形和目标矩形的颜色。
Win32编程常用函数-odbc32库
中文名称英文名称示例作用
数据分配SQLAllocHandle数据分配(类型,输入,输出)分配环境=1、连接=2、语句=3或描述符=4句柄。
数据绑定SQLBindParameter数据绑定(语句柄,序号,参类,C类,SQL类,大小,列数,缓冲,长度,指针)将缓冲区绑定到SQL语句中的参数标记。
数据连接SQLConnectA数据连接(连接,数据源,字长,用户,字长,密码,长度)与驱动程序和数据源建立连接。
数据关闭SQLDisconnect数据关闭(连接)关闭与特定连接句柄关联的连接。
驱动连接SQLDriverConnectA驱动连接(连接,窗口,连接字符,字长,已连字符,字长,0,标志)与驱动程序和数据源建立连接。
提交执行SQLExecDirectA提交执行(语句柄,语句,长度)提交 SQL 语句以进行一次性执行。
数据执行SQLExecute数据执行(语句柄)使用参数标记变量的当前值执行已准备的语句。
数据换行SQLFetch数据换行(语句柄)从结果集中提取下一行数据集,并返回所有绑定列的数据。
数据释放SQLFreeHandle数据释放(类型,对象)释放与特定环境、连接、语句或描述符句柄关联的资源。
获取数据SQLGetData获取数据(语句柄,列,C类,缓冲,长度,已读)在结果集中检索单个列的数据
数据参数SQLNumParams数据参数(语句柄,数量)返回 SQL 语句中的参数数量。
数据列数SQLNumResultCols数据列数(语句柄,列数)返回结果集中的列数。
参数数据SQLParamData参数数据(语句柄,缓冲)返回 数据绑定 中指定的缓冲区的地址
写入数据SQLPutData写入数据(语句柄,缓冲,长度)许应用程序在语句执行时向驱动程序发送参数或列的二进制数据。
数据变数SQLRowCount数据变数(语句柄,行数)返回受 UPDATE、 INSERT 或 DELETE 语句影响的行数;
连接属性SQLGetConnectAttrA连接属性(连接,属性,缓冲,长度,已取)获取连接属性的当前设置。
设置连接SQLSetConnectAttrA设置连接(连接,属性,值,长度)设置连接方面的属性。
环境属性SQLGetEnvAttr环境属性(环境,属性,缓冲,长度,已取)获取管理环境方面的属性。
设置环境SQLSetEnvAttr设置环境(环境,属性,值,长度)设置管理环境方面的属性。
语句属性SQLGetStmtAttrA语句属性(语句,属性,缓冲,长度,已取)获取语句属性的当前设置。
设置语句SQLSetStmtAttrA设置语句(语句,属性,值,长度)设置与语句相关的属性。
数据插入SQLBulkOperations数据插入(语句,操作)执行批量插入和批量书签操作,包括通过书签进行更新、删除和提取。
数据游标SQLSetPos数据游标(语句,行号,操作,锁方式)设置行集中的游标位置,并允许应用程序刷新行集中的数据或更新或删除结果集中的数据。
ODBC中的 C 数据类型
C 类型标识符ODBC C typedefC 类型
SQL_C_CHARSQLCHAR *unsigned char *
SQL_C_WCHARSQLWCHAR *wchar_t *
SQL_C_SSHORT[j]SQLSMALLINTshort int
SQL_C_USHORT[j]SQLUSMALLINTunsigned short int
SQL_C_SLONG[j]SQLINTEGERlong int
SQL_C_ULONG[j]SQLUINTEGERunsigned long int
SQL_C_FLOATSQLREALFLOAT
SQL_C_DOUBLESQLDOUBLE、SQLFLOATdouble
SQL_C_BITSQLCHARunsigned char
SQL_C_STINYINT[j]SQLSCHARsigned char
SQL_C_UTINYINT[j]SQLCHARunsigned char
SQL_C_SBIGINTSQLBIGINT_int64[h]
SQL_C_UBIGINTSQLUBIGINTunsigned _int64[h]
SQL_C_BINARYSQLCHAR *unsigned char *
SQL_C_BOOKMARK[i]书签unsigned long int[d]
SQL_C_VARBOOKMARKSQLCHAR *unsigned char *
Win32编程常用函数-opengl32库
中文名称英文名称示例作用
累积缓冲glAccum累积缓冲(操作,小数值)对累积缓冲区进行操作。
透明函数glAlphaFunc透明函数(比较函数,引用值)使应用程序能够设置透明通道测试函数。
查找纹理glAreTexturesResident查找纹理(纹理数,名称,@地址)确定指定的纹理对象是否驻留在纹理内存中。
顶点元素glArrayElement顶点元素(序号)指定用于呈现顶点的数组元素。
开始分形glBegin开始分形(模式)分隔基元或一组类似基元的顶点。
结束分形glEnd结束分形结束分隔基元或一组类似基元的顶点。
绑定纹理glBindTexture绑定纹理(目标,名称)允许创建绑定到纹理目标的命名纹理。
绘制位图glBitmap绘制位图(宽,高,x,y,x偏移,y偏移,图片)结束分隔基元或一组类似基元的顶点。
像素算法glBlendFunc像素算法(源算法,目标算法)指定像素算术。
执行列表glCallList执行列表(列表)执行显示列表。
执行多表glCallLists执行多表(数量,类型,列表组)执行显示列表的列表。
清理预设glClear清理预设(掩码)将缓冲区清除为预设值。
清理累积glClearAccum清理累积(红,绿,蓝,透明)指定累积缓冲区的清除值。
清理颜色glClearColor清理颜色(红,绿,蓝,透明)指定颜色缓冲区的清除值。
清理深度glClearDepth清理深度(深度)指定深度缓冲区的清除值。
清理索引glClearIndex清理索引(索引)指定颜色索引缓冲区的清除值。
清理模具glClearStencil清理模具(序号)指定模具缓冲区的清除值。
剪切平面glClipPlane剪切平面(平面,公式)指定对所有几何图形进行剪切的平面。
三色字节glColor3b三色字节(红,绿,蓝)用字节数设置当前颜色。
三色字组glColor3bv三色字节(色组)设置现有颜色值数组中的当前颜色。
三色双精glColor3d三色双精(红,绿,蓝)用双精度浮点数设置当前颜色。
三色双组glColor3dv三色双组(色组)设置现有颜色值数组中的当前颜色。
三色小数glColor3f三色字节(红,绿,蓝)用小数设置当前颜色。
三色小组glColor3fv三色小组(色组)设置现有颜色值数组中的当前颜色。
三色整数glColor3i三色整数(红,绿,蓝)用整数设置当前颜色。
三色整组glColor3iv三色整组(色组)设置现有颜色值数组中的当前颜色。
三色短数glColor3s三色短数(红,绿,蓝)用短整数设置当前颜色。
三色短组glColor3sv三色短组(色组)设置现有颜色值数组中的当前颜色。
四色字节glColor4b四色字节(红,绿,蓝,透明)用字节数设置当前颜色。
四色字组glColor4bv四色字节(色组)设置现有颜色值数组中的当前颜色。
四色双精glColor4d四色双精(红,绿,蓝,透明)用双精度浮点数设置当前颜色。
四色双组glColor4dv四色双组(色组)设置现有颜色值数组中的当前颜色。
四色小数glColor4f四色字节(红,绿,蓝,透明)用小数设置当前颜色。
四色小组glColor4fv四色小组(色组)设置现有颜色值数组中的当前颜色。
四色整数glColor4i四色整数(红,绿,蓝,透明)用整数设置当前颜色。
四色整组glColor4iv四色整组(色组)设置现有颜色值数组中的当前颜色。
四色短数glColor4s四色短数(红,绿,蓝,透明)用短整数设置当前颜色。
四色短组glColor4sv四色短组(色组)设置现有颜色值数组中的当前颜色。
颜色掩藏glColorMask颜色掩藏(红,绿,蓝,透明)启用和禁用帧缓冲区各种颜色组件的写入。
颜色跟踪glColorMaterial颜色跟踪(面料,材料)导致材料颜色跟踪当前颜色。
颜色位组glColorPointer颜色位组(色位,类型,步幅,指针)定义颜色数组。色位只有3和4
复制像素glCopyPixels复制像素(x,y,宽,高,类型)复制帧缓冲区中的像素。
复制一维glCopyTexImage1D复制一维(目标,级别,格式,x,y,宽,边框)将帧缓冲区中的像素复制到一维纹理图像中。
复制二维glCopyTexImage2D复制二维(目标,级别,格式,x,y,宽,高,边框)将帧缓冲区中的像素复制到二维纹理图像中。
一维子图glCopyTexSubImage1D一维子图(目标,级别,偏移,x,y,宽)从框架缓存复制一维纹理图像的子图像。
二维子图glCopyTexSubImage1D二维子图(目标,级别,x偏移,y偏移,x,y,宽,高)从框架缓存复制二维纹理图像的子图像。
剔除画面glCullFace剔除画面(模式)指定是否可以剔除正面或后向面面。
删除列表glDeleteLists删除列表(列表,数量)删除一组连续的显示列表。
删除纹理glDeleteTextures删除纹理(数量,数组)删除命名纹理。
深度比值glDepthFunc深度比值(方式)指定用于深度缓冲区比较的值。
深度掩码glDepthMask深度掩码(标志)启用或禁用写入深度缓冲区。
深度范围glDepthRange深度范围(准裁,远裁)指定从规范化设备坐标到窗口坐标的 z 值的映射。
禁用图库glDisable禁用图库(方式)禁用 OpenGL 功能。
禁用组态glDisableClientState禁用组态(数组)禁用数组。
绘制组元glDrawArrays绘制组元(模式,起始,数量)指定要呈现的多个基元。
绘制缓存glDrawBuffer绘制缓存(方式)指定要绘制到哪些颜色缓冲区中。
绘制元素glDrawElements绘制缓存(模式,数量,类型,索引)从数组数据呈现基元。
绘制像素glDrawPixels绘制像素(宽,高,格式,类型,像素)将像素块写入帧缓冲区。
边界标记glEdgeFlag边界标记(标志)将边缘标记为边界或非边界(真或假)。
边界标组glEdgeFlagv边界标组(数组)将边缘标记为边界或非边界(布尔数组)。
边界元素glEdgeFlagPointer边界元素(步幅,数组)定义边缘标志数组。
启用图库glEnable启用图库(方式)启用 OpenGL 功能。
启用组态glDisableClientState启用组态(数组)启用数组。
消除列表glEndList消除列表定义边缘标志数组。
一维双精glEvalCoord1d一维双精(基数)计算已启用的一维映射。
一维双组glEvalCoord1dv一维双组(数组)评估已启用的一维映射。
一维小数glEvalCoord1f一维小数(基数)计算已启用的一维映射。
一维小组glEvalCoord1fv一维小组(数组)评估已启用的一维映射。
二维双精glEvalCoord2d二维双精(基数)计算已启用的二维映射。
二维双组glEvalCoord2dv二维双组(数组)评估已启用的二维映射。
二维小数glEvalCoord2f二维小数(基数)计算已启用的二维映射。
二维小组glEvalCoord2fv二维小组(数组)评估已启用的二维映射。
一维网格glEvalMesh1一维网格(模式,开头,结尾)计算点或线条的一维网格。
二维网格glEvalMesh2二维网格(模式,开头1,结尾1,开头2,结尾2)计算点或线条的二维网格。
一维网点glEvalPoint1一维网点(域值)生成和评估网格中的单个点。
二维网点glEvalPoint2二维网点(域值1,域值2)生成和计算网格中的单个点。
反馈缓冲glFeedbackBuffer反馈缓冲(大小,类型,缓冲)控制反馈模式。
终结图库glFinish终结图库阻止所有 OpenGL 执行完成。
执行图库glFlush执行图库在有限时间内强制执行 OpenGL 函数。
雾化小数glFogf雾化小数(效果,雾值)指定雾参数。
雾化小组glFogfv雾化小组(效果,数组)指定雾参数。
雾化整数glFogi雾化整数(效果,雾值)指定雾参数。
雾化整组glFogiv雾化整组(效果,数组)指定雾参数。
正多边形glFrontFace正多边形(方向)定义正面多边形和后向多边形。
透视矩阵glFrustum透视矩阵(左,右,底,顶,近深,远深)将当前矩阵乘以透视矩阵。
空列表组glGenLists列表=空列表组(数目)生成一组连续的空显示列表。
取布尔值glGetBooleanv取布尔值(参数,取值)获取所选参数的值
取双精值glGetDoublev取双精值(参数,取值)获取所选参数的值
取小数值glGetFloatv取小数值(参数,取值)获取所选参数的值
取整数值glGetIntegerv取整数值(参数,取值)获取所选参数的值
剪辑系数glGetClipPlane剪辑系数(平面,系数)获取指定剪辑平面的系数
图库错误glGetError错误=图库错误返回错误信息。
取调色表glGetColorTableEXT取调色表(目标,格式,类型,数据)获取当前目标纹理调色板的颜色表数据。
色表小数glGetColorTableParameterfvEXT色表小数(目标,参数,数据)从颜色表获取调色板参数。
色表整数glGetColorTableParameterivEXT色表整数(目标,参数,数据)从颜色表获取调色板参数。
光源小数glGetLightfv光源小数(光源,参数,数据)获取光源参数值。
光源整数glGetLightiv光源整数(光源,参数,数据)获取光源参数值。
地图双值glGetMapdv地图双值(目标,查询,数据)返回计算器参数。
地图小数glGetMapfv地图小数(目标,查询,数据)返回计算器参数。
地图整数glGetMapiv地图整数(目标,查询,数据)返回计算器参数。
材料小数glGetGetMaterialfv材料小数(材料,参数,数据)获取材料参数值。
材料整数glGetGetMaterialiv材料整数(材料,参数,数据)获取材料参数值。
像素小数glGetGetPixelMapfv像素小数(像素名,数据)获取像素参数值。
像素整数glGetGetPixelMapuiv像素整数(像素名,数据)获取像素参数值。
像素短数glGetGetPixelMapusv像素短数(像素名,数据)获取像素参数值。
顶点数据glGetPointerv顶点数据(类型,数据)返回顶点数据数组的地址。
多边点图glGetPolygonStipple多边点图(掩码)返回多边形存根模式。
图库字符glGetString内容=图库字符(类型)返回描述当前 OpenGL 连接的字符串。
环境小数glGetTexEnvfv环境小数(环境,参数,数据)获取纹理环境参数值。
环境整数glGetTexEnviv环境整数(环境,参数,数据)获取纹理环境参数值。
坐标双值glGetTexGendv坐标双值(坐标,名称,数据)获取纹理坐标生成参数。
坐标小数glGetTexGenfv坐标小数(坐标,名称,数据)获取纹理坐标生成参数。
坐标整数glGetTexGeniv坐标整数(坐标,名称,数据)获取纹理坐标生成参数。
纹理图像glGetTexImage纹理图像(纹理,级别,格式,类型,像素)返回纹理图像。
级别小数glGetTexLevelParameterfv级别小数(目标,级别,参数,数据)获取特定详细级别的纹理参数值。
级别整数glGetTexLevelParameteriv级别整数(目标,级别,参数,数据)获取特定详细级别的纹理参数值。
纹理小数glGetTexParameterfv纹理小数(纹理,参数,数据)获取纹理参数值。
纹理整数glGetTexParameteriv纹理整数(纹理,参数,数据)获取纹理参数值。
采样质量glHint采样质量(行为,模式)返回顶点数据数组的地址。
索引掩码glIndexMask索引掩码(掩码)控制在颜色索引缓冲区中写入单个掩码位。
索引色组glIndexPointer索引色组(类型,步幅,数组)定义颜色索引数组
索引掩码glIndexMask索引掩码(掩码)控制在颜色索引缓冲区中写入单个掩码位。
索引双精glIndexd索引双精(数值)用双精度浮点数设置当前颜色索引。
索引双组glIndexdv索引双组(数组)设置现有颜色值数组中的当前颜色索引。
索引小数glIndexf索引字节(数值)用小数设置当前颜色索引。
索引小组glIndexfv索引小组(数组)设置现有颜色值数组中的当前颜色索引。
索引整数glIndexi索引整数(数值)用整数设置当前颜色索引。
索引整组glIndexiv索引整组(数组)设置现有颜色值数组中的当前颜色索引。
索引短数glIndexs索引短数(数值)用短整数设置当前颜色索引。
索引短组glIndexsv索引短组(数组)设置现有颜色值数组中的当前颜色索引。
索引字节glIndexub索引字节(数值)用字节设置当前颜色索引。
索引字组glIndexubv索引字组(数组)设置现有颜色值数组中的当前颜色索引。
初始名称glInitNames初始名称初始化名称堆栈。
交错阵列glInterleavedArrays交错阵列(格式,步幅,数组)同时指定并启用较大的聚合数组中的多个交错数组。
启用功能glIsEnabled启用功能(功能)测试是否启用了功能。
是否列表glIsList是否列表(列表)测试显示列表是否存在。
是否纹理glIsTexture是否纹理(纹理)确定名称是否对应于纹理。
光线小数glLightf光线小数(光线,参数,数据)获取光线参数值。
光线小组glLightfv光线小组(光线,参数,数据)获取光线参数值。
光线整数glLighti光线整数(光线,参数,数据)获取光线参数值。
光线整组glLightiv光线整组(光线,参数,数据)获取光线参数值。
光模小数glLightModelf光模小数(参数,数据)设置照明模型参数值。
光模小组glLightModelfv光模小组(参数,数据)设置照明模型参数值。
光模整数glLightModeli光模整数(参数,数据)设置照明模型参数值。
光模整组glLightModeliv光模整组(参数,数据)设置照明模型参数值。
线点图案glLineStipple线点图案(乘数,图案)设定线点绘图案
光栅线宽glLineWidth光栅线宽(线宽)指定光栅化线的宽度。
列表基数glListBase列表基数(偏移量)设置显示列表基础。
本征矩阵glLoadIdentity本征矩阵将当前矩阵替换为标识矩阵。
双数矩阵glLoadMatrixd双数矩阵(阵列)将当前矩阵替换为任意矩阵。
小数矩阵glLoadMatrixf小数矩阵(阵列)将当前矩阵替换为任意矩阵。
加载名称glLoadName加载名称(名称)将名称加载到名称堆栈中。
渲染像素glLogicOp渲染像素(逻辑符)指定颜色索引呈现的逻辑像素操作。
视点转换gluLookAt视点转换(相机x,相机y,相机z,镜头x,镜头y,镜头z,面向x,面向y,面向z)定义查看转换。
一维求双glMap1d一维求双(目标,线性1,线性2,步幅,点数,数组)定义一维计算器。
一维求小glMap1f一维求小(目标,线性1,线性2,步幅,点数,数组)定义一维计算器。
二维求双glMap2d二维求双(目标,u1,u2,步幅,维度,v1,v2,步长,维数,数组)定义二维计算器。
二维求小glMap2f二维求小(目标,u1,u2,步幅,维度,v1,v2,步长,维数,数组)定义二维计算器。
一网双数glMapGrid1d一网双数(分区,始值,终值)定义一维网格。
一网小数glMapGrid1f一网小数(分区,始值,终值)定义一维网格。
二网双数glMapGrid2d二网双数(分区,始值,终值,分区,始值,终值)定义二维网格。
二网小数glMapGrid2f二网小数(分区,始值,终值,分区,始值,终值)定义二维网格。
照材小数glMaterialf照材小数(脸,材料,参数)指定照明模型的材料参数。
照材小组glMaterialfv照材小组(脸,材料,数组)指定照明模型的材料参数。
照材整数glMateriali照材整数(脸,材料,参数)指定照明模型的材料参数。
照材整组glMaterialiv照材整组(脸,材料,数组)指定照明模型的材料参数。
矩阵模式glMatrixMode矩阵模式(模式)指定哪个矩阵是当前矩阵。
乘矩阵双glMultMatrixd乘矩阵双(矩阵)将当前矩阵乘以任意矩阵。
乘矩阵小glMultMatrixf乘矩阵小(矩阵)将当前矩阵乘以任意矩阵。
缩放双数glScaled缩放双数(x,y,z)将当前矩阵乘以缩放矩阵。
缩放小数glScalef缩放小数(x,y,z)将当前矩阵乘以缩放矩阵。
转矩双数glTranslated转矩双数(x,y,z)将当前矩阵乘以转矩矩阵。
转矩小数glTranslatef转矩小数(x,y,z)将当前矩阵乘以转矩矩阵。
旋转双数glRotated旋转双数(角度,x,y,z)将当前矩阵乘以旋转矩阵。
旋转小数glRotatef旋转小数(角度,x,y,z)将当前矩阵乘以旋转矩阵。
二点双数glVertex2d二点双数(x,y)指定顶点。
二点双组glVertex2dv二点双组(x,y)指定顶点。
二点小数glVertex2f二点小数(x,y)指定顶点。
二点小组glVertex2fv二点小组(x,y)指定顶点。
二点整数glVertex2i二点整数(x,y)指定顶点。
二点整组glVertex2iv二点整组(x,y)指定顶点。
二点短数glVertex2s二点短数(x,y)指定顶点。
二点短组glVertex2sv二点短组(x,y)指定顶点。
三点双数glVertex3d三点双数(x,y,z)指定顶点。
三点双组glVertex3dv三点双组(x,y,z)指定顶点。
三点小数glVertex3f三点小数(x,y,z)指定顶点。
三点小组glVertex3fv三点小组(x,y,z)指定顶点。
三点整数glVertex3i三点整数(x,y,z)指定顶点。
三点整组glVertex3iv三点整组(x,y,z)指定顶点。
三点短数glVertex3s三点短数(x,y,z)指定顶点。
三点短组glVertex3sv三点短组(x,y,z)指定顶点。
四点双数glVertex4d四点双数(x,y,z,w)指定顶点。
四点双组glVertex4dv四点双组(x,y,z,w)指定顶点。
四点小数glVertex4f四点小数(x,y,z,w)指定顶点。
四点小组glVertex4fv四点小组(x,y,z,w)指定顶点。
四点整数glVertex4i四点整数(x,y,z,w)指定顶点。
四点整组glVertex4iv四点整组(x,y,z,w)指定顶点。
四点短数glVertex4s四点短数(x,y,z,w)指定顶点。
四点短组glVertex4sv四点短组(x,y,z,w)指定顶点。
顶点数组glVertexPointer顶点数组(大小,类型,步幅,指针)定义顶点数据的数组
设置视区glViewport设置视区(左,上,宽,高)设置视区
复制渲染wglCopyContext复制渲染(源,目标,方式)将所选的呈现状态组复制到另一个OpenGL渲染设备。
创建渲染wglCreateContext渲染=创建渲染(设备)在hdc设备上创建一个新的 OpenGL 渲染设备。呈现设备具有与hdc设备相同的像素格式。
渲染函数wglGetProcAddress渲染函数(函数名)返回用于当前OpenGL渲染设备的扩展函数地址。
新渲染层wglCreateLayerContext新渲染层(设备,层面)创建一个新的OpenGL渲染设备。用于绘制到指定层平面。
指定渲染wglMakeCurrent指定渲染(设备,渲染)将指定的OpenGL渲染作为调用线程的当前渲染。
删除渲染wglDeleteContext删除渲染(渲染)删除指定的OpenGL渲染。
层面信息wglDescribeLayerPlane层面信息(设备,层面,哪面,长度,结构)获取有关给定像素格式的层平面的信息。
当前渲染wglGetCurrentContext渲染=当前渲染返回当前OpenGL设备的渲染呈现。
当前设备wglGetCurrentDC设备=当前设备返回当前OpenGL设备的上下文。
层面色板wglGetLayerPaletteEntries层面色板(设备,哪面,色板项,色板数,色组)从指定设备的给定颜色索引层平面中检索调色板条目。
色板层面wglSetLayerPaletteEntries色板层面(设备,哪面,色板项,色板数,色组)为指定的设备设置给定颜色索引层平面中的调色板条目。
映射色板wglRealizeLayerPalette映射色板(设备,哪面,物理)将给定颜色索引层平面中的调色板条目映射到物理调色板或初始化 RGBA 层平面的调色板。
共享列表wglShareLists共享列表(渲染1,渲染2)允许多个渲染共享单个显示列表空间。
交换层面wglSwapLayerBuffers交换层面(设备,层面)交换由指定设备上下文引用的窗口覆盖层、下层和主平面中的前后缓冲区。