第一节 入门
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}
}这是给五个矩形类变量初始化值的写法,五组大括号里都包含有四个变量的数值
下面是坐标类,尺寸类,矩形类的详细介绍,更多结构体详见:
常用结构体类型定义
中文名字 | 英文名称 | 长度 | 作用解释 |
坐标类 | POINT | 8 | 用来存储坐标位置的信息 |
坐标类 成员表 |
中文 | 英文 | 类型 | 作用解释 |
左 | x | 整数 | 水平坐标位置。 |
顶 | y | 整数 | 垂直坐标位置。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
尺寸类 | SIZE | 8 | 用来存储尺寸大小的信息 |
尺寸类 成员表 |
中文 | 英文 | 类型 | 作用解释 |
宽 | cx | 整数 | 尺寸大小的宽度。 |
高 | cy | 整数 | 尺寸大小的高度。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
矩形类 | RECT | 16 | 用来表示一个矩形框的四条边位置。 |
矩形类——成员表 |
左 | 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 | 日期 | DateTime | 64位整数 |
long | 大数 | BigInt | 64位整数 |
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,都按否则进行处理
信息框、消息框、延时框——图标按钮样式
中文名字 | 常量数值 | 英文名称 | 释义 |
确定取消 | $000001 | MB_OKCANCEL | 弹出的信息框包含“确定”和“取消”两个按钮 |
中止重试 | $000002 | MB_ABORTRETRYIGNORE | 弹出的信息框包含“中止”、“重试”和“放弃”三个按钮 |
是否取消 | $000003 | MB_YESNOCANCEL | 弹出的信息框包含“是”、“否”和“取消”三个按钮 |
弹出是否 | $000004 | MB_YESNO | 弹出的信息框包含“是”和“否”两个按钮 |
重试取消 | $000005 | MB_RETRYCANCEL | 弹出的信息框包含“重试”和“取消”两个按钮 |
错误图标 | $000010 | MB_ICONHAND | 弹出的信息框包含红色的“错号”图标 |
问号图标 | $000020 | MB_ICONQUESTION | 弹出的信息框包含蓝色的“问号”图标 |
惊叹图标 | $000030 | MB_ICONEXCLAMATION | 弹出的信息框包含黄色三角的“惊叹”图标 |
信息图标 | $000040 | MB_ICONASTERISK | 弹出的信息框包含蓝色的“i符号”图标 |
用户图标 | $000080 | MB_USERICON | 弹出的信息框可以显示用户自定义图标 |
弹出系统 | $001000 | MB_SYSTEMMODAL | 弹出窗口会置顶,且标题栏有系统图标。 |
弹出任务 | $002000 | MB_TASKMODAL | 弹出窗口到任务栏显示 |
帮助按钮 | $004000 | MB_HELP | 弹出窗口包含“帮助”按钮。 |
弹出置前 | $010000 | MB_SETFOREGROUND | 消息框变为前景窗口。 |
默认桌面 | $020000 | MB_DEFAULT_DESKTOP_ONLY | 当前桌面为默认桌面才会返回 |
弹出置顶 | $040000 | MB_TOPMOST | 消息框置顶显示。 |
文字居右 | $080000 | MB_RIGHT | 消息框的内容文字居右显示。 |
图标居右 | $100000 | MB_RTLREADING | 内容文字在左边,图标在右边,标题文字也在右边 |
弹出服务 | $200000 | MB_SERVICE_NOTIFICATION | 弹出的消息框即使没有登陆到系统,也会显示。 |
信息框、消息框、延时框——点击按钮返回值
中文名字 | 常量数值 | 英文名称 | 释义 |
选了确定 | 1 | IDOK | 点击选中了"确定"按钮 |
选了取消 | 2 | IDCANCEL | 点击选中了"取消"按钮 |
选了中止 | 3 | IDABORT | 点击选中了"中止"按钮 |
选了重试 | 4 | IDRETRY | 点击选中了"重试"按钮 |
选了忽略 | 5 | IDIGNORE | 点击选中了"忽略"按钮 |
选了是 | 6 | IDYES | 点击选中了"是"按钮 |
选了否 | 7 | IDNO | 点击选中了"否"按钮 |
选了关闭 | 8 | IDCLOSE | 点击选中了"关闭"按钮 |
选了帮助 | 9 | IDHELP | 点击选中了"帮助"按钮 |
窗口(对话框/控件)——发送/接收消息:
窗口消息可以使用
发送消息向窗口发送消息,也可以在窗体消息这里处理接收的消息
初级程序默认的代码都有
窗体消息这个程序段,在这里可以控制键盘鼠标等各种消息
程序段 窗体消息(窗口,消息,参数,数据)
文本 内容[16]="数值"-数据;
判断(消息)为 窗口创建{信息框(0,"创建")}
为 程序关闭{停止(0)}
为 窗口移动{窗体~内容}
为 窗口缩放{窗体~内容}
为 单击左键{左键点击(参数)}
否则 处理窗口(窗口,消息,参数,数据)
结束
上面这段代码是在收到窗口创建消息时, 弹出信息框;在收到程序关闭消息时停止程序运行
在收到窗口移动消息时,显示窗口的位置(左顶);在收到窗口缩放消息时,显示窗口的大小(宽高)
当然也可以使用发送消息给窗口,让程序来处理;
发送消息(窗体,窗口关闭,0,0)
有些消息主要常用来接收处理,例如窗口改变或键盘鼠标等;有些消息就常用来发送,如获取设置文本等
中文名字 | 常量数值 | 英文名称 | 释义 |
窗口创建 | 1 | WM_CREATE | 新建一个窗口。③参数:0;④数据:创建窗口的数据结构 |
程序关闭 | 2 | WM_DESTROY | 销毁一个窗口。③参数:0;④数据:0 |
窗口移动 | 3 | WM_MOVE | 移动一个窗口。③参数:0;④数据:xy坐标(各占16位) |
窗口缩放 | 5 | WM_SIZE | 改变一个窗口的大小。③参数:0=已调整;1最小化;2最大化,3其它窗口还原;4其它窗口最大化;④数据:宽高大小(各16位) |
窗口激活 | 6 | WM_ACTIVATE | 一个窗口被激活或失去激活状态。③参数:0关闭,1非鼠标激活,2鼠标激活;④数据:参数为0是激活窗口,非0是停用的窗口 |
获得焦点 | 7 | WM_SETFOCUS | 将键盘焦点转向一个窗口。③参数:失去焦点的窗口,可为0;④数据:0 |
失去焦点 | 8 | WM_KILLFOCUS | 使一个窗口失去焦点。③参数:接收焦点的窗口,可为0;④数据:0 |
可用状态 | 10 | WM_ENABLE | 使一个窗口处于可用状态。③参数:0为禁用,非零启用;④数据:0 |
是否重绘 | 11 | WM_SETREDRAW | 设置窗口是否能重绘。③参数:0不重绘,非0重绘;④数据:0 |
窗口重绘 | 15 | WM_PAINT | 当需要绘制一部分应用窗口的时候,发送本消息给所有者程序。③参数:0;④数据:0 |
窗口关闭 | $0010 | WM_CLOSE | 用户关闭窗口时会发送本消息,紧接着会发送程序关闭消息。③参数:0;④数据:0 |
消息结束 | $0012 | WM_QUIT | 提交退出函数提交一个代码数值,程序收到此消息,用以关闭消息循环,结束程序的运行。③参数:退出码;④数据:0 |
窗口恢复 | $0013 | WM_QUERYOPEN | 最小化的窗口即将被恢复以前的大小位置。③参数:0;④数据:0 |
擦除背景 | $0014 | WM_ERASEBKGND | 当一个窗口的背景必须被擦除时本消息会被触发(如:窗口大小改变时)。③参数:设备;④数据:0 |
显示窗口 | $0018 | WM_SHOWWINDOW | 发送本消息给一个窗口,以便隐藏或显示该窗口。③参数:0隐藏,非0显示;④数据:0不变,1最小化,2最大化,3正在还原,4已被还原 |
界面激活 | $001C | WM_ACTIVATEAPP | 窗口进程激活状态改动,正被激活的窗口属于不同的应用程序。③参数:0停用,非0激活;④数据:线程标识 |
模态窗口 | $001F | WM_CANCELMODE | 发送本消息来取消某种正在进行的模态(操作)(如鼠示捕获),例如:启动一个模态窗口时,父窗会收到本消息;③参数:0;④数据:0 |
拖放小窗 | $0037 | WM_QUERYDRAGICON | 本消息发送给最小化的窗口,当该窗口将被拖放而其窗口类中没有定义图标,应用程序能返回一个图标或光标的句柄。③参数:0;④数据:0 |
显存不足 | $0041 | WM_COMPACTING | 显示内存已经很少了。③参数:时间比;④数据:0。例如,0x8000表示压缩内存所用的 CPU 时间的 50%。 |
首创窗口 | $0081 | WM_NCCREATE | 当某窗口首次被创建时,本消息在WM_CREATE消息发送前发送。③参数:0;④数据:创建窗口的全部数据 |
窗口初始 | $0110 | WM_INITDIALOG | 在某对话框程序被显示前发送本消息给该对话框程序,通常用本消息对控件进行一些初始化工作和执行其它任务。③参数:控件;④数据:其它 |
循环调整 | $231 | WM_ENTERSIZEMOVE | 当某窗口进入移动或调整大小的模式循环时,本消息发送到该窗口。③参数:0;④数据:0 |
退出调整 | $232 | WM_EXITSIZEMOVE | 确定用户改变窗口大小或改变窗口位置的事件是何时完成的。③参数:0;④数据:0 |
窗口绘制 | $317 | WM_PRINT | 请求窗口在指定的设备(如打印机)绘制自身。③参数:设备;④数据:1绘可见窗口,2绘非工作区,4绘工作区,8擦除背景,16绘所有可见子窗,32绘所有窗口 |
绘客户区 | $318 | WM_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就能激活主窗口
当用户按下热键时,系统会生成一条 单击窗口 消息,交给处理窗口函数,会弹出该窗口;设置热键不能指定子窗口
中文名字 | 常量数值 | 英文名称 | 释义 |
设置文本 | 12 | WM_SETTEXT | 设置一个窗口的文本。③参数:0;④数据:内容文本 |
获取文本 | 13 | WM_GETTEXT | 复制窗口的文本到缓冲区。③参数:最大长度;④数据:文本缓冲区 |
文本长度 | 14 | WM_GETTEXTLENGTH | 得到窗口的文本长度(不含结束符)。③参数:0;④数据:0 |
指定字体 | $30 | WM_SETFONT | 指定控件所用字体。③参数:字体;④数据:0不重绘;非0立即重绘 |
获取字体 | $31 | WM_GETFONT | 得到当前控件绘制其文本所用的字体。③参数:0;④数据:0 |
设置热键 | $32 | WM_SETHOTKEY | 为某窗口关联一个热键。③参数:键码/高位1SHIFT,2CTRL,4ALT,8扩展;④数据:0 |
获取热键 | $33 | WM_GETHOTKEY | 为某窗口关联一个热键。③参数:0;④数据:0;返回值:键码/高位1SHIFT,2CTRL,4ALT,8扩展 |
单击窗口 | $112 | WM_SYSCOMMAND | 当用户按下 设置热键 指定的按键。③参数:键值;④数据:窗口 |
热键消息 | $312 | WM_HOTKEY | 当用户按下由注册热键函数注册的热键时。③参数:-1窗口,-2桌面;④数据:低字=1Alt,2CTRL,4SHIFT,8WIN;高字=键码 |
命令消息 | $319 | WM_APPCOMMAND | 用户点击应用程序命令按钮或键盘命令键(如导航刷新搜索)③参数:窗口;④数据:命令/设备/按键 |
窗口外观——控制消息:
整数 图标=加载图像(0,"sec.ico",图标类型,0,0,$10);从文件中加载一个图标,$10标志是从文件加载
发送消息(窗体,设置图标,0,图标);修改窗口标题栏显示的小图标,0是小图标,1是大图标
删除对象(图标);删除加载的图标对象,从而释放读取图标使用的内存
加载图标可以使用系统固有的图标,例如把图标换成
整数 图标=载入图标(0,32518)
显示的就是一个盾牌图标;32512默认图标,32513错误图标,32514问号图标,32515警告图标,32516,信息图标
中文名字 | 常量数值 | 英文名称 | 释义 |
窗口改变 | $0024 | WM_GETMINMAXINFO | 当窗口将要改变大小或位置时,由系统发送本消息给窗口,用户拖动一个可重置大小的窗口时便会发出本消息。③参数:0;④数据:MINMAXINFO结构 |
图标重绘 | $0026 | WM_PAINTICON | 当一个最小化的窗口图标将被重绘时发送本消息。③参数:0;④数据:0 |
图标背景 | $0027 | WM_ICONERASEBKGND | 本消息发送给某个最小化的窗口,仅当它在画图标前它的背景必须被重画。③参数:0;④数据:0 |
切换焦点 | $0028 | WM_NEXTDLGCTL | 发送本消息给一个对话框程序窗口过程,以便在各控件间设置键盘焦点位置。③参数:0下个控件,非0上个控件;④数据:0参数为方向,非0参数为控件对象 |
打印变化 | $002A | WM_SPOOLERSTATUS | 每当打印管理列队增加或减少一条作业时就会发出本消息。③参数:状态;④数据:作业数 |
外观改变 | $002B | WM_DRAWITEM | 按钮、组合框、列表框、菜单的外观改变时会发送本消息给这些控件的所有者。③参数:控件号;④数据:DRAWITEMSTRUCT 结构 |
改变窗口 | $0046 | WM_WINDOWPOSCHANGING | 本消息会发送给那些大小和位置(Z_Order)将被改变的窗口,以调用设置窗口函数或其它窗口管理函数。③参数:0;④数据: WINDOWPOS 结构 |
窗口变化 | $0047 | WM_WINDOWPOSCHANGED | 本消息会发送给那些大小和位置(Z_Order)已被改变的窗口,以调用设置窗口函数或其它窗口管理函数。③参数:0;④数据: WINDOWPOS 结构 |
改变风格 | $007C | WM_STYLECHANGING | 将要改变一个或多个窗口的风格时,发送本消息给那个窗口。③参数:-16窗口样式,-20扩展样式;④数据:STYLESTRUCT 结构 |
风格变化 | $007D | WM_STYLECHANGED | 改变一个或多个窗口的风格后,发送本消息给那个窗口。③参数:-16窗口样式,-20扩展样式;④数据:STYLESTRUCT 结构 |
窗口图标 | $007F | WM_GETICON | 本消息发送给某个窗口,用于返回与某窗口有关联的大图标或小图标的句柄。③参数:0小图标,1大图标,2生成图标;④数据:DPI大小(16*16) |
设置图标 | $0080 | WM_SETICON | 应用程序发送本消息让一个新的大图标或小图标与某窗口相关联。③参数:0小图标,1大图标;④数据:图标;窗口标题栏是小图标,“Alt+Tab”对话框中显示大图标 |
图片类型
中文名字 | 常量 | 英文名称 | 释义 |
位图类型 | 0 | IMAGE_BITMAP | 位图类型(bmp) |
图标类型 | 1 | IMAGE_ICON | 图标类型(ico) |
光标类型 | 2 | IMAGE_CURSOR | 光标类型(cur) |
强图类型 | 3 | IMAGE_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人员
中文名字 | 常量数值 | 英文名称 | 释义 |
类菜单名 | -8 | GCL_MENUNAME | 获取/替换菜单名字符串的地址。 |
类背景色 | -10 | GCL_HBRBACKGROUND | 获取/替换与类有关的背景刷子的句柄。 |
窗类光标 | -12 | GCL_HCURSOR | 获取/替换与类有关的光标的句柄。 |
窗类图标 | -14 | GCL_HICON | 获取/替换与类有关的图标的句柄。 |
窗类模块 | -16 | GCL_HMODULE | 获取/替换注册类的模块的句柄。 |
窗类内存 | -18 | GCL_CBWNDEXTRA | 获得/修改与类中的每个窗口相关的额外窗口中内存空间的字节大小 |
窗类尺寸 | -20 | GCL_CBCLSEXTRA | 设置与类相关的尺寸的大小。不改变己分配的额外字节数。 |
窗类过程 | -24 | GCL_WNDPROC | 获取/替换与窗口类有关的窗口过程的地址。 |
窗类风格 | -26 | GCL_STYLE | 获取/替换窗口类的风格位。 |
窗类原子 | -32 | GCW_ATOM | 获得一个唯一标识窗口类的原子值 |
类小图标 | -34 | GCL_HICONSM | 获得与类有关的小图标句柄。 |
修改窗口属性——外观指针
改窗口值(窗体,窗口过程,@消息函数);为窗口过程设置新的函数地址。
改窗口值(窗体,窗口扩展,$200);修改窗体的扩展窗口风格为3D边框
改窗口值(窗体,窗口数值,数据);修改窗体的定义数值为指定数据
中文名字 | 常量数值 | 英文名称 | 释义 |
窗口过程 | -4 | GWL_WNDPROC | 获得/修改窗口过程的地址 |
窗口实例 | -6 | GWL_HINSTANCE | 获得/修改应用事例的句柄。 |
窗口父级 | -8 | GWL_HWNDPARENT | 获得/修改父窗口句柄。 |
窗口风格 | -16 | GWL_STYLE | 获/修改得窗口风格。 |
窗口扩展 | -20 | GWL_EXSTYLE | 获得/修改扩展窗口风格。 |
窗口数值 | -21 | GWL_USERDATA | 获得/修改与窗口有关的定义数值。 |
窗口标识 | -12 | GWL_ID | 获得/修改窗口标识。 |
对话消息 | 0 | DWL_MSGRESULT | 获得/修改在对话框过程中一个消息处理的返回值。 |
对话过程 | 4 | DWL_DLGPROC | 获得/修改对话框过程的地址 |
对话定义 | 8 | DWL_USER | 获得/修改应用程序私有的额外信息,例如一个句柄或指针。 |
修改窗口显示
显隐窗口(窗体,窗口最小);激活窗口并将其最小化。
显隐窗口(窗体,窗口隐藏);隐藏窗口并激活其他窗口
显隐窗口(窗体,窗口显示);激活窗口并恢复原来的尺寸。
中文名字 | 常量数值 | 英文名称 | 释义 |
窗口隐藏 | 0 | SW_HIDE | 隐藏窗口并激活其他窗口。常用于显隐窗口 |
恢复原来 | 1 | SW_SHOWNORMAL | 激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。 |
窗口最小 | 2 | SW_SHOWMINIMIZED | 激活窗口并将其最小化。 |
窗口最大 | 3 | SW_SHOWMAXIMIZED | 激活窗口并将其最大化 |
恢复最近 | 4 | SW_SHOWNOACTIVATE | 以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态。 |
窗口显示 | 5 | SW_SHOW | 在窗口原来的位置以原来的尺寸激活和显示窗口。 |
最小切换 | 6 | SW_MINIMIZE | 最小化指定的窗口并且激活在Z序中的下一个顶层窗口。 |
最小激活 | 7 | SW_SHOWMINNOACTIVE | 窗口最小化,激活窗口仍然维持激活状态。 |
恢复激活 | 8 | SW_SHOWNA | 以窗口原来的状态显示窗口。激活窗口仍然维持激活状态。 |
激活原来 | 9 | SW_RESTORE | 激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。 |
恢复设定 | 10 | SW_SHOWDEFAULT | 依据在STARTUPINFO结构中指定的SW_FLAG标志设定显示状态 |
修改窗口大小位置和显示隐藏
设置窗口(标签1,0,0,0,0,0,$23);在窗口周围画一个边框。尺寸位置不变
设置窗口(窗口,0,左,顶,0,0,1);设置窗口的位置,忽略宽高
设置窗口(窗口,0,0,0,宽,高,2);设置窗口的宽高,忽略位置。
中文名字 | 常量数值 | 英文名称 | 释义 |
保持尺寸 | $0001 | SWP_NOSIZE | 维持当前尺寸(忽略宽高参数)。常用于设置窗口 |
保持位置 | $0002 | SWP_NOMOVE | 维持当前位置(忽略左顶参数)。 |
保持层序 | $0004 | SWP_NOZORDER | 维持当前Z序。 |
保持图像 | $0008 | SWP_NOREDRAW | 不重画改变的内容。如果设置了这个标志,则不发生任何重画动作。 |
保持状态 | $0010 | SWP_NOACTIVATE | 不激活窗口。 |
增加边框 | $0020 | SWP_DRAWFRAME | 在窗口周围画一个边框(定义在窗口类描述中)。 |
显现窗口 | $0040 | SWP_SHOWWINDOW | 显示窗口 |
隐藏窗口 | $0080 | SWP_HIDEWINDOW | 隐藏窗口 |
清空窗口 | $0100 | SWP_NOCOPYBITS | 清除客户区窗口的所有内容。 |
不变顺序 | $0200 | SWP_NOREPOSITION | 不改变z序中的所有者窗口的位置。 |
防止同步 | $2000 | SWP_DEFERERASE | 防止产生同步消息。 |
防止死锁 | $4000 | SWP_ASYNCWINDOWPOS | 如果进程没有窗口,系统会向有窗口的线程发出消息。防止在其他线程处理消息时发生死锁。 |
修改窗口层序
设置窗口(标签1,0,0,0,0,0,3);设置窗口显示在上层。尺寸位置不变
设置窗口(标签1,-1,0,0,0,0,3);设置窗口显示在最顶层。尺寸位置不变
中文名字 | 常量数值 | 英文名称 | 释义 |
移至顶序 | 0 | HWND_TOP | 将窗口置于Z序的顶部。常用于设置窗口 |
移至底层 | 1 | HWND_BOTTOM | 将窗口置于Z序的底部。顶层窗口失去顶级位置,并且被置在其他窗口的底部。 |
移至顶层 | -1 | HWND_TOPMOST | 将窗口置于所有非顶层窗口之上。即使窗口未被激活窗口也将保持顶级位置。 |
移至顶后 | -2 | HWND_NOTOPMOST | 将窗口置于所有非顶层窗口之上(即在所有顶层窗口之后)。 |
查找指定窗口的指定关系窗口
整数 窗口=获取窗口(窗体,同级首个);查找窗体同级别第一个窗口
整数 窗口=获取窗口(窗体,同级最后);查找窗体同级别最后一个窗口
使用更多的是查找窗口:整数 窗口=查找窗口(0,窗口名)
中文名字 | 常量数值 | 英文名称 | 释义 |
同级首个 | 0 | GW_HWNDFIRST | 同级别第一个,常用于GetWindow |
同级最后 | 1 | GW_HWNDLAST | 同级别最后一个 |
同级下个 | 2 | GW_HWNDNEXT | 同级别下一个 |
同级上个 | 3 | GW_HWNDPREV | 同级别上一个 |
从主窗口 | 4 | GW_OWNER | 属主窗口 |
属子窗口 | 5 | GW_CHILD | 查子窗口 |
属弹出窗 | 6 | GW_ENABLEDPOPUP | 查弹出窗 |
绘制控件——通知消息:
如果是指定多个或多种控件的字体,可以在绘制控件消息时指定,比如判断(消息)
为 绘制编辑{发送消息(数据,指定字体,0,字体)}
绘制不同的控件可以指定不同的字体,如果要所有控件都指定同一种字体,可以用
为 绘制弹窗 ~ 绘制静态{发送消息(数据,指定字体,0,字体)}
使用波浪线符号是从绘制弹窗 到 绘制静态的消息,包括弹窗,编辑框,列表框,按钮,对话框,滚动条,静态标签框这些控件都指定为同一字体
在绘制控件的时候,第三参数为控件的设备,所以也可以用
选择对象(参数,字体)来修改字体,但是这个方法不支持按钮一类的控件
也可以在绘制控件时指定文字颜色和背景颜色,如:
文本改色(参数,$C0FFFF) 改背景色(参数,$C0FF30)
改背景色适合编辑框,其它控件可以使用
创建画刷($C0FFC0)来修改背景,或者使用
固有对象(5)让背景透明,这里5是空画刷
绘制弹窗 | $0132 | WM_CTLCOLORMSGBOX | 系统绘制消息框前发送本消息给消息框的所有者窗口,可用来设置消息框的文本和背景色③参数:设备;④数据:控件 |
绘制编辑 | $0133 | WM_CTLCOLOREDIT | 当一个编辑框控件将要被绘制时,发送本消息给其父窗;可用来设置编辑框的文本和背景色③参数:设备;④数据:控件 |
绘制列表 | $0134 | WM_CTLCOLORLISTBOX | 当一个列表框控件将要被绘制前,发送本消息给其父窗;可用来设置列表框的文本和背景色③参数:设备;④数据:控件 |
绘制按钮 | $0135 | WM_CTLCOLORBTN | 绘制按钮的背景色③参数:设备;④数据:控件 |
绘制对话 | $0136 | WM_CTLCOLORDLG | 绘制对话框的背景色③参数:设备;④数据:控件 |
绘制滚条 | $0137 | WM_CTLCOLORSCROLLBAR | 绘制滚动条的背景色③参数:设备;④数据:控件 |
绘制静态 | $0138 | WM_CTLCOLORSTATIC | 绘制一个静态控件的背景色③参数:设备;④数据:控件 |
控件事件——控制消息:
判断(消息)
为 控件事件 公共事件(数据)调用公共事件这段程序代码,④数据:包含多项事件信息的数据
程序段 公共事件(数据)
整数 窗口=数据&,参数=.&4,事件=.&8
处理窗口(窗口,控件事件,参数,数据)
结束
数据地址里第一个整数是窗口,第二个整数是控件编号(对应窗体消息的参数),第三个整数是控件事件
这种事件是用负数表示,如-2是单击左键,-3是双击左键,具体参照下面:公用控件事件这个表
中文名字 | 常量数值 | 英文名称 | 释义 |
绘制控件 | $0019 | WM_CTLCOLOR | 在每个控件开始绘制之前,都会向其父窗口发送此消息,可用来设置控件显示文本的前景色、背景色以及字体。③参数:设备;④数据:控件 |
控件创建 | $002C | WM_MEASUREITEM | 按钮、组合框、列表框、列表控件、菜单项被创建时会发送本消息给这些控件的所有者。③参数:控件号;④数据:MEASUREITEMSTRUCT 结构 |
删除项目 | $002D | WM_DELETEITEM | 列表框或组合框被销毁或删除清空某些项时,会发送本消息给这些控件的所有者。③参数:控件号;④数据: DELETEITEMSTRUCT 结构 |
列表按键 | $002E | WM_VKEYTOITEM | 响应按键风格的列表框会发出本消息给其所有者,以便响应键盘按下消息。③参数:键码/位置;④数据:列表框 |
列表字符 | $002F | WM_CHARTOITEM | 响应按键风格的列表框会发送本消息给其所有者,以便响应键入字符消息。③参数:键码/位置;④数据:列表框 |
新项位置 | $0039 | WM_COMPAREITEM | 可发送本消息来确定组合框(CBS_SORT)或列表框(LBS_SORT)中新增项的相对位置。③参数:控件号;④数据:COMPAREITEMSTRUCT 结构 |
串口事件 | $0044 | WM_COMMNOTIFY | Win3.1中,当串口事件产生时,通讯设备驱动程序发送消息本消息给系统,指示输入输出队列的状态。 |
控件事件 | $004E | WM_NOTIFY | 当某控件的某事件已发生或该控件需得到一些信息时,发送本消息给其父窗。③参数:控件号;④数据:NMHDR 结构 |
帮助按键 | $0053 | WM_HELP | 按下后,若某菜单是激活的,就发给此窗口关联的菜单;否则就发送给有焦点的窗口;若当前都没有焦点,发给当前激活的窗口。③参数:0;④数据:HELPINFO 结构 |
消息判断 | $0055 | WM_NOTIFYFORMAT | 公用控件、自定义控件和其父窗通过本消息判断控件在WM_NOTIFY通知消息中是使用ANSI还是UNICODE。③参数:窗口;④数据:3控件,4父窗;返回值:1ANSi,2UNICODE |
定时事件 | $0113 | WM_TIMER | 发生了定时器事件。③参数:编号;④数据:回调函数 |
水平滚动 | $0114 | WM_HSCROLL | 当窗口的标准水平滚动条产生一个滚动事件时,发送本消息给该窗口。③参数:低位=0点左键,1点右/下键,2点滑块左,3点滑块右,4按住滑块, 5拖动滑块,6按home,7按END,8释放按键;高位=按住拖动位置;④数据:控件 |
垂直滚动 | $0115 | WM_VSCROLL | 当窗口的标准垂直滚动条产生一个滚动事件时,发送本消息给该窗口。③参数:低位=0点上键,1点下键,2点滑块上方,3点滑块下方,4按住滑块, 5拖动滑块,6按home,7按END,8释放按键;高位=按住拖动位置;④数据:控件 |
调整大小 | $214 | WM_SIZING | 当用户正在调整窗口大小时,发送本消息给窗口;③参数:1左边缘,2右边缘,3上边缘,4左上角,5右上角,下边缘,7左下角,8右下角;④数据:矩形类 |
公用控件事件——通知消息:
发生控件事件时,若无特别说明④数据:传递NMHDR 结构的数据
中文名字 | 常量数值 | 英文名称 | 释义 |
控件内存不足 | -1 | NM_OUTOFMEMORY | 内存不足,操作不能完成 |
控件单击左键 | -2 | NM_CLICK | 用户在控件上点击了鼠标左键 |
控件双击左键 | -3 | NM_DBLCLK | 用户在控件上双击了鼠标左键 |
控件按下回车 | -4 | NM_RETURN | 控件获得键盘焦点并按下回车键 |
控件单击右键 | -5 | NM_RCLICK | 用户在控件上点击了鼠标右键 |
控件双击右键 | -6 | NM_RDBLCLK | 用户在控件上双击了鼠标右键 |
控件得到焦点 | -7 | NM_SETFOCUS | 控件收到输入焦点 |
控件失去焦点 | -8 | NM_KILLFOCUS | 用户失去输入焦点 |
控件自行绘制 | -12 | NM_CUSTOMDRAW | 通知控件的父窗口有关自定义绘制操作的信息。 |
控件鼠标掠过 | -13 | NM_HOVER | 用户的鼠标掠过控件 |
控件命中测试 | -14 | NM_NCHITTEST | 当控件收到消息时,由 伸缩条 控件发送。④数据:NMMOUSE 结构 |
控件按下键盘 | -15 | NM_KEYDOWN | 控件获得键盘焦点并按下某键 |
控件释放鼠标 | -16 | NM_RELEASEDCAPTURE | 控件要释放鼠标捕捉 |
控件设置光标 | -17 | NM_SETCURSOR | 控件响应消息要设置光标 |
控件键入字符 | -18 | NM_CHAR | 字符键被处理后由控件发送 |
控件工具提示 | -19 | NM_TOOLTIPSCREATED | 通知控件的父窗口控件已创建工具提示控件。④数据:NMTOOLTIPSCREATED 结构 |
控件鼠标左键 | -20 | NM_LDOWN | 通知控件的父窗口已按下鼠标左键。 |
控件鼠标右键 | -21 | NM_RDOWN | 不支持此通知代码。 |
控件主题更改 | -22 | NM_THEMECHANGED | 通知控件的父窗口主题已更改。 |
控件字体更改 | -23 | NM_FONTCHANGED | 当控件更改字体时,由列表视图控件发送。 |
控件自定文本 | -24 | NM_CUSTOMTEXT | 通知控件的父窗口有关自定义文本操作的信息。④数据:NMCUSTOMTEXT 结构 |
表格框——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
控件单击左键 | -2 | NM_CLICK | 用户在控件上点击了鼠标左键 |
控件双击左键 | -3 | NM_DBLCLK | 用户在控件上双击了鼠标左键 |
控件按下回车 | -4 | NM_RETURN | 控件获得键盘焦点并按下回车键 |
控件单击右键 | -5 | NM_RCLICK | 用户在控件上点击了鼠标右键 |
控件双击右键 | -6 | NM_RDBLCLK | 用户在控件上双击了鼠标右键 |
控件得到焦点 | -7 | NM_SETFOCUS | 控件收到输入焦点 |
控件失去焦点 | -8 | NM_KILLFOCUS | 用户失去输入焦点 |
控件自行绘制 | -12 | NM_CUSTOMDRAW | 通知控件的父窗口有关自定义绘制操作的信息。 |
控件鼠标掠过 | -13 | NM_HOVER | 用户的鼠标掠过控件 |
控件释放鼠标 | -16 | NM_RELEASEDCAPTURE | 控件要释放鼠标捕捉 |
表项正在改变 | -100 | LVN_ITEMCHANGING | 有个项目正被改变 |
表项已被改变 | -101 | LVN_ITEMCHANGED | 有个项目已经被改变 |
表项插入新项 | -101 | LVN_INSERTITEM | 有个新项目被插入了 |
表项删除单项 | -103 | LVN_DELETEITEM | 有个项目要被删除 |
表项删除全项 | -104 | LVN_DELETEALLITEMS | 所有项目要被删除 |
表项编辑起点 | -105 | LVN_BEGINLABELEDITA | 一个项目的文本标签编辑的起点 |
表项编辑终点 | -106 | LVN_ENDLABELEDITA | 一个项目的文本标签编辑的终点 |
表项列被点击 | -108 | LVN_COLUMNCLICK | 一个列被点击了 |
表项左键拖放 | -109 | LVN_BEGINDRAG | 鼠标左键的拖放操作开始了 |
表项右键拖放 | -111 | LVN_BEGINRDRAG | 鼠标右键的拖放操作开始了 |
表项内容改变 | -113 | LVN_ODCACHEHINT | 由虚列表控件在其可视区域的内容被改变时发送 |
表项用户激活 | -114 | LVN_ITEMACTIVATE | 由虚列表控件在用户激活了某个项目时发送 |
表项状态改变 | -115 | LVN_ODSTATECHANGED | 由虚列表控件在一个项目的状态或排列已被改变时发送 |
表项鼠标掠过 | -121 | LVN_HOTTRACK | 由虚列表控件在用户的鼠标掠过某个项目时发送 |
表项请求显示 | -150 | LVN_GETDISPINFOA | 请求父窗提供显示项目或对某个项目排序所需的信息 |
表项更新显示 | -151 | LVN_SETDISPINFOA | 需要更新某个项目的信息 |
表项查找回调 | -152 | LVN_ODFINDITEMA | 由虚列表控件在需要其所有者查找特定的回调项目时发送 |
表项键盘按下 | -155 | LVN_KEYDOWN | 通知列表视图控件的父窗口已按下某键。 |
表项选择边框 | -156 | LVN_MARQUEEBEGIN | 某个边框选择已开始 |
表项附加文本 | -157 | LVN_GETINFOTIPA | 请求附加的文本信息(显示于工具提示控件中)时发送 |
表项附加提示 | -158 | LVN_GETINFOTIPW | 请求附加的文本信息(显示于工具提示控件中)时发送 |
标头框——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
控件单击右键 | -5 | NM_RCLICK | 用户在控件上点击了鼠标右键 |
控件自行绘制 | -12 | NM_CUSTOMDRAW | 通知控件的父窗口有关自定义绘制操作的信息。 |
控件释放鼠标 | -16 | NM_RELEASEDCAPTURE | 控件要释放鼠标捕捉 |
标头正在改变 | -300 | HDN_ITEMCHANGING | 有个项目正被改变 |
标头已被改变 | -301 | HDN_ITEMCHANGEDA | 有个项目已经被改变 |
标头单击项目 | -302 | HDN_ITEMCLICKA | 用户单击项目 |
标头双击项目 | -303 | HDN_ITEMDBLCLICKA | 用户双击项目 |
标头双击分割 | -305 | HDN_DIVIDERDBLCLICKA | 用户双击控件的分隔线区域。 |
标头拖起分割 | -306 | HDN_BEGINTRACKA | 用户已开始拖动控件中的分隔符 |
标头拖完分割 | -307 | HDN_ENDTRACKA | 用户已完成拖动分隔符。 |
标头拖动分割 | -308 | HDN_TRACKA | 用户正在拖动标题控件中的分隔符 |
标头显示回调 | -309 | HDN_GETDISPINFOA | 有关回调标头项的信息 |
标头开始拖动 | -310 | HDN_BEGINDRAG | 对其某个项开始拖动操作 |
标头结束拖动 | -311 | HDN_ENDDRAG | 拖动操作对其某个项结束 |
树表框——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
控件单击左键 | -2 | NM_CLICK | 用户在控件上点击了鼠标左键 |
控件双击左键 | -3 | NM_DBLCLK | 用户在控件上双击了鼠标左键 |
控件按下回车 | -4 | NM_RETURN | 控件获得键盘焦点并按下回车键 |
控件单击右键 | -5 | NM_RCLICK | 用户在控件上点击了鼠标右键 |
控件双击右键 | -6 | NM_RDBLCLK | 用户在控件上双击了鼠标右键 |
控件得到焦点 | -7 | NM_SETFOCUS | 控件收到输入焦点 |
控件失去焦点 | -8 | NM_KILLFOCUS | 用户失去输入焦点 |
控件自行绘制 | -12 | NM_CUSTOMDRAW | 通知控件的父窗口有关自定义绘制操作的信息。 |
控件设置光标 | -17 | NM_SETCURSOR | 控件响应消息要设置光标 |
树表图像更改 | -24 | NM_TVSTATEIMAGECHANGING | 由树视图控件发送到其状态图像正在更改的父窗口。④数据:NMTVSTATEIMAGECHANGING 结构 |
树项正在改变 | -401 | TVN_SELCHANGINGA | 用户对树控件项目的选择将改变 |
树项已被改变 | -402 | TVN_SELCHANGEDA | 用户已改变树控件项目的选择 |
树项单击项目 | -403 | TVN_GETDISPINFOA | 需要得到树控件的某结点信息 |
树项双击项目 | -404 | TVN_SETDISPINFOA | 通知更新树控件项目的信息 |
树项即将开合 | -405 | TVN_ITEMEXPANDINGA | 树控件某结点将被展开或收缩 |
树项已经开合 | -406 | TVN_ITEMEXPANDEDA | 树控件某结点已被展开或收缩 |
树项左键拖起 | -407 | TVN_BEGINDRAGA | 树控件中鼠标左键拖放开始 |
树项右键拖起 | -408 | TVN_BEGINRDRAGA | 树控件中鼠标右键拖放开始 |
树项删除项目 | -409 | TVN_DELETEITEMA | 删除树控件中的项目 |
树项修改标签 | -410 | TVN_BEGINLABELEDITA | 开始编辑项目的标签 |
树项改完标签 | -411 | TVN_ENDLABELEDITA | 用户完成编辑项目的标签 |
树项键盘按下 | -412 | TVN_KEYDOWN | 用户在树控件中按下了某键盘按键 |
树项显示文字 | -413 | TVN_GETINFOTIPA | 请求显示结点信息或提示文字 |
树项请求显示 | -414 | TVN_GETINFOTIPW | 请求显示结点信息或提示文字 |
树项单击开合 | -415 | TVN_SINGLEEXPAND | 用户使用鼠标单击打开或关闭树控件项目 |
工具提示——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
控件自行绘制 | -12 | NM_CUSTOMDRAW | 通知控件的父窗口有关自定义绘制操作的信息。 |
提示显示信息 | -520 | TTN_GETDISPINFOA | 检索显示工具提示窗口所需的信息 |
提示即将显示 | -521 | TTN_SHOW | 即将显示工具提示控件 |
提示即将隐藏 | -522 | TTN_POP | 工具提示即将隐藏。 |
选项卡——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
控件单击左键 | -2 | NM_CLICK | 用户在控件上点击了鼠标左键 |
控件双击左键 | -3 | NM_DBLCLK | 用户在控件上双击了鼠标左键 |
控件单击右键 | -5 | NM_RCLICK | 用户在控件上点击了鼠标右键 |
控件双击右键 | -6 | NM_RDBLCLK | 用户在控件上双击了鼠标右键 |
控件释放鼠标 | -16 | NM_RELEASEDCAPTURE | 控件要释放鼠标捕捉 |
选卡键盘按下 | -550 | TCN_KEYDOWN | 用户已按下某键 |
选卡已被改变 | -551 | TCN_SELCHANGE | 选项卡的当前选择已被改变 |
选卡将要改变 | -552 | TCN_SELCHANGING | 选项卡的当前选择将要改变 |
选卡放置目标 | -553 | TCN_GETOBJECT | 请求放置目标对象 |
对话框——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
对话完成排列 | -601 | CDN_INITDONE | 系统已完成在打开另存为通用对话框中排列控件 |
对话选择改变 | -602 | CDN_SELCHANGE | 用户在对话框文件列表里选择了一个新文件或文件夹 |
对话新文件夹 | -603 | CDN_FOLDERCHANGE | 向钩子函数发送一个新文件夹被打开的消息 |
对话共享冲突 | -604 | CDN_SHAREVIOLATION | 用户选择的文件名发生网络共享冲突 |
对话点击帮助 | -605 | CDN_HELP | 通用对话框中的帮助按钮被按下 |
对话点击确定 | -606 | CDN_FILEOK | 向钩子函数发送确定按钮被按下的消息 |
对话类型改变 | -607 | CDN_TYPECHANGE | 从文件类型列表中选择一个新文件类型 |
对话包含项目 | -608 | CDN_INCLUDEITEM | 对话框会针对文件夹中的每一项发送包含项通知。 |
工具栏——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
控件单击左键 | -2 | NM_CLICK | 用户在控件上点击了鼠标左键 |
控件双击左键 | -3 | NM_DBLCLK | 用户在控件上双击了鼠标左键 |
控件单击右键 | -5 | NM_RCLICK | 用户在控件上点击了鼠标右键 |
控件双击右键 | -6 | NM_RDBLCLK | 用户在控件上双击了鼠标右键 |
控件自行绘制 | -12 | NM_CUSTOMDRAW | 通知控件的父窗口有关自定义绘制操作的信息。 |
控件按下键盘 | -15 | NM_KEYDOWN | 控件获得键盘焦点并按下某键 |
控件释放鼠标 | -16 | NM_RELEASEDCAPTURE | 控件要释放鼠标捕捉 |
控件键入字符 | -18 | NM_CHAR | 字符键被处理后由控件发送 |
控件工具提示 | -19 | NM_TOOLTIPSCREATED | 通知控件的父窗口控件已创建工具提示控件。④数据:NMTOOLTIPSCREATED 结构 |
控件鼠标左键 | -20 | NM_LDOWN | 通知控件的父窗口已按下鼠标左键。 |
工具按钮信息 | -700 | TBN_GETBUTTONINFOA | 获取工具栏的自定义信息 |
工具拖起按钮 | -701 | TBN_BEGINDRAG | 用户已开始拖动工具栏的某个按钮 |
工具拖放按钮 | -702 | TBN_ENDDRAG | 用户已停止拖动工具栏的某个按钮 |
工具开始定义 | -703 | TBN_BEGINADJUST | 用户已开始自定义一个工具栏 |
工具结束定义 | -704 | TBN_ENDADJUST | 用户已停止自定义一个工具栏 |
工具已经重置 | -705 | TBN_RESET | 用户在自定义工具栏对话框中已经对工具栏进行重置了 |
工具可插左侧 | -706 | TBN_QUERYINSERT | 按钮是否可被插入到指定按钮的左侧 |
工具可被删除 | -707 | TBN_QUERYDELETE | 用户自定义工具栏时一个按钮是否可被删除 |
工具已被改变 | -708 | TBN_TOOLBARCHANGE | 用户已经定制完一个工具栏 |
工具选择帮助 | -709 | TBN_CUSTHELP | 用户已经选择了自定义工具栏对话框上的帮助按钮 |
工具单击下拉 | -710 | TBN_DROPDOWN | 当用户单击下拉按钮时,工具栏控件发送。 |
工具放置目标 | -712 | TBN_GETOBJECT | 请求放置目标对象。 |
工具热项更改 | -713 | TBN_HOTITEMCHANGE | 突出显示的热 () 项更改 |
工具拖出按钮 | -714 | TBN_DRAGOUT | 用户单击按钮,然后将光标移出按钮 |
工具删除按钮 | -715 | TBN_DELETINGBUTTON | 按钮即将被删除 |
工具显示信息 | -716 | TBN_GETDISPINFOA | 检索工具栏项的显示信息 |
工具信息显示 | -717 | TBN_GETDISPINFOW | 检索工具栏项的显示信息 |
工具提示信息 | -718 | TBN_GETINFOTIPA | 检索工具栏项的信息提示信息。 |
工具信息提示 | -719 | TBN_GETINFOTIPW | 检索工具栏项的信息提示信息。 |
调节框——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
控件释放鼠标 | -16 | NM_RELEASEDCAPTURE | 控件要释放鼠标捕捉 |
调节位置更改 | -720 | UDN_DELTAPOS | 调节器控件的位置即将更改。④数据:NMUPDOWN 结构 |
发送消息——常数表 |
调节设置范围 | 0x465 | UDM_SETRANGE | 设置上下控件范围的最小和最大位置。③参数:0;④数据:最大/最小 |
调节获取范围 | 0x466 | UDM_GETRANGE | 获取上下控件范围的最小和最大位置。③参数:0;④数据:0 |
调节设置位置 | 0x467 | UDM_SETPOS | 设置上下控件16位精度的当前位置。③参数:0;④数据:新位置 |
调节获取位置 | 0x468 | UDM_GETPOS | 获取上下控件16位精度的当前位置。③参数:0;④数据:0 |
调节设置窗口 | 0x469 | UDM_SETBUDDY | 设置上下控件的伙伴窗口。③参数:窗口;④数据:0 |
调节获取窗口 | 0x46A | UDM_GETBUDDY | 获取上下控件的伙伴窗口。③参数:0;④数据:0 |
调节设置加速 | 0x46B | UDM_SETACCEL | 设置上下控件的加速。③参数:数目;④数据:UDACCEL 结构的数组 |
调节获取加速 | 0x46C | UDM_GETACCEL | 获取上下控件的加速。③参数:数目;④数据:UDACCEL 结构的数组 |
调节设置基数 | 0x46D | UDM_SETBASE | 设置上下控件的基数。③参数:10十进制,16十六进制;④数据:0 |
调节获取基数 | 0x46E | UDM_GETBASE | 获取上下控件的基数。③参数:0;④数据:0 |
调节设置限定 | 0x46F | UDM_SETRANGE32 | 设置上下控件的32 位范围。③参数:下限;④数据:上限 |
调节获取限定 | 0x470 | UDM_GETRANGE32 | 获取上下控件的32 位范围。③参数:@下限;④数据:@上限;为0不获取 |
调节设置定位 | 0x471 | UDM_SETPOS32 | 设置上下控件32位精度的当前位置。③参数:0;④数据:新位置 |
调节获取定位 | 0x472 | UDM_GETPOS32 | 获取上下控件32位精度的当前位置。③参数:0;④数据:0 |
控件设置宽字 | 0x2005 | CCM_SETUNICODEFORMAT | 设置控件的 Unicode 字符格式标志。③参数:是否宽字;④数据:0; |
控件获取宽字 | 0x2006 | CCM_GETUNICODEFORMAT | 获取控件的 Unicode 字符格式标志。③参数:0;④数据:0; |
月历框——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
控件释放鼠标 | -16 | NM_RELEASEDCAPTURE | 控件要释放鼠标捕捉 |
月历选项改变 | -749 | MCN_SELCHANGE | 当前选择项已被改变 |
月历显示风格 | -747 | MCN_GETDAYSTATE | 获取月历控件的日期显示风格 |
月历选择日期 | -746 | MCN_SELECT | 在月历控件中选择一个日期 |
日期框——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
控件得到焦点 | -7 | NM_SETFOCUS | 控件收到输入焦点 |
控件失去焦点 | -8 | NM_KILLFOCUS | 用户失去输入焦点 |
日历内容改变 | -759 | DTN_DATETIMECHANGE | DTP控件中的内容已发生改变 |
日历完成编辑 | -758 | DTN_USERSTRINGA | 用户已完成DTP控件的编辑 |
日历单击回调 | -757 | DTN_WMKEYDOWNA | 用户单击了DTP控件的回调域 |
日历显示回调 | -756 | DTN_FORMATA | DTP控件中的文本需要显示在回调域中 |
日历显示尺寸 | -755 | DTN_FORMATQUERYA | DTP控件中的文本显示所需最大尺寸 |
日历显示月历 | -754 | DTN_DROPDOWN | DTP控件中的月历控件将要显示 |
日历关闭月历 | -753 | DTN_CLOSEUP | DTP控件中的月历控件将要关闭 |
超组合框——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
控件设置光标 | -17 | NM_SETCURSOR | 控件响应消息要设置光标 |
组框显示信息 | -800 | CBEN_GETDISPINFOA | 获取组框控件的回调条目的显示信息 |
组框插入条目 | -801 | CBEN_INSERTITEM | 一个新条目已插入到组框控件 |
组框删除条目 | -802 | CBEN_DELETEITEM | 组框控件的某条目已被删除 |
组框激活编辑 | -804 | CBEN_BEGINEDIT | 用户激活下拉列表或点击组框控件的编辑框 |
组框结束编辑 | -805 | CBEN_ENDEDITA | 用户已结束对组框控件的编辑框的操作或选择了下拉列表 |
组框完成编辑 | -806 | CBEN_ENDEDITW | 用户已结束对组框控件的编辑框的操作或选择了下拉列表 |
组框信息显示 | -807 | CBEN_GETDISPINFOW | 获取组框控件的回调条目的显示信息 |
组框拖起图像 | -808 | CBEN_DRAGBEGINA | 用户开始拖动组框控件的编辑框中的条目图像 |
组框拖起条目 | -809 | CBEN_DRAGBEGINW | 用户开始拖动组框控件的编辑框中的条目图像 |
伸缩条——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
控件自行绘制 | -12 | NM_CUSTOMDRAW | 通知控件的父窗口有关自定义绘制操作的信息。 |
控件命中测试 | -14 | NM_NCHITTEST | 当控件收到消息时,由 伸缩条 控件发送。④数据:NMMOUSE 结构 |
控件释放鼠标 | -16 | NM_RELEASEDCAPTURE | 控件要释放鼠标捕捉 |
伸缩高度改变 | -831 | RBN_HEIGHTCHANGE | 高度已被更改 |
伸缩放置目标 | -832 | RBN_GETOBJECT | 对象被拖动到此控件中的带区上 |
伸缩更改布局 | -833 | RBN_LAYOUTCHANGED | 用户更改此控件的带区布局 |
伸缩自动调整 | -834 | RBN_AUTOSIZE | 控件自己自动调整大小 |
伸缩开始拖动 | -835 | RBN_BEGINDRAG | 用户开始拖动带区 |
伸缩结束拖动 | -836 | RBN_ENDDRAG | 用户停止拖动带区 |
伸缩将被删除 | -837 | RBN_DELETINGBAND | 带区即将被删除 |
伸缩已被删除 | -838 | RBN_DELETEDBAND | 带区已被删除 |
伸缩调整子窗 | -839 | RBN_CHILDSIZE | 调整带区的子窗口大小 |
IP控件——通知消息:
IP框允许用户以易于理解的格式输入 IP 地址。 此控件还允许应用程序以数字形式而不是文本形式获取地址。
中文名字 | 常量数值 | 英文名称 | 释义 |
IP框内容改变 | -860 | IPN_FIELDCHANGED | 更改控件中的字段或从一个字段移动到另一个字段 |
发送消息——常数表 |
IP框清除内容 | $464 | IPM_CLEARADDRESS | 清除 IP 地址控件的内容。③参数:0;④数据:0 |
IP框设置地址 | $465 | IPM_SETADDRESS | 设置 IP 地址控件中所有四个字段的地址值。 ③参数:0;④数据:32位IP地址 |
IP框获取地址 | $466 | IPM_GETADDRESS | 获取 IP 地址控件中所有四个字段的地址值。 ③参数:0;④数据:@地址 |
IP框设置范围 | $467 | IPM_SETRANGE | 设置 IP 地址控件中指定字段的有效范围。③参数:0-3字段;④数据:低/高(各1字节) |
IP框设置焦点 | $468 | IPM_SETFOCUS | 将键盘焦点选中为控件中的指定字段。 ③参数:0-3字段;④数据:0 |
IP框是否为空 | $469 | IPM_ISBLANK | 确定控件中的所有字段是否为空。③参数:0;④数据:0 |
状态栏——通知消息:
状态栏是父窗口底部的水平窗口,应用程序可在其中显示各种状态信息。 状态栏可以分为多个部分以显示多种类型的信息。
中文名字 | 常量数值 | 英文名称 | 释义 |
控件单击左键 | -2 | NM_CLICK | 用户在控件上点击了鼠标左键。④数据:NMMOUSE 结构 |
控件双击左键 | -3 | NM_DBLCLK | 用户在控件上双击了鼠标左键。④数据:NMMOUSE 结构 |
控件单击右键 | -5 | NM_RCLICK | 用户在控件上点击了鼠标右键。④数据:NMMOUSE 结构 |
控件双击右键 | -6 | NM_RDBLCLK | 用户在控件上双击了鼠标右键。④数据:NMMOUSE 结构 |
状态模式改变 | -880 | SBN_SIMPLEMODECHANGE | 状态栏简单模式发生改变 |
发送消息——常数表 |
状态设置文本 | 0x401 | SB_SETTEXTA | 设置状态窗口的指定部分中的文本。③参数:序号/样式(各1字节);④数据:内容文本;
序号=255单窗口;样式=0凹陷边框,0x100无边框,0x200凸起边框,0x400反向显示,0x800忽略制表,0x1000父窗口绘制 |
状态获取文本 | 0x402 | SB_GETTEXTA | 从状态窗口的指定部分检索文本。③参数:序号;④数据:文本; |
状态获取长度 | 0x403 | SB_GETTEXTLENGTHA | 从状态窗口的指定部分检索文本的字数。③参数:序号;④数据:0;返回值:低字=字数,高字=样式 |
状态设置部件 | 0x404 | SB_SETPARTS | 设置状态窗口中的部件数以及每个部件右边缘的坐标。③参数:数量;④数据:整数数组; |
状态获取部件 | 0x406 | SB_GETPARTS | 获取状态窗口中的部件数以及每个部件右边缘的坐标。③参数:数量;④数据:整数数组;返回部件数 |
状态获取边框 | 0x407 | SB_GETBORDERS | 获取状态窗口的水平边框和垂直边框的当前宽度。③参数:0;④数据:3整数=0宽度,1高度,2边框宽; |
状态最小高度 | 0x408 | SB_SETMINHEIGHT | 设置状态窗口绘图区域的最小高度。③参数:高度;④数据:0; |
状态简单样式 | 0x409 | SB_SIMPLE | 指定状态窗口是显示简单文本还是上一个设置部件。③参数:是否简单;④数据:0; |
状态边框矩形 | 0x40A | SB_GETRECT | 检索状态窗口中部件的边框。③参数:序号;④数据:矩形; |
状态设置文字 | 0x40B | SB_SETTEXTW | 设置状态窗口的指定部分中的文本。③参数:序号/样式(各1字节);④数据:内容文本; |
状态获取字数 | 0x40C | SB_GETTEXTLENGTHW | 从状态窗口的指定部分检索文本的字数。③参数:序号;④数据:0;返回值:低字=字数,高字=样式 |
状态获取文字 | 0x40D | SB_GETTEXTW | 从状态窗口的指定部分检索文本。③参数:序号;④数据:文本; |
状态是否简单 | 0x40E | SB_ISSIMPLE | 检查状态栏控件以确定它是否处于简单模式。③参数:0;④数据:0; |
状态设置图标 | 0x40F | SB_SETICON | 设置状态栏中部件的图标。③参数:序号;④数据:图标; |
状态设置提示 | 0x410 | SB_SETTIPTEXTA | 设置状态栏中部件的工具提示文本。③参数:序号;④数据:文本; |
状态修改提示 | 0x411 | SB_SETTIPTEXTW | 设置状态栏中部件的工具提示文本。③参数:序号;④数据:文本; |
状态获取提示 | 0x412 | SB_GETTIPTEXTA | 检索状态栏中部件的工具提示文本。③参数:序号/大小;④数据:文本; |
状态获得提示 | 0x413 | SB_GETTIPTEXTW | 检索状态栏中部件的工具提示文本。③参数:序号/大小;④数据:文本; |
状态获取文本 | 0x414 | SB_GETICON | 检索状态栏中部件的图标。③参数:序号;④数据:0; |
控件设置宽字 | 0x2005 | CCM_SETUNICODEFORMAT | 设置控件的 Unicode 字符格式标志。③参数:是否宽字;④数据:0; |
控件获取宽字 | 0x2006 | CCM_GETUNICODEFORMAT | 获取控件的 Unicode 字符格式标志。③参数:0;④数据:0; |
分页导航——通知消息:

分页控件是一个窗口容器,与没有足够的显示区域来显示其所有内容的窗口一起使用。 寻呼控件允许用户滚动到当前不在视图中的窗口区域。
中文名字 | 常量数值 | 英文名称 | 释义 |
控件释放鼠标 | -16 | NM_RELEASEDCAPTURE | 控件要释放鼠标捕捉 |
分页开始滚动 | -901 | PGN_SCROLL | 所包含窗口即将被滚动。④数据:NMPGSCROLL 结构 |
分页滚动尺寸 | -902 | PGN_CALCSIZE | 获得所包含窗口的可滚动尺寸。④数据:NMPGCALCSIZE 结构 |
分页热项更改 | -903 | PGN_HOTITEMCHANGE | 通知父窗口突出显示的热项已更改。④数据:NMPGHOTITEM 结构 |
发送消息——常数表 |
分页设置窗口 | 0x1401 | PGM_SETCHILD | 设置页码控件的包含窗口。③参数:0;④数据:窗口 |
分页重算大小 | 0x1402 | PGM_RECALCSIZE | 强制控件重新计算包含窗口的大小。③参数:0;④数据:0 |
分页鼠标转发 | 0x1403 | PGM_FORWARDMOUSE | 为页码控件启用或禁用鼠标转发。③参数:是否转发;④数据:0 |
分页设置背景 | 0x1404 | PGM_SETBKCOLOR | 设置页码控件的当前背景色。③参数:0;④数据:颜色 |
分页获取背景 | 0x1405 | PGM_GETBKCOLOR | 获取页码控件的当前背景色。③参数:0;④数据:0 |
分页设置边框 | 0x1406 | PGM_SETBORDER | 设置页码控件的当前边框大小。③参数:0;④数据:像素 |
分页获取边框 | 0x1407 | PGM_GETBORDER | 获取页码控件的当前边框大小。③参数:0;④数据:0 |
分页设置位置 | 0x1408 | PGM_SETPOS | 设置页码控件的当前滚动位置。③参数:0;④数据:位置 |
分页获取位置 | 0x1409 | PGM_GETPOS | 获取页码控件的当前滚动位置。③参数:0;④数据:0 |
分页设置按钮 | 0x140A | PGM_SETBUTTONSIZE | 设置页码控件的当前按钮大小。③参数:0;④数据:像素 |
分页获取按钮 | 0x140B | PGM_GETBUTTONSIZE | 获取页码控件的当前按钮大小。③参数:0;④数据:0 |
分页按钮状态 | 0x140C | PGM_GETBUTTONSTATE | 设置页码控件指定按钮的状态。③参数:0;④数据:像素 |
分页拖放接口 | 0x2004 | PGM_GETDROPTARGET | 获取页码控件的 IDropTarget 接口指针。③参数:0;④数据:@接口 |
分页超时行数 | 0x140D | PGM_SETSCROLLINFO | 设置超时值、每超时行数和每行像素。③参数:超时数;④数据:超时行数/每行像素(各2字节) |
链接框——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
控件单击左键 | -2 | NM_CLICK | 用户在控件上点击了鼠标左键 |
发送消息——常数表 |
链接是否点击 | 0x700 | LM_HITTEST | 确定用户是否单击了指定链接。③参数:0;④数据:LHITTESTINFO 结构 |
链接首选高度 | 0x701 | LM_GETIDEALHEIGHT | 检索控件当前宽度的链接的首选高度。③参数:0;④数据:0 |
链接修改属性 | 0x702 | LM_SETITEM | 设置项的状态和属性。③参数:0;④数据:LITEM 结构 |
链接获取属性 | 0x703 | LM_GETITEM | 检索项的状态和属性。③参数:0;④数据:LITEM 结构 |
热键框——通知消息:

很多程序都有自定义热键的功能,但往往都是有几种组合键可以选择。而按键有两百多种,
加上SHIFT、CTRL、ATLT等组合,让用户输入任意组合就太复杂,还容易写错。
使用热键框可以显示用户按下的组合键,并获取它的键值,给指定窗口设置热键。
程序段 按钮1_点击
整数 键值=发送消息(热键框1, 热键获取按键, 0, 0)
发送消息(窗体, 设置热键, 键值, 0)
结束
中文名字 | 常量数值 | 英文名称 | 释义 |
热键设置按键 | 0x401 | HKM_SETHOTKEY | 设置热键控件的热键组合。③参数:键码/修饰符(各1字节);④数据:0 |
热键获取按键 | 0x402 | HKM_GETHOTKEY | 获取热键控件的键码和修饰符标志。③参数:0;④数据:0;返回值1SHIFT,2CTRL,4ALT,8扩展 |
热键设置组合 | 0x403 | HKM_SETRULES | 定义热键控件的无效组合和默认修饰符组合。③参数:标志,1无,2SHIFT,4CTRL,8ALT,16S+C,32S+A,64C+A,128SCA;④数据:组合1SHIFT,2CTRL,4ALT,8扩展; |
富编辑——通知消息:
只写 ④数据 为控件事件;同时写 ③参数④数据 或不写时为单击左键
中文名字 | 常量数值 | 英文名称 | 释义 |
编辑窗口更改 | 0x0300 | EN_CHANGE | 通知无窗口富编辑控件的主机窗口发生了更改。④数据:CHANGENOTIFY 结构 |
编辑键盘鼠标 | 0x0700 | EN_MSGFILTER | 通知富编辑控件的父窗口,该控件中的键盘或鼠标事件。④数据:MSGFILTER 结构 |
编辑超出大小 | 0x0701 | EN_REQUESTRESIZE | 通知富编辑控件的父窗口,控件的内容小于或大于控件的窗口大小。④数据:REQRESIZE 结构 |
编辑选字更改 | 0x0702 | EN_SELCHANGE | 通知富编辑控件的父窗口当前所选内容已更改。④数据:SELCHANGE 结构 |
编辑文件拖放 | 0x0703 | EN_DROPFILES | 通知富编辑控件父窗口,用户正在尝试将文件拖放到控件中。④数据:ENDROPFILES 结构 |
编辑保护文本 | 0x0704 | EN_PROTECTED | 通知富编辑控件的父窗口,用户正在执行的操作将更改受保护的文本范围。④数据:ENPROTECTED 结构 |
编辑校正手势 | 0x0705 | EN_CORRECTTEXT | 通知富编辑控件父窗口发生了SYV_CORRECT手势,使父窗口有机会取消更正文本。④数据:ENCORRECTTEXT 结构 |
编辑撤销不足 | 0x0706 | EN_STOPNOUNDO | 通知富编辑控件的父窗口该控件无法为其分配足够的内存来维持撤消状态。④数据:NMHDR 结构 |
编辑换输入法 | 0x0707 | EN_IMECHANGE | 通知富编辑控件的父级 IME 转换状态已更改。③参数:标识/代码;④数据:控件 |
编辑存剪切板 | 0x0708 | EN_SAVECLIPBOARD | 通知富编辑控件的父窗口控件正在关闭,并且剪贴板包含信息。④数据:ENSAVECLIPBOARD 结构 |
编辑对象失败 | 0x0709 | EN_OLEOPFAILED | 通知富编辑控件的父窗口,用户对组件对象模型(COM)对象的操作失败。④数据:ENOLEOPFAILED 结构 |
编辑对象读取 | 0x070A | EN_OBJECTPOSITIONS | 当控件在对象中读取时,通知富编辑控件的父窗口。④数据:OBJECTPOSITIONS 结构 |
编辑链接通知 | 0x070B | EN_LINK | 控件在收到各种消息时发送EN_LINK通知代码。④数据:ENLINK 结构 |
编辑拖放完成 | 0x070C | EN_DRAGDROPDONE | 通知富编辑控件的父窗口拖放操作已完成。④数据:NMHDR 结构 |
编辑展开大纲 | 0x070D | EN_PARAGRAPHEXPANDED | 通知富编辑控件的父级已展开大纲。④数据:NMHDR 结构 |
编辑页面更改 | 0x070E | EN_PAGECHANGE | 通知富编辑控件的父窗口页面已更改。 |
编辑无效字符 | 0x070F | EN_LOWFIRTF | 通知控件的父窗口收到不支持的RTF格式关键字。④数据:ENLOWFIRTF 结构 |
编辑从左到右 | 0x0710 | EN_ALIGNLTR | 通知富编辑控件的父窗口段落方向已更改为从左到右。③参数:标识/代码;④数据:控件 |
编辑从右到左 | 0x0711 | EN_ALIGNRTL | 通知富编辑控件的父窗口段落方向更改为从右到左。③参数:标识/代码;④数据:控件 |
编辑特定粘贴 | 0x0712 | EN_CLIPFORMAT | 通知富编辑控件的父窗口,特定剪贴板格式发生粘贴。④数据:CLIPBOARDFORMAT 结构 |
编辑输入服务 | 0x0713 | EN_STARTCOMPOSITION | 通知用户开始使用IME或文本服务框架键入的丰富编辑控件父窗口。④数据:NMHDR 结构 |
编辑完成输入 | 0x0714 | EN_ENDCOMPOSITION | 用户已输入新数据或已完成使用IME或文本服务框架的输入数据。④数据:ENDCOMPOSITIONNOTIFY 结构 |
滑块条——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
控件自行绘制 | -12 | NM_CUSTOMDRAW | 通知控件的父窗口有关自定义绘制操作的信息。④数据:NMCUSTOMDRAW 结构的 dwItemSpec 成员:1边缘显示刻度,2拇指标记,3拇指沿轨道滑动 |
控件释放鼠标 | -16 | NM_RELEASEDCAPTURE | 通知控件的父窗口控件要释放鼠标捕捉 |
滑块位置更改 | -1502 | TRBN_THUMBPOSCHANGING | 通知跟踪条上的拇指位置正在更改。④数据:NMTRBTHUMBPOSCHANGING 结构 |
水平滚动 | $0114 | WM_HSCROLL | 当窗口的标准水平滚动条产生一个滚动事件时,发送本消息给该窗口。③参数:低位=0点左键,1点右/下键,2点滑块左,3点滑块右,4按住滑块, 5拖动滑块,6按home,7按END,8释放按键;高位=滑块当前位置;④数据:控件 |
垂直滚动 | $0115 | WM_VSCROLL | 当窗口的标准垂直滚动条产生一个滚动事件时,发送本消息给该窗口。③参数:低位=0点上键,1点下键,2点滑块上方,3点滑块下方,4按住滑块, 5拖动滑块,6按home,7按END,8释放按键;高位=滑块当前位置;④数据:控件 |
影音动画——通知消息:
单击按钮事件的高位值为事件代码
发送消息(影音,动画打开文件,0,"D:\sec.avi")打开视频文件
发送消息(影音,动画开始播放,1,$FFFF0000)播放视频文件
发送消息(影音,动画停止播放,0,0)停止播放视频文件
中文名字 | 常量数值 | 英文名称 | 释义 |
动画开始事件 | 1 | ACN_START | 通知动画控件的父窗口关联的AVI剪辑已开始播放。③参数:标识/代码;④数据:控件 |
动画停止事件 | 2 | ACN_STOP | 通知动画控件的父窗口关联的 AVI 剪辑已停止播放。 ③参数:标识/代码;④数据:控件 |
发送消息——常数表 |
动画打开文件 | $464 | ACM_OPENA | 打开 AVI 剪辑并在动画控件中显示其第一帧。③参数:0/实例;④数据:路径/资源标识 |
动画开始播放 | $465 | ACM_PLAY | 在动画控件中播放 AVI 剪辑。 ③参数:次数,-1无限;④数据:开头/结尾 |
动画停止播放 | $466 | ACM_STOP | 停止在动画控件中播放 AVI 剪辑。 ③参数:0;④数据:0 |
动画视频文件 | $467 | ACM_OPENW | 打开 AVI 剪辑并在动画控件中显示其第一帧。③参数:0/实例;④数据:路径/资源标识 |
动画是否播放 | $468 | ACM_ISPLAYING | 检查是否正在播放AVI剪辑。 ③参数:0;④数据:0 |
图像列表——通知消息:
使用图像列表可以为其它控件提供显示图标
图像列表(数量,大小,格式)格式:0=位图1图标2光标。
添加指定数量和大小的图像到列表,默认从图像目录下名称为0的文件开始加载
在程序目录下新建一个图像的文件夹,把图片文件从0开始递增排序,如0.bmp,1.bmp
位图扩展名是bmp,图标扩展名是ico,光标扩展名是cur
中文名字 | 英文名称 | 常量数值 | 释义 |
图像掩码 | ILC_MASK | 0x00001 | 使用掩码。 图像列表包含两个位图,其中一个是用作蒙板的单色位图。 如果未包含此值,则图像列表仅包含一个位图。 |
图像颜色 | ILC_COLOR | 0x00000 | 如果未指定其他ILC_COLORx标志,请使用默认行为。 通常,默认值为ILC_COLOR4,但对于较旧的显示驱动程序,默认值为ILC_COLORDDB。 |
图像位色 | ILC_COLORDDB | 0x000FE | 使用与设备相关的位图。 |
图像四位 | ILC_COLOR4 | 0x00004 | 使用 4 位 (16 色) 与设备无关的位图 (DIB) 部分作为图像列表的位图。 |
图像八位 | ILC_COLOR8 | 0x00008 | 使用 8 位 DIB 节。 用于颜色表的颜色与半色调调色板的颜色相同。 |
图像16位 | ILC_COLOR16 | 0x00010 | 使用 16 位 (32/64k 彩色) DIB 部分。 |
图像24位 | ILC_COLOR24 | 0x00018 | 使用 24 位 DIB 节。 |
图像32位 | ILC_COLOR32 | 0x00020 | 使用 32 位 DIB 节。 |
图像粘贴 | ILC_PALETTE | 0x00800 | 未实现。 |
图像镜图 | ILC_MIRROR | 0x02000 | 镜像包含的图标(如果进程已镜像) |
图像插入 | ILC_PERITEMMIRROR | 0x08000 | 导致镜像代码在插入一组图像时镜像每个项,而不是整个条带。 |
图像小于 | ILC_ORIGINALSIZE | 0x10000 | Windows Vista 及更高版本。 Imagelist 应接受小于设置的图像,并根据添加的图像应用原始大小。 |
图像预留 | ILC_HIGHQUALITYSCALE | 0x20000 | Windows Vista 及更高版本。 保留。 |
用户控件——通知消息:
创建静态图片框,选择自绘控件风格,可以用来绘制图片和文字。目前,以下控件支持自定义绘制功能:
标头控件 | NMCUSTOMDRAW 结构 |
表格框 | NMLVCUSTOMDRAW 结构 |
伸缩条 | NMCUSTOMDRAW 结构 |
工具栏 | NMTBCUSTOMDRAW 结构 |
工具提示 | NMTTCUSTOMDRAW 结构 |
滑动条 | NMCUSTOMDRAW 结构 |
树表框 | NMTVCUSTOMDRAW 结构 |
中文名字 | 常量数值 | 英文名称 | 释义 |
控件自行绘制 | -12 | NM_CUSTOMDRAW | 通知控件的父窗口有关自定义绘制操作的信息。 |
自绘控件 | 13 | SS_OWNERDRAW | 静态控件的所有者负责绘制控件。每当需要绘制控件时,所有者窗口都会收到 外观改变 消息。 |
外观改变 | $002B | WM_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在帮助按钮中
中文名字 | 常量数值 | 英文名称 | 释义 |
区外删除 | $0082 | WM_NCDESTROY | 本消息通知某窗口,非客户区正在销毁。③参数:0;④数据:0 |
区外调整 | $0083 | WM_NCCALCSIZE | 当某窗口的客户区的大小和位置须被计算时发送本消息。③参数:0不需要指示工作区的有效部分,非0需要;④数据:参数为真NCCALCSIZE_PARAMS 结构,参数为假 矩形类 |
光标离开 | $0084 | WM_NCHITTEST | 当用户在在非客户区移动鼠标、按住或释放鼠标时发送本消息(击中测试);若鼠标没有被捕获,则在得到光标之后发出。③参数:0;④数据:屏幕坐标x/y |
区外重绘 | $0085 | WM_NCPAINT | 当窗口框架(非客户区)必须被被重绘时,应用程序发送本消息给该窗口。③参数:区域;④数据:0 |
区外激活 | $0086 | WM_NCACTIVATE | 本消息发送给某窗口,在窗口的非客户区被激活时重绘窗口。③参数:0绘制非活动标题栏或图标,非0活动;④数据:0活动窗口,-1不重绘,非活动窗口区域指针 |
切换控件 | $0087 | WM_GETDLGCODE | 发送本消息给某个与对话框程序关联的控件,系统控制方位键和TAB键使输入进入该控件。③参数:键码;④数据:消息类 |
经过区外 | $00A0 | WM_NCMOUSEMOVE | 当光标在某窗口的非客户区内移动时,发送本消息给该窗口。③参数:点击区域;④数据:坐标x/y; |
区外按左 | $00A1 | WM_NCLBUTTONDOWN | 当光标在某窗口的非客户区内的同时按下鼠标左键,会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外放左 | $00A2 | WM_NCLBUTTONUP | 当用户释放鼠标左键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外双左 | $00A3 | WM_NCLBUTTONDBLCLK | 当用户双击鼠标左键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外按右 | $00A4 | WM_NCRBUTTONDOWN | 当用户按下鼠标右键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外放右 | $00A5 | WM_NCRBUTTONUP | 当用户释放鼠标右键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外双右 | $00A6 | WM_NCRBUTTONDBLCLK | 当用户双击鼠标右键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外按中 | $00A7 | WM_NCMBUTTONDOWN | 当用户按下鼠标中键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外放中 | $00A8 | WM_NCMBUTTONUP | 当用户释放鼠标中键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外双中 | $00A9 | WM_NCMBUTTONDBLCLK | 当用户双击鼠标中键的同时光标在某窗口的非客户区内时,会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外按向 | $00AB | WM_NCXBUTTONDOWN | 当光标位于窗口非工作区中并且用户按下鼠标前进后退按钮时发送。③参数:1后退(X1),2前进(X2);④数据:坐标类; |
区外放向 | $00AC | WM_NCXBUTTONUP | 当光标位于窗口非工作区中并且用户释放鼠标前进后退按钮时发送。③参数:1后退(X1),2前进(X2);④数据:坐标类; |
区外双向 | $00AD | WM_NCXBUTTONDBLCLK | 当光标位于窗口非工作区中并且用户双击鼠标前进后退按钮时发送。③参数:1后退(X1),2前进(X2);④数据:坐标类; |
键盘事件——通知消息:
判断(消息)
为 键盘按下 获取键值(参数)
为 键盘松开 获取键值(参数)
在键盘按下的动作事件里,把参数提交给获取键值的程序段,也就是键值
程序段 获取键值(键码)
判断(键码)为 37 左方向键
为 38 上方向键 为 65 字母A键
根据不同的键码去执行相应的功能函数(程序段),按键对应的虚拟键代码请查看下面的表
中文名字 | 常量数值 | 英文名称 | 释义 |
键盘起始 | $0100 | WM_KEYFIRST | 用于WinCE系统,本消息在使用获取消息和查探消息函数时,用于过滤键盘消息 |
键盘按下 | $0100 | WM_KEYDOWN | 当一个非系统按键被按下时(键没有被按下),会发送本消息给拥有键盘焦点的窗口。③参数:键码;④数据:扫描码 |
键盘松开 | $0101 | WM_KEYUP | 当一个非系统按键被释放弹起时(键没有被按下),会发送本消息给拥有键盘焦点的窗口。③参数:键码;④数据:扫描码 |
键入字符 | $0102 | WM_CHAR | 按下某按键,并已发出按下、松开消息,本消息包含被按下的按键的字符码。③参数:字码;④数据:扫描码 |
敲击按键 | $0103 | WM_DEADCHAR | \"死字符\"消息,当使用翻译消息函数翻译WM_KEYUP消息时,发送本消息给拥有键盘焦点的窗口。③参数:键码;④数据:扫描码 |
ALT键按下 | $0104 | WM_SYSKEYDOWN | 当用户按住键的同时又按下其它键时,发送本消息给拥有焦点的窗口。③参数:键码;④数据:扫描码 |
ALT键松开 | $0105 | WM_SYSKEYUP | 当用户释放一个按键的同时键还按着时,发送本消息给拥有焦点的窗口。③参数:键码;④数据:扫描码 |
ALT键字符 | $0106 | WM_SYSCHAR | 当WM_SYSKEYDOWN消息被翻译消息函数翻译后,发送本消息给拥有焦点的窗口,注:键被按下。③参数:键码;④数据:扫描码 |
ALT敲字符 | $0107 | WM_SYSDEADCHAR | \"死字符\"消息,当使用翻译消息函数翻译WM_SYSKEYDOWN消息时,发送本消息给拥有键盘焦点的窗口。③参数:键码;④数据:扫描码 |
键盘结束 | $0108 | WM_KEYLAST | 用于WinCE系统,本消息在使用获取消息和查探消息函数时,用于过滤键盘消息 |
输入开始 | $010D | WM_IME_STARTCOMPOSITION | 在输入法因为击键生成组合字符串之前立即发送。③参数:0;④数据:0 |
输入结束 | $010E | WM_IME_ENDCOMPOSITION | 在输入法结束组合时发送到应用程序。③参数:0;④数据:0 |
输入更改 | $010F | WM_IME_COMPOSITION | 当输入法因击键而更改组合状态时,发送到应用程序。③参数:字符;④数据:方式 |
输入启动 | $281 | WM_IME_SETCONTEXT | 应用程序的窗口激活时,系统将向应用程序发送消息。③参数:0非活动,非0活动;④数据:1显候选窗口(左移位数是索引几), 15显所有候选,0x40000000显指南窗口,0x80000000显合成窗口 |
输入改变 | $282 | WM_IME_NOTIFY | 可使用WM_IME_NOTIFY消息来通知关于IME窗口状态的常规改变。③参数:命令;④数据:相应数据 |
输入控制 | $283 | WM_IME_CONTROL | 可使用WM_IME_CONTROL消息来改变字母组合窗口的位置。③参数:命令;④数据:相应数据 |
输入超出 | $284 | WM_IME_COMPOSITIONFULL | 用户接口窗口不能增加编码窗口的尺寸时,IME用户接口窗口将发送消息。③参数:0;④数据:0 |
输入选择 | $285 | WM_IME_SELECT | 系统发此消息以便选择一个新的IME输入法。③参数:0未选,非0已选;④数据:区域 |
输入打字 | $286 | WM_IME_CHAR | 当打开输入法输入文字时发送消息。③参数:0字码;④数据:扫描码 |
输入请求 | $288 | WM_IME_REQUEST | 应用程序请求输入法时,触发发送本消息。③参数:命令;④数据:相应数据 |
输入按下 | $290 | WM_IME_KEYDOWN | 在输入法录字窗口中按下按键时,触发发送本消息。③参数:0键码;④数据:扫描码 |
输入松开 | $291 | WM_IME_KEYUP | 在输入法录字窗口中释放按键时,触发发送本消息。③参数:0键码;④数据:扫描码 |
虚拟键代码表:
0x01 | 鼠标的左键 | 0x02 | 鼠标的右键 | 0x03 | Ctrl+Break | 0x04 | 鼠标的中键 | 0x08 | Backspace键 | 0x09 | Tab键 | 0x0C | Clear键 | 0x0D | Enter键 |
0x10 | Shift键 | 0x11 | Ctrl键 | 0x12 | Alt键 | 0x13 | Pause键 | 0x14 | Caps | 0x15 | IME-朝鲜日文模式 | 0x16 | IME-打开 | 0x17 | IME-Junja模式 |
0x18 | IME-最终模式 | 0x19 | IME-汉字 | 0x1A | IME-关闭 | 0x1B | Ese键 | 0x1C | IME-转换 | 0x1D | IME-不转换 | 0x1E | IME-接受 | 0x1F | IME-模式更改请求 |
0x20 | 空格键 | 0x21 | 上页键 | 0x22 | 下页键 | 0x23 | End键 | 0x24 | Home键 | 0x25 | 左键(←) | 0x26 | 上键(↑) | 0x27 | 右键(→) |
0x28 | 下键(↓) | 0x29 | Select键 | 0x2A | PRINT键 | 0x2B | EXECUTE键 | 0x2C | (抓屏) | 0x2D | Ins键 | 0x2E | Del键 | 0x2F | Help键 |
0x30 | 0键 | 0x31 | 1键 | 0x32 | 2键 | 0x33 | 3键 | 0x34 | 4键 | 0x35 | 5键 | 0x36 | 6键 | 0x37 | 7键 |
0x38 | 8键 | 0x39 | 9键 | 0x41 | A键 | 0x42 | B键 | 0x43 | C键 | 0x44 | D键 | 0x45 | E键 | 0x46 | F键 |
0x47 | G键 | 0x48 | H键 | 0x49 | I键 | 0x4A | J键 | 0x4B | K键 | 0x4C | L键 | 0x4D | M键 | 0x4E | N键 |
0x4F | O键 | 0x50 | P键 | 0x51 | Q键 | 0x52 | R键 | 0x53 | S键 | 0x54 | T键 | 0x55 | U键 | 0x56 | V键 |
0x57 | W键 | 0x58 | X键 | 0x59 | Y键 | 0x5A | Z键 | 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 | 数字/键 |
0x70 | F1键 | 0x71 | F2键 | 0x72 | F3键 | 0x73 | F4键 | 0x74 | F5键 | 0x75 | F6键 | 0x76 | F7键 | 0x77 | F8键 |
0x78 | F9键 | 0x79 | F10键 | 0x7A | F11键 | 0x7B | F12键 | 0x7C | F13键 | 0x7D | F14键 | 0x7E | F15键 | 0x7F | F16键 |
0x80 | F17键 | 0x81 | F18键 | 0x82 | F19键 | 0x83 | F20键 | 0x84 | F21键 | 0x85 | F22键 | 0x86 | F23键 | 0x87 | F24键 |
0x90 | 数字开关键 | 0x91 | ScrollLock键 | 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 | 通用.键 | 0xE5 | IME-PROCESS | 0xF6 | Attn 键 |
0xF7 | CrSel键 | 0xF8 | ExSel键 | 0xF9 | EraseEOF键 | 0xFA | Play键 | 0xFB | Zoom键 | 0xFC | 预留 | 0xFD | PA1键 | 0xFE | Clear键 |
菜单事件——通知消息:
菜单的单击事件可以在设计菜单的时候双击菜单列表项目进行绑定
其它的菜单事件都可以交给"处理窗口"这个函数自动完成,下面演示几种常用的菜单操作:
1.控制菜单项选中或者禁用
菜单复选(菜单,1001,8) 控制编号为1001的菜单选中
第一个窗体的菜单编号是从1001开始排序,一级菜单和弹出式菜单不计编号,只算可以点击的菜单
最后参数: 0是不选,1是灰色,2是禁用,8是选中,$400相对菜单项
菜单复选(菜单,1,$408) 控制相对位置为1的菜单选中
使用相对菜单项$400加上其它功能,然后控制第几个菜单,从0开始排序
2.托盘或控件右键事件弹出菜单
展示菜单(菜单.1,0,左,顶,窗口,0) 第一个一级菜单就叫菜单.1
第二个一级菜单就叫菜单.2,设计菜单的时候主菜单名称为空就不会在窗体上显示
中文名字 | 常量数值 | 英文名称 | 释义 |
初始菜单 | $0116 | WM_INITMENU | 当一个菜单将被激活时发送本消息,它发生在用户点击了某菜单项或按下某菜单键。它允许程序在显示前更改菜单。③参数:菜单;④数据:0 |
弹出菜单 | $0117 | WM_INITMENUPOPUP | 当一个下拉菜单或子菜单将被激活时发送本消息,它允许程序在它显示前更改菜单,却不更改全部菜单。③参数:菜单;④数据:低位=序号,高位=是否菜单 |
选择菜单 | $011F | WM_MENUSELECT | 当用户选择一条菜单项时,发送本消息给菜单的所有者(一般是窗口)。③参数:低位=序号,高位=标志;④数据:菜单 |
菜单激活 | $0120 | WM_MENUCHAR | 当菜单已被激活且用户按下了某菜单字符键(括号括着、带下划线,不同于快捷键)。③参数:低位=序号,高位=标志$10弹出菜单,$2000菜单;④数据:菜单; |
模框空载 | $0121 | WM_ENTERIDLE | 当一个模态对话框或菜单进入空闲状态时,发送本消息给它的所有者,就是在处理完先前的消息后,消息队列为空时。③参数:0对话框,2菜单;④数据:窗口对象 |
菜单右键 | $0122 | WM_MENURBUTTONUP | 本消息允许程序为菜单项提供一个感知上下文的菜单(即快捷菜单)。③参数:序号;④数据:菜单 |
菜单点击 | $0123 | WM_MENUDRAG | 当用户拖动菜单项时,发送本消息给拖放菜单的拥有者,可让菜单支持拖拽,可使用OLE拖放传输协议启动拖放操作。③参数:序号;④数据:菜单;返回0保持活动,1菜单结束 |
单击菜单 | $0126 | WM_MENUCOMMAND | 当用户在一个菜单上作出选择时,会发送本消息,菜单要具有MNS_NOTIFYBYPOS风格(在MENUINFO结构体中设置)。③参数:序号;④数据:菜单 |
进入菜单循环 | $211 | WM_ENTERMENULOOP | 发送本消息通知应用程序的主窗口已进入菜单循环模式。③参数:是否显示菜单;④数据:0 |
退出菜单循环 | $212 | WM_EXITMENULOOP | 发送本消息通知应用程序的主窗口已退出菜单循环模式。③参数:是否快捷菜单;④数据:0 |
菜单切换 | $213 | WM_NEXTMENU | 当使用左箭头光标键或右箭头光标键在菜单条与系统菜单之间切换时触发本消息,③参数:键码;④数据:MDINEXTMENU |
鼠标事件——通知消息:
捕获光标 | $0020 | WM_SETCURSOR | 若鼠标光标在某窗口内移动且鼠标没被捕获时,就会发送本消息给某个窗口。③参数:窗口;④数据:命中消息 |
拖曳后窗 | $0021 | WM_MOUSEACTIVATE | 当鼠标光标在某个未激活窗口内,而用户正按着鼠标的某个键时,会发送本消息给当前窗口。③参数:父窗;④数据:命中消息;返回值:1激活窗口不丢弃鼠标,2激活丢弃鼠标,3不激活不丢弃,4不激活丢弃鼠标 |
点击右键 | $007B | WM_CONTEXTMENU | 当用户在某窗口中点击右键就发送本消息给该窗口,设置右键菜单。③参数:窗口;④数据:屏幕坐标x/y |
单击左键 | $0111 | WM_COMMAND | 用户选择一条菜单命令项或某控件发送一条通知消息给其父窗,或某快捷键被翻译时,本消息被发送。③参数:低位=编号,高位=事件;④数据:控件;菜单无高位事件,快捷键高位1,两者数据都是0 |
单击窗口 | $0112 | WM_SYSCOMMAND | 当用户选择一条系统菜单命令、用户最大化或最小化或还原或关闭时。③参数:命令;④数据:点菜单时鼠标位置 |
鼠标起始 | $0200 | WM_MOUSEFIRST | 鼠标移动时发生(与WM_MOUSEMOVE等值),常用于判断鼠标消息的范围 |
鼠标移动 | $0200 | WM_MOUSEMOVE | 当鼠标在窗口客户区移动时。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y; |
按下左键 | $0201 | WM_LBUTTONDOWN | 当鼠标左键在窗口客户区按下。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y; |
释放左键 | $0202 | WM_LBUTTONUP | 当鼠标左键在窗口客户区放开。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y; |
双击左键 | $0203 | WM_LBUTTONDBLCLK | 当鼠标左键在窗口客户区双击。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y; |
按下右键 | $0204 | WM_RBUTTONDOWN | 当鼠标右键在窗口客户区按下。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y; |
释放右键 | $0205 | WM_RBUTTONUP | 当鼠标右键在窗口客户区放开。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y; |
双击右键 | $0206 | WM_RBUTTONDBLCLK | 当鼠标右键在窗口客户区双击。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y; |
按下中键 | $0207 | WM_MBUTTONDOWN | 当鼠标中键在窗口客户区按下。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y; |
释放中键 | $0208 | WM_MBUTTONUP | 当鼠标中键在窗口客户区放开。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y; |
双击中键 | $0209 | WM_MBUTTONDBLCLK | 当鼠标中键在窗口客户区双击。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y; |
滚轮转动 | $020A | WM_MOUSEWHEEL | 当滚动鼠标滚轮时。③参数:高位120向后,-120向前;低位1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y; |
鼠标结束 | $020A | WM_MOUSELAST | WM_MBUTTONDBLCLK的别名,通常用于判断鼠标消息的范围,对应的还有WM_MOUSEFIRST(鼠标起始) |
失去鼠标 | $215 | WM_CAPTURECHANGED | 当它失去捕获的鼠标时,发送本消息给窗口。③参数:0;④数据:窗口 |
移动消息 | $216 | WM_MOVING | 当用户在移动窗口时发送本消息,通过本消息应用程序以监视窗口大小和位置,也可修改它们。③参数:0;④数据:矩形类 |
拖放文件 | $233 | WM_DROPFILES | 鼠标拖放时,放下事件产生时发送本消息,比如:文件拖放功能。③参数:文件;④数据:0 |
鼠标经外 | $2A0 | WM_NCMOUSEHOVER | 当光标悬停在窗口的非工作区上的达到指定时间发送本消息。③参数:命中值;④数据:坐标类; |
鼠标经过 | $2A1 | WM_MOUSEHOVER | 当光标悬停在窗口的工作区上的达到指定时间发送本消息。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y; |
鼠标离外 | $2A2 | WM_NCMOUSELEAVE | 当光标离开之前调用 TrackMouseEvent 中指定的窗口的非工作区时发送本消息。③参数:0;④数据:0; |
鼠标离开 | $2A3 | WM_MOUSELEAVE | 鼠标离开控件时,触发发送本消息。③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y; |
系统事件——通知消息:
配置更新 | $001A | WM_WININICHANGE | 读写"win.ini"时会发送本消息给所有顶层窗口,通知其它进程该文件已被更改。③参数:0;④数据:名称 |
设备模式 | $001B | WM_DEVMODECHANGE | 改变设备模式设置("win.ini")时,处理本消息的应用程序可重新初始化它们的设备模式设置③参数:0;④数据:名称 |
系统关机 | $0011 | WM_QUERYENDSESSION | 关机或注销时系统会按优先级给各进程发送,告诉应用程序要关机或注销了。③参数:0;④数据:0正在关闭事件;1文件要换或资源耗尽;4强制关闭程序;8用户正在注销 |
系统变色 | $0015 | WM_SYSCOLORCHANGE | 当系统颜色改变时,发送本消息给所有顶级窗口。③参数:0;④数据:0 |
开始关机 | $0016 | WM_ENDSESSION | 关机或注销时系统会发出消息给应用程序,通知程序会话结束。③参数:0会话结束,非0正在结束;④数据:0正在关闭事件;1文件要换或资源耗尽;4强制关闭程序;8用户正在注销 |
时间错误 | $0017 | WM_SYSTEMERROR | 系统时间错误。③参数:0;④数据:0 |
字库更新 | $001D | WM_FONTCHANGE | 当系统的字体资源库变化时发送本消息给所有顶级窗口。③参数:0;④数据:0 |
时间改变 | $001E | WM_TIMECHANGE | 当系统的时间变化时发送本消息给所有顶级窗口。③参数:0;④数据:0 |
系统暂停 | $0048 | WM_POWER | 当系统将要进入暂停状态时发送本消息(适用于16位的windows)③参数:1即将挂起,2挂起恢复,3含两种;④数据:0 |
传递数据 | $004A | WM_COPYDATA | 当一个应用程序传递数据给另一个应用程序时发送本消息。③参数:窗口;④数据: COPYDATASTRUCT 结构 |
取消日志 | $004B | WM_CANCELJOURNAL | 当用户取消程序日志激活状态时,发送本消息给那个应用程序。该消息使用空窗口句柄发送。③参数:0;④数据:0 |
用户出入 | $0054 | WM_USERCHANGED | 当用户已登入或退出后发送本消息给所有窗口;当用户登入或退出时以及系统更新用户设置时,立即发送本消息。③参数:0;④数据:0; 自 Windows Vista 起,不支持此消息。 |
调分辨率 | $007E | WM_DISPLAYCHANGE | 当显示器的分辨率改变后,发送本消息给所有窗口。③参数:位深;④数据:分辨率x/y |
电源消息 | $218 | WM_POWERBROADCAST | 通知它有关电源管理事件。③参数:4正在扶起,7正在恢复,10状态更改,18自动恢复,32781设置更改;④数据:无/POWERBROADCAST_SETTING/PBT_POWERSETTINGCHANGE |
硬件修改 | $219 | WM_DEVICECHANGE | 当设备的硬件配置改变时,发送本消息给应用程序或设备驱动程序。③参数:事件;④数据:结构 |
主题更改 | $31A | WM_THEMECHANGED | 在主题更改事件后广播到每个窗口。③参数:0;④数据:0 |
消息保留 | $0000 | PM_NOREMOVE | 查探消息处理后,消息不从队列里除掉。 |
消息清除 | $0001 | PM_REMOVE | 查探消息处理后,消息从队列里除掉。 |
消息空闲 | $0002 | PM_NOYIELD | 此标志使系统不释放等待调用程序空闲的线程。 |
系统特定目录——常量数值
中文名字 | 常量 | 英文名称 | 释义 |
桌面目录 | 0 | CSIDL_DESKTOP | 表示Windows桌面的虚拟文件夹,命名空间的根目录。 |
上网目录 | 1 | CSIDL_INTERNET | Internet Explorer 的虚拟文件夹。 |
程序目录 | 2 | CSIDL_PROGRAMS | 包含用户程序组的文件系统目录 |
控制面板 | 3 | CSIDL_CONTROLS | 包含控制面板应用程序的图标的虚拟文件夹。 |
打印目录 | 4 | CSIDL_PRINTERS | 包含已安装打印机的虚拟文件夹。 |
文档目录 | 5 | CSIDL_PERSONAL | 表示“我的文档”桌面项的虚拟文件夹。 |
收藏目录 | 6 | CSIDL_FAVORITES | 用作用户收藏项的公共存储库的文件系统目录。 |
启动目录 | 7 | CSIDL_STARTUP | 对应于用户的启动程序组的文件系统目录。 |
最近记录 | 8 | CSIDL_RECENT | 包含用户最近使用的文档的快捷方式的文件系统目录。 |
发送目录 | 9 | CSIDL_SENDTO | 包含“ 发送到” 菜单项的文件系统目录。 |
回收目录 | 10 | CSIDL_BITBUCKET | 包含用户 回收站中的对象的虚拟文件夹。 |
开始菜单 | 11 | CSIDL_STARTMENU | 包含 “开始” 菜单项的文件系统目录。 |
用户桌面 | 16 | CSIDL_DESKTOPDIRECTORY | 用于在桌面上物理存储文件对象的文件系统目录 (不要与桌面文件夹本身混淆) 。 |
我的电脑 | 17 | CSIDL_DRIVES | 表示“我的电脑”的虚拟文件夹,其中包含本地计算机上的所有内容 |
网络目录 | 18 | CSIDL_NETWORK | 表示网络邻里(网络命名空间层次结构的根)的虚拟文件夹。 |
网上邻居 | 19 | CSIDL_NETHOOD | 包含“网上邻居”虚拟文件夹中可能存在的链接对象。 |
字体目录 | 20 | CSIDL_FONTS | 包含字体的虚拟文件夹。典型路径为 C:\Windows\Fonts。 |
模板目录 | 21 | CSIDL_TEMPLATES | 用作文档模板通用存储库的文件系统目录。 |
公用菜单 | 22 | CSIDL_COMMON_STARTMENU | 包含所有用户的“开始”菜单上都出现的程序和文件夹。 |
公用程序 | 23 | CSIDL_COMMON_PROGRAMS | 包含所有用户在 “开始” 菜单上显示的常见程序组的目录。 |
公用开始 | 24 | CSIDL_COMMON_STARTUP | 包含在所有用户的“开始”文件夹中都出现的程序的文件系统目录。 |
公用桌面 | 25 | CSIDL_COMMON_DESKTOPDIRECTORY | 包含在所有用户桌面上出现的文件和文件夹的文件系统目录。 |
应用数据 | 26 | CSIDL_APPDATA | 用作应用程序特定数据的通用存储库的文件系统目录。 |
用户打印 | 27 | CSIDL_PRINTHOOD | 文件系统目录,包含“打印机”虚拟文件夹中可能存在的链接对象。 |
虚程序组 | 29 | CSIDL_ALTSTARTUP | 对应于用户的非本地化启动程序组的文件系统目录。(已弃用) |
公程序组 | 30 | CSIDL_COMMON_ALTSTARTUP | 与所有用户的非本地化启动程序组对应的文件系统目录。(已弃用) |
公用收藏 | 31 | CSIDL_COMMON_FAVORITES | 文件系统目录,用作所有用户通用的收藏夹项目的通用存储库。 |
网络缓存 | 32 | CSIDL_INTERNET_CACHE | 用作临时 Internet 文件的通用存储库的文件系统目录。 |
信息缓存 | 33 | CSIDL_COOKIES | 用作 Internet Cookie 通用存储库的文件系统目录。 |
历史记录 | 34 | CSIDL_HISTORY | 用作Internet历史记录项的公共存储库的文件系统目录。 |
子窗口事件——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
通知子窗 | $0022 | WM_CHILDACTIVATE | 点击窗口标题栏或当窗口被激活、移动、大小改变时,会发送本消息给MDI子窗口。③参数:0;④数据:0 |
子窗变动 | $210 | WM_PARENTNOTIFY | 当MDI子窗口被创建或被销毁,或用户按了一下鼠标键而光标在子窗口上时,发送本消息给其父窗③参数:事件;④数据:坐标x/y; |
子窗创建 | $220 | WM_MDICREATE | 发送本消息给多文档应用程序的客户窗口来创建一个MDI子窗口。③参数:0;④数据:子窗结构 |
子窗关闭 | $221 | WM_MDIDESTROY | 发送本消息给多文档应用程序的客户窗口来关闭一个MDI子窗口。③参数:子窗;④数据:0 |
子窗激活 | $222 | WM_MDIACTIVATE | 发送本消息通知客户窗口激活另一个MDI子窗口。③参数:0;④数据:0忽略,非0最大化 |
子窗恢复 | $223 | WM_MDIRESTORE | 发送本消息给MDI客户窗口,让子窗口从最大最小化恢复到原来的大小。③参数:子窗;④数据:0 |
子窗下个 | $224 | WM_MDINEXT | 发送本消息给MDI客户窗口,激活下一个或前一个窗口。③参数:子窗;④数据:0激活下个,非0激活上个 |
子窗最大 | $225 | WM_MDIMAXIMIZE | 发送本消息给MDI客户窗口来最大化一个MDI子窗口。③参数:子窗;④数据:0 |
子窗平铺 | $226 | WM_MDITILE | 发送本消息给MDI客户窗口,以平铺方式重新排列所有MDI子窗口。③参数:0垂直,1水平;④数据:0 |
子窗层叠 | $227 | WM_MDICASCADE | 发送本消息给MDI客户窗口,以层叠方式重新排列所有MDI子窗口。③参数:2不排禁用窗口,4按Z序;④数据:0 |
子窗排底 | $228 | WM_MDIICONARRANGE | 发送本消息给MDI客户窗口重新排列所有最小化的MDI子窗口。③参数:0;④数据:0 |
子窗活动 | $229 | WM_MDIGETACTIVE | 发送本消息给MDI客户窗口以找到激活的子窗口句柄。③参数:0;④数据:0忽略,非0最大化 |
子窗设置菜单 | $230 | WM_MDISETMENU | 发送本消息给MDI客户窗口,用MDI菜单代替子窗口的整个菜单和/或框架窗口菜单。③参数:框架菜单;④数据:窗口菜单 |
子窗更新菜单 | $234 | WM_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,内容) 把获取到的内容显示到窗口标题栏
中文名字 | 常量数值 | 英文名称 | 释义 |
内容剪切 | 0x300 | WM_CUT | 剪切删除当前选择的文本。③参数:0;④数据:0 |
内容复制 | 0x301 | WM_COPY | 复制当前选择的文本到剪贴板。③参数:0;④数据:0 |
内容粘贴 | 0x302 | WM_PASTE | 应用程序发送本消息给编辑框或组合框,以便从剪贴板中得到数据。③参数:0;④数据:0 |
内容删除 | 0x303 | WM_CLEAR | 应用程序发送本消息给编辑框或组合框,以清除当前选择的内容。③参数:0;④数据:0 |
内容撤销 | 0x304 | WM_UNDO | 应用程序发送本消息给编辑框或组合框,以撤消最后一次操作。③参数:0;④数据:0 |
剪切数据 | $305 | WM_RENDERFORMAT | 应用程序需要系统剪切板数据时,触发发送本消息。③参数:剪切格式;④数据:0 |
剪切数列 | $306 | WM_RENDERALLFORMATS | 应用程序退出时,系统会给当前程序发送该消息,要求提供所有格式的剪帖板数据,避免造成数据丢失。③参数:0;④数据:0 |
剪切清空 | $307 | WM_DESTROYCLIPBOARD | 当调用"清剪切板"函数时,发送本消息给剪贴板的所有者 |
剪切变更 | $308 | WM_DRAWCLIPBOARD | 当剪贴板的内容变化时,触发本消息;它允许用剪贴板观察窗口来显示剪贴板的新内容。③参数:0;④数据:0 |
剪切重绘 | $309 | WM_PAINTCLIPBOARD | 当剪贴板观察窗口的客户区需要重画时,触发发送本消息。③参数:窗口;④数据: PAINTSTRUCT 结构 |
剪切竖条 | $30A | WM_VSCROLLCLIPBOARD | 当剪贴板查看器的垂直滚动条被单击时。③参数:窗口;④数据:0上滚一行,1下滚一行,2上滚一页,3下滚一页,4绝对位置(高字是位置),6到左上角,7到右下角,8结束滚动; |
剪切缩放 | $30B | WM_SIZECLIPBOARD | 当剪贴板包含CF_OWNERDIPLAY格式的数据,并且剪贴板观察窗口的大小已改变。③参数:窗口;④数据:矩形类 |
剪切取名 | $30C | WM_ASKCBFORMATNAME | 通过剪贴板观察窗口发送本消息给剪贴板的所有者,以请求一个CF_OWNERDISPLAY格式的剪贴板的名字。③参数:大小;④数据:缓冲区 |
剪切移出 | $30D | WM_CHANGECBCHAIN | 当一个窗口从剪贴板观察链中移去时,发送本消息给剪贴板观察链的首个窗口。③参数:窗口;④数据:下个窗口 |
剪切平条 | $30E | WM_HSCROLLCLIPBOARD | 点击剪贴板观察窗的水平滚动条。③参数:窗口;④数据:0上滚一行,1下滚一行,2上滚一页,3下滚一页,4绝对位置(高字是位置),6到左上角,7到右下角,8结束滚动; |
剪切板改 | $31D | WM_CLIPBOARDUPDATE | 剪贴板的内容发生更改时发送。③参数:0;④数据:0 |
调色板——消息消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
色板请求 | $30F | WM_QUERYNEWPALETTE | 本消息发送给将要收到焦点的窗口,本消息能使窗口在收到焦点时同时有机会实现逻辑调色板。③参数:0;④数据:0 |
色板启用 | $310 | WM_PALETTEISCHANGING | 当一个应用程序正要实现它的逻辑调色板时,发本消息通知所有的应用程序。③参数:窗口;④数据:0 |
色板变更 | $311 | WM_PALETTECHANGED | 发送本消息给所有顶级并重叠的窗口,以此来改变系统调色板。③参数:窗口;④数据:0 |
用户消息 | $400 | WM_USER | 用于帮助应用程序自定义私有消息,通常形式为:WM_USER + X |
程序消息 | $8000 | WM_APP | 用于帮助应用程序自定义私有消息,通常形式为:WM_APP + X |
编辑框——控件消息:
发送消息(编辑框1,编辑替换,真,"插入替换的文字") 替换编辑框1选中的内容,若无选中向光标处插入文本
发送消息(编辑框1,编辑选中,3,9) 控制选中编辑框1选中的从第3到第9个字之间的内容
文本 内容[120]=120;发送消息(编辑框1,编辑取行,2,内容) 获取编辑框1第三行文字到内容缓冲区,要先写入长度数值
中文名字 | 常量数值 | 英文名称 | 释义 |
编辑所选 | $B0 | EM_GETSEL | 获取光标位置(④数据)或取得编辑控件中选定内容的范围(③参数为起点,④数据为终点)。返回值中低16位为起点,高16位为终点 |
编辑选中 | $B1 | EM_SETSEL | 设置编辑控件中文本选定内容范围(或设置光标位置),③参数为起点,④数据为终点。 |
编辑矩形 | $B2 | EM_GETRECT | 获取编辑控件的格式矩形(控件在其中绘制文本的限制矩形)。在④数据中获取 |
编辑范围 | $B3 | EM_SETRECT | 设置多行编辑控件的格式矩形(绘制范围)。它与编辑控件窗口的大小无关。在④数据中指定矩形 |
编辑大小 | $B4 | EM_SETRECTNP | 设置多行编辑控件的格式矩形。与编辑范围的区别是不重绘编辑控件窗口。 |
编辑竖翻 | $B5 | EM_SCROLL | 在多行编辑控件中垂直滚动文本。③参数:0上滚一行 1下滚一行 2上滚一页 3下滚一页 |
编辑滚动 | $B6 | EM_LINESCROLL | 滚动多行编辑控件中的文本。③参数:水平滚动字数(富文本框为0),④数据:垂直滚动的行数。 |
编辑滚点 | $B7 | EM_SCROLLCARET | 将插入点(光标)滚动到编辑控件的视图中。③参数:0;④数据:0 |
编辑状态 | $B8 | EM_GETMODIFY | 获取编辑控件的修改标志的状态。③参数:0;④数据:0,返回值非零表示编辑控件的内容已修改 |
编辑修改 | $B9 | EM_SETMODIFY | 设置或清除编辑控件的修改标志。③参数用真或假指定修改标志的状态。 |
编辑行数 | $BA | EM_GETLINECOUNT | 获取多行编辑控件中的行数。③参数:0;④数据:0,返回行数。 |
编辑行位 | $BB | EM_LINEINDEX | 获取多行编辑控件中指定行的第一个字符的字符索引。也就是从开头的第几个字,③参数:行号 -1表示光标所在行 |
编辑指针 | $BC | EM_SETHANDLE | 设置多行编辑控件将使用的内存的句柄。③参数:指定新的内存缓冲区 |
编辑手柄 | $BD | EM_GETHANDLE | 获取当前为多行编辑控件的文本分配的内存的句柄。③参数:0;④数据:0,返回句子手柄 |
编辑滑块 | $BE | EM_GETTHUMB | 获取多行编辑控件垂直滚动条中滚动框 (滑块) 的位置。③参数:0;④数据:0,返回滑块位置 |
编辑行字 | $C1 | EM_LINELENGTH | 检索编辑控件中行的字符数。③参数:第几个字,-1是光标处 |
编辑替换 | $C2 | EM_REPLACESEL | 将编辑控件中的选定文本或丰富的编辑控件替换为指定的文本。③参数为真可撤销,④数据是文本指针 |
编辑取行 | $C4 | EM_GETLINE | 从编辑控件复制一行文本,并将其置于指定的缓冲区中。③参数:行号(0开始),④数据:接收内容的文本指针 |
编辑限字 | $C5 | EM_LIMITTEXT | 设置编辑控件的文本限制最大字数。③参数:限制字数 |
编辑可撤 | $C6 | EM_CANUNDO | 确定编辑控件的撤消队列中是否有任何操作。③参数:0;④数据:0,返回非0表示可以进行撤销 |
编辑撤销 | $C7 | EM_UNDO | 此消息撤消控件队列中最后一次编辑控件操作。③参数:0;④数据:0,返回真表示撤销成功 |
编辑软行 | $C8 | EM_FMTLINES | 设置一个标志,用于确定多行编辑控件是否包含软换行符(两个回车加一换行符,英文断词用)。③参数为真是可以有,为假则清除 |
编辑字行 | $C9 | EM_LINEFROMCHAR | 获取包含多行编辑控件中指定字符索引的行的索引。③参数:第几个字,-1是光标所在行 |
编辑制表 | $CB | EM_SETTABSTOPS | 设置多行编辑控件中的制表位。③参数:制表位数目,④数据:制表位数组 |
编辑密码 | $CC | EM_SETPASSWORDCHAR | 设置或删除编辑控件的密码字符。 ③参数:取代内容文字的字符,为0时恢复文字显示 |
编辑重置 | $CD | EM_EMPTYUNDOBUFFER | 重置编辑控件的撤消标志。③参数:0;④数据:0。 |
编辑上字 | $CE | EM_GETFIRSTVISIBLELINE | 获取多行编辑控件中最上端可见行的从零开始的索引。③参数:0;④数据:0 |
编辑只读 | $CF | EM_SETREADONLY | 设置或删除编辑控件的只读样式。③参数为真是只读,为假是可写;④数据:0。 |
编辑函数 | $D0 | EM_SETWORDBREAKPROC | 将编辑控件的默认 文字显示处理 函数替换为应用程序自定义的处理函数。④数据:自定函数指针 |
编辑地址 | $D1 | EM_GETWORDBREAKPROC | 获取编辑控件的默认 文字显示处理 函数的地址。③参数:0;④数据:0,返回地址。 |
编辑密字 | $D2 | EM_GETPASSWORDCHAR | 获取编辑控件在用户输入文本时显示的密码字符。③参数:0;④数据:0,返回字符。 |
编辑边距 | $D3 | EM_SETMARGINS | 设置编辑控件的左右边距的宽度。 ③参数:1是左边距 2右边距,④数据:低位左边距,高位右边距 |
编辑边宽 | $D4 | EM_GETMARGINS | 获取编辑控件的左右边距的宽度。③参数:0;④数据:0,返回低位是左边宽,高位是右边宽。 |
编辑字限 | $D5 | EM_GETLIMITTEXT | 获取编辑控件的当前文本限制。 ③参数:0;④数据:0,返回限制字数 |
编辑坐标 | $D6 | EM_POSFROMCHAR | 检索编辑控件中指定字符的工作区坐标。③参数:字的索引,返回低位是左,高位是顶 |
编辑点字 | $D7 | EM_CHARFROMPOS | 获取与编辑控件的工作区中指定点最接近的字符的信息。④数据:富文本框是坐标结构指针,普通框是整数。低位左,高位顶。返回指定位置字的索引,编辑框高位包含该行的字索引 |
编辑交互 | $D8 | EM_SETIMESTATUS | 设置编辑控件如何与输入法编辑器交互。③参数:1组合字符串;④数据:1返回结果字符串,2焦点取消组合字符串,3失去焦点完成组合字符串 |
编辑方式 | $D9 | EM_GETIMESTATUS | 获取编辑控件如何与输入法编辑器交互。③参数:1组合字符串;④数据:0;返回值:1立即返回结果字符串,2焦点取消组合字符串,3失去焦点完成组合字符串 |
左边编距 | $1 | EC_LEFTMARGIN | ③参数的值,设置编辑控件的左边距的宽度。 |
右边编距 | $2 | EC_RIGHTMARGIN | ③参数的值,设置编辑控件的右边距的宽度。 |
精细编距 | $0FFFF | EC_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人员
中文名字 | 常量数值 | 英文名称 | 释义 |
获取选择 | $00F0 | BM_GETCHECK | 获取单选按钮或复选框的状态。 ③参数:0;④数据:0 |
设置选择 | $00F1 | BM_SETCHECK | 设置单选按钮或复选框的状态。 ③参数:0不选,1选中,2变灰不可用;④数据:0 |
获取选形 | $00F2 | BM_GETSTATE | 确定单选按钮或复选框的状态。 ③参数:0;④数据:0 |
设置选形 | $00F4 | BM_SETSTATE | 改变按钮的高亮状态。 ③参数:0不突出,非0突出显示;④数据:0 |
改变按钮 | $00F4 | BM_SETSTYLE | 改变按钮的风格。 ③参数:样式;④数据:0不重绘,非0重绘 |
模拟点击 | $00F5 | BM_CLICK | 模拟用户点击按钮。 ③参数:0;④数据:0 |
取按钮图 | $00F6 | BM_GETIMAGE | 获取与按钮相关联的图片句柄。 ③参数:0位图,1图标;④数据:0 |
换按钮图 | $00F7 | BM_SETIMAGE | 把按钮与某张图片相关联。 ③参数:0位图,1图标;④数据:图片 |
设置单击 | $00F8 | BM_SETDONTCLICK | 控制单选按钮获得焦点时单击事件的生成。 ③参数:0不点,非0点击;④数据:0 |
组合框——控件消息:
发送消息(组合框1,组合添加,0,"内容");向组合框1添加项目
发送消息(组合框1,组合删除,0,0);删除组合框1的0号项目
数量=发送消息(组合框1,组合总项,0,0);获取组合框1里项目的总数
发送消息(组合框1,组合文件,0,"*");组合框1里显示当前目录下所有文件
中文名字 | 常量数值 | 英文名称 | 释义 |
组合添加 | $143 | CB_ADDSTRING | 用于向组合框控件追加一个列表项。③参数:0;④数据:文字 |
组合删除 | $144 | CB_DELETESTRING | 用于删除组合框中指定的列表项。③参数:序号;④数据:0 |
组合文件 | $145 | CB_DIR | 用于向组合框控件所包含的列表框控件中添加一个文件名列表清单。③参数:路径选项;④数据:路径 |
组合总项 | $146 | CB_GETCOUNT | 用于返回组合框控件中列表项的总项数。③参数:0;④数据:0 |
取组合项 | $147 | CB_GETCURSEL | 用于返回当前被选择项的索引。③参数:0;④数据:0 |
组合读取 | $148 | CB_GETLBTEXT | 获取组合框控件中指定列表项的字符串。③参数:序号;④数据:缓冲区 |
组合长度 | $149 | CB_GETLBTEXTLEN | 用于返回组合框控件中指定列表项的字符串的长度。③参数:序号;④数据:0 |
组合插入 | $14A | CB_INSERTSTRING | 在组合框控件所包含的列表框子控件中的指定位置插入字符串。③参数:序号,-1末尾;④数据:文字 |
组合清除 | $14B | CB_RESETCONTENT | 用于清除组合框控件所有列表项。③参数:0;④数据:0 |
组合查找 | $14C | CB_FINDSTRING | 在组合框控件中根据给定的字符串查找匹配字符串(忽略大小写)。③参数:序号,-1开头;④数据:文字 |
组合选择 | $14D | CB_SELECTSTRING | 在组合框控件中设定与指定字符串相匹配的列表项为选中项。③参数:序号,-1开头;④数据:文字 |
选组合项 | $14E | CB_SETCURSEL | 在组合框控件中设置指定的列表项为当前选择项。③参数:序号;④数据:0 |
下拉显示 | $14F | CB_SHOWDROPDOWN | 用于显示或关闭下拉式和下拉列表式组合框的列表框。③参数:0隐藏,非0显示;④数据:0 |
组合数据 | $150 | CB_GETITEMDATA | 获取组合框控件指定列表项的附加数据。③参数:序号;④数据:0 |
组合附加 | $151 | CB_SETITEMDATA | 更新组合框指定的列表项的32位附加数据。③参数:序号;④数据:新值 |
组合位置 | $152 | CB_GETDROPPEDCONTROLRECT | 用于取组合框中列表框的屏幕位置。③参数:0;④数据:矩形类 |
改下拉高 | $153 | CB_SETITEMHEIGHT | 指定组合框中列表项的显示高度。③参数:0项高度,1选字高度;④数据:框高度 |
取下拉高 | $154 | CB_GETITEMHEIGHT | 用于返回指定列表项的高度。③参数:0项高度,-1选字高度;④数据:0 |
扩展组合 | $155 | CB_SETEXTENDEDUI | 指定下拉式或下拉列表式组合框是使用默认界面还是扩展界面。③参数:0默认,非0扩展;④数据:0 |
组合扩展 | $156 | CB_GETEXTENDEDUI | 用于返回组合框是否存在扩展界面。③参数:0;④数据:0 |
下拉可见 | $157 | CB_GETDROPPEDSTATE | 用于取组合框中列表框是否可见。③参数:0;④数据:0 |
查组合项 | $158 | CB_FINDSTRINGEXACT | 在组合框中查找字符串,本消息必须整个字符串相同。③参数:序号;④数据:文字 |
组合设区 | $159 | CB_SETLOCALE | 设置组合框的当前区域。③参数:区域;④数据:0 |
组合区域 | $15A | CB_GETLOCALE | 获取组合框的当前区域设置。③参数:0;④数据:0 |
组合显项 | $15B | CB_GETTOPINDEX | 检索组合框列表框部分中第一个可见项的从零开始的索引。③参数:0;④数据:0 |
组合滚动 | $15C | CB_SETTOPINDEX | 滚动列表框让特定项在组合框的列表框中可见。③参数:序号;④数据:0 |
组合平宽 | $15D | CB_GETHORIZONTALEXTENT | 获取列表框可以水平滚动的宽度(像素)。③参数:0;④数据:0 |
组合改宽 | $15E | CB_SETHORIZONTALEXTENT | 修改列表框可以水平滚动的宽度(像素)。③参数:宽度;④数据:0 |
组合宽限 | $15F | CB_GETDROPPEDWIDTH | 获取组合框的列表框的最小允许宽度(像素)。③参数:0;④数据:0 |
组合限宽 | $160 | CB_SETDROPPEDWIDTH | 设置组合框的列表框的最小允许宽度(像素)。③参数:宽度;④数据:0 |
组合内存 | $161 | CB_INITSTORAGE | 分配组合框用于存储列表框项的内存。③参数:项数;④数据:内存大小 |
组合最少 | $163 | CB_GETMINVISIBLE | 获取组合框下拉列表中可见项的最小数目。③参数:0;④数据:0 |
组合信息 | $164 | CB_SETDROPPEDWIDTH | 获取有关指定组合框的信息。③参数:0;④数据:COMBOBOXINFO 结构 |
组合框、列表框——读取文件列表类型
中文名字 | 常量数值 | 英文名称 | 释义 |
包含只读 | 1 | DDL_READONLY | 包括只读文件 |
包含隐藏 | 2 | DDL_HIDDEN | 包括隐藏文件 |
包含系统 | 4 | DDL_SYSTEM | 包括系统文件 |
包含目录 | $10 | DDL_DIRECTORY | 包括子目录 |
包含存档 | $20 | DDL_ARCHIVE | 包括存档文件 |
只传信息 | $2000 | DDL_POSTMSGS | 只把信息传给应用消息队列,不响应列表 |
包含盘符 | $4000 | DDL_DRIVES | 包括盘符文件 |
不含读写 | $8000 | DDL_EXCLUSIVE | 不包括默认已经包含的读写文件 |
全部路径 | $4037 | DIRATTR | 包括全部路径(读写,只读,隐藏,系统,目录,存档,盘符) |
静态框——控件消息
整数 图片=加载图像(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人员
中文名字 | 常量数值 | 英文名称 | 释义 |
换静图标 | $170 | STM_SETICON | 更改静态图片框的图标。③参数:图标;④数据:0 |
取静图标 | $171 | STM_GETICON | 获取静态图片框的图标。③参数:0;④数据:0 |
换静图片 | $172 | STM_SETIMAGE | 更换静态图片框的位图。③参数:0位图,1图标,2光标,3图元;④数据:图片 |
取静图片 | $173 | STM_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里显示当前目录下所有文件
中文名字 | 常量数值 | 英文名称 | 释义 |
列表添加 | $180 | LB_ADDSTRING | 向列表框中添加字符串。③参数:序号;④数据:文字 |
列表插入 | $181 | LB_INSERTSTRING | 向列表框中插入一个条目数据或字符串(不排序)。③参数:序号,-1末尾;④数据:文字 |
列表删除 | $182 | LB_DELETESTRING | 删除列表框中的一个字符串。③参数:序号;④数据:0 |
列表选多 | $183 | LB_SELITEMRANGEEX | 在多选状态下的列表框中选择一个或多个连续的条目。③参数:首序号;④数据:末序号 |
列表清除 | $184 | LB_RESETCONTENT | 清除列表框中所有列表项。③参数:0;④数据:0 |
列表选择 | $185 | LB_SETSEL | 在多选状态下的列表框中选择一个字符串。③参数:0不选,非0选中;④数据:序号,-1所选 |
列表选中 | $186 | LB_SETCURSEL | 在列表框中选择一个字符串,并高亮新选中的字符串。③参数:序号,-1不选;④数据:0 |
列表状态 | $187 | LB_GETSEL | 获得列表框中一个条目的选择状态。③参数:序号;④数据:0 |
列表选项 | $188 | LB_GETCURSEL | 获得列表框中当前被选条目的索引。仅在单选状态的列表框有效。③参数:0;④数据:0 |
列表读取 | $189 | LB_GETTEXT | 从列表框中获得一个字符串。③参数:序号;④数据:文字 |
列表长度 | $18A | LB_GETTEXTLEN | 获得一个列表框中字符串的长度。③参数:序号;④数据:0 |
列表数量 | $18B | LB_GETCOUNT | 获得列表框中条目的数量。③参数:0;④数据:0 |
选列表项 | $18C | LB_SELECTSTRING | 仅适用于单选择列表框,设定与指定字符串相匹配的列表项为选中项,会滚动列表框以使选择项可见。③参数:序号,-1开头;④数据:文字 |
列表文件 | $18D | LB_DIR | 在列表框中列出文件名。③参数:路径选项;④数据:路径 |
列表查找 | $18F | LB_FINDSTRING | 在列表框中查找匹配字符串(忽略大小写)。③参数:序号,-1开头;④数据:文字 |
列表选数 | $190 | LB_GETSELCOUNT | 本消息用于返回选择项的数目。③参数:0;④数据:0 |
列表选位 | $191 | LB_GETSELITEMS | 本消息用于获得选中项的数目及位置。③参数:数量;④数据:缓冲区 |
取列表宽 | $193 | LB_GETHORIZONTALEXTENT | 返回列表框的可滚动的宽度。③参数:0;④数据:0 |
改列表宽 | $194 | LB_SETHORIZONTALEXTENT | 本消息设置列表框的滚动宽度。③参数:像素;④数据:0 |
列表列数 | $195 | LB_SETCOLUMNWIDTH | 设置多列列表框中所有列的宽度。③参数:像素;④数据:0 |
列文件名 | $196 | LB_ADDFILE | 为列表框增加文件名。③参数:0;④数据:文字 |
列表区域 | $198 | LB_GETITEMRECT | 用于列表框中获得列表项的客户区的矩形。③参数:序号;④数据:矩形类 |
列表数据 | $199 | LB_GETITEMDATA | 本消息用于返回指定列表项的附加数据。③参数:序号;④数据:0 |
列表附加 | $19A | LB_SETITEMDATA | 用于更新列表框中指定列表项的32位附加数据。③参数:序号;④数据:新值 |
列表非选 | $19B | LB_SELITEMRANGE | 用来使指定范围内的列表项选中或落选。③参数:0不选,非0选择;④数据:开始-最后项 |
列表指定 | $19C | LB_SETANCHORINDEX | 用于列表框中设置鼠标最后选中的表项成指定表项。③参数:序号;④数据:0 |
列表选取 | $19D | LB_GETANCHORINDEX | 用于列表框中鼠标最后选中的项的索引。③参数:0;④数据:0 |
列表键选 | $19E | LB_SETCARETINDEX | 用于列表框中设置键盘输入焦点到指定表项。③参数:序号;④数据:0完全可见,非0部分可见 |
列表键取 | $19F | LB_GETCARETINDEX | 用于列表框中返回具有矩形焦点的项目索引。③参数:0;④数据:0 |
改列表高 | $1A0 | LB_SETITEMHEIGHT | 用于列表框中指定列表项显示高度。③参数:序号;④数据:像素数 |
取列表高 | $1A1 | LB_GETITEMHEIGHT | 用于列表框中返回列表框中某一项的高度。③参数:序号;④数据:0 |
查列表项 | $1A2 | LB_FINDSTRINGEXACT | 用于列表框中查找字符串(忽略大小写),本消息必须整个字符串相同。③参数:序号,-1开头;④数据:文字 |
改列表数 | $1A7 | LB_SETCOUNT | 用于列表框中设置表项数目。③参数:项数量;④数据:0 |
列表内存 | $1A8 | LB_INITSTORAGE | 分配用于存储列表框项的内存。③参数:项数量;④数据:内存大小 |
列表点项 | $1A9 | LB_ITEMFROMPOINT | 获取最接近列表框中指定点的项的从零开始的索引。③参数:0;④数据:坐标x/y |
滚动条——控件消息:
发送消息(滚动条1,滚动位置,50,真);控制滚动条1的滑动块到指定位置
位置=发送消息(滚动条1,滚动取值,0,0);获取滚动条1的滑动块当前所在位置
发送消息(滚动条1,滚动限定,0,100);设置滚动条1的最小到最大滚动范围
发送消息(滚动条1,滚动取限,@最小,@最大);获取滚动条1的最小到最大滚动范围
发送消息(滚动条1,滚动箭头,2,0);设置滚动条1的右边(垂直滚动为下边)箭头禁止使用
中文名字 | 常量数值 | 英文名称 | 释义 |
滚动位置 | $E0 | SBM_SETPOS | 设置滚动框的位置 ,并根据需要重绘滚动条来反映新位置;③参数:位置;④数据:是否重绘; |
滚动取值 | $E1 | SBM_GETPOS | 检索滚动条控件的滚动框的当前位置;③参数:0;④数据:0; |
滚动限定 | $E2 | SBM_SETRANGE | 设置滚动条控件的最小和最大位置值。③参数:最小值;④数据:最大值; |
滚动取限 | $E3 | SBM_GETRANGE | 获取滚动条控件的最小和最大位置值。③参数:@最小值;④数据:@最大值; |
滚动箭头 | $E4 | SBM_ENABLE_ARROWS | 启用或禁用滚动条控件的一个或两个箭头。③参数:0都启用,1禁左/上,2禁右/下,3都禁用;④数据:0; |
滚动范围 | $E6 | SBM_SETRANGEREDRAW | 设置滚动条最小和最大位置并重绘控件。③参数:最小值;④数据:最大值; |
滚动设置 | $E9 | SBM_SETSCROLLINFO | 设置滚动条的位置范围等参数。③参数:是否重绘;④数据:SCROLLINFO 结构; |
滚动参数 | $EA | SBM_GETSCROLLINFO | 获取滚动条控件的位置范围等参数。③参数:0;④数据:SCROLLINFO 结构; |
滚动信息 | $EB | SBM_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的当前位置
中文名字 | 常量数值 | 英文名称 | 释义 |
进度范围 | $401 | PBM_SETRANGE | 设置进度条控件范围的上下限,并重绘进度条来反映新范围;③参数:0;④数据:低位最小值,高位最大值;默认0-100 |
进度位置 | $402 | PBM_SETPOS | 以指定位置来设置进度条的当前位置,并重绘进度条来反映新位置;③参数:位置;④数据:0 |
进度增量 | $403 | PBM_DELTAPOS | 以指定的增量来增加进度条控件的当前位置;③参数:增量;④数据:0 |
进度步长 | $404 | PBM_SETSTEP | 为进度条控件指定步长(缺省为10);③参数:步长;④数据:0 |
进度步进 | $405 | PBM_STEPIT | 用步进值来增加一个进度条控件的当前位置;③参数:0;④数据:0 |
进度限定 | $406 | PBM_SETRANGE32 | 为进度条设置32位的上下限范围;③参数:最小值;④数据:最大值 |
进度取限 | $407 | PBM_GETRANGE | 获取当前进度条控件的上下限范围;③参数:真=低限,假=高限;④数据:PBRANGE 结构或者0 |
进度取值 | $408 | PBM_GETPOS | 检取进度条的当前位置;③参数:0;④数据:0;返回当前位置 |
进度块色 | $409 | PBM_SETBARCOLOR | 设置进度条控件上滑块的颜色(COLORREF值);③参数:0;④数据:颜色;返回之前颜色 |
进度背色 | $2001 | PBM_SETBKCOLOR | 设置进度条控件的背景色;③参数:0;④数据:新颜色;返回之前颜色 |
动态链接库——开发应用
中文名字 | 常量 | 英文名称 | 释义 |
初次调用 | 1 | DLL_PROCESS_ATTACH | 当这个DLL被映射到了进程的地址空间时 |
线程创建 | 2 | DLL_THREAD_ATTACH | 一个线程正在被创建 |
线程结束 | 3 | DLL_THREAD_DETACH | 线程终结 |
结束调用 | 0 | DLL_PROCESS_DETACH | 这个DLL从进程的地址空间中解除映射 |
托盘图标菜单和消息
中文名字 | 常量 | 英文名称 | 释义 |
托盘添加 | 0 | NIM_ADD | 将图标添加到状态区域。 |
托盘更新 | 1 | NIM_MODIFY | 修改状态区域中的图标。 |
托盘删除 | 2 | NIM_DELETE | 从状态区域中删除图标。 |
托盘焦点 | 3 | NIM_SETFOCUS | 将焦点返回到任务栏通知区域。 |
托盘版本 | 4 | NIM_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,提示="测试程序",标题="提示",信息="鼠标右键右下角图标可以弹出菜单!");
赋值代码是在程序段之内书写,例如:文件框.标题="打开文件",用文本向整数变量赋值。
类型是用来连续申请多种变量,复杂的类型结构长度也是可变的
这种结构体的第一个变量通常都是长度,需要指定长度提交数据
也有的不用长度而是用标志,指定包含哪些数据就去特定位置获取
中文名字 | 英文名称 | 长度 | 作用解释 |
坐标类 | POINT | 8 | 用来存储坐标位置的信息 |
坐标类 成员表 |
中文 | 英文 | 类型 | 作用解释 |
左 | x | 整数 | 水平坐标位置。 |
顶 | y | 整数 | 垂直坐标位置。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
尺寸类 | SIZE | 8 | 用来存储尺寸大小的信息 |
尺寸类 成员表 |
中文 | 英文 | 类型 | 作用解释 |
宽 | cx | 整数 | 尺寸大小的宽度。 |
高 | cy | 整数 | 尺寸大小的高度。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
矩形类 | RECT | 16 | 用来表示一个矩形框的四条边位置。 |
矩形类——成员表 |
左 | left | 整数 | 指定矩形框左上角的x坐标 |
顶 | top | 整数 | 指定矩形框左上角的y坐标 |
宽 | right | 整数 | 指定矩形框右下角的x坐标 |
高 | bottom | 整数 | 指定矩形框右下角的y坐标 |
中文名字 | 英文名称 | 长度 | 作用解释 |
鼠标点类 | MOUSEINPUT | 24 | 用来表示鼠标点位置。 |
鼠标点类——成员表 |
左 | 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 | 整数 | 与此坐标关联的其他信息。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
移动点类 | MOUSEMOVEPOINT | 16 | 用来表示鼠标移动位置。 |
移动点类——成员表 |
左 | x | 整数 | 鼠标的 x 坐标。 |
顶 | y | 整数 | 鼠标的 y 坐标。 |
时间 | time | 整数 | 鼠标坐标的时间戳。(以毫秒为单位) |
扩展 | dwExtraInfo | 整数 | 与此坐标关联的其他信息。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
键盘类 | KEYBDINPUT | 16 | 包含有关模拟键盘事件的信息。 |
键盘类——成员表 |
键码 | wVkScan | 整数 | 虚拟密钥代码和密钥的硬件扫描代码。如果 标志 指定 4或8 则低位是0,高位宽字符 |
标志 | dwFlags | 整数 | 指定击键的各个方面。1扫描码两字节(E0xx),2释放密钥(否则按键),4合成宽字符键,8扫描码 |
时间 | time | 整数 | 鼠标坐标的时间戳。(以毫秒为单位) |
扩展 | dwExtraInfo | 整数 | 与此坐标关联的其他信息。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
硬件输入类 | HARDWAREINPUT | 8 | 包含有关由键盘或鼠标以外的输入设备生成的模拟消息的信息。 |
硬件输入类——成员表 |
消息 | uMsg | 整数 | 输入硬件生成的消息。 |
参数 | wParam | 整数 | 消息的参数值。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
文件框类 | OPENFILENAME | 76 | 用来初始化打开或另存为对话框的信息 |
文件框类 成员表 |
中文 | 英文 | 类型 | 作用解释 |
长度 | 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 |
中文名字 | 英文名称 | 长度 | 作用解释 |
目录框类 | BROWSEINFO | 32 | 用来获取用户选择的目录 |
目录框类 成员表 |
中文 | 英文 | 类型 | 作用解释 |
窗口 | hwndOwner | 整数 | 指向所在窗口的句柄。 |
目录 | pidlRoot | 整数 | ITEMIDLIST结构的地址,包含浏览时的初始根目录 |
路径 | pszDisplayName | 整数 | 用来保存用户选中的目录字符串的内存地址。 |
标题 | lpszTitle | 整数 | 浏览文件夹对话框的标题内容。 |
选项 | ulFlags | 整数 | 描述了对话框的选项。1只含文件目录2不含域名目录,4对话框可设置状态文本,8只返回有意义的文件节点
$10包含编辑框,$20检查输入名称合法性,$1000显示计算机,$2000显示打印机,$4000显示目录和文件 |
回调 | lpfn | 整数 | 程序定义的浏览对话框回调函数的地址。 |
参数 | lParam | 整数 | 对话框传递给回调函数的一个参数指针 |
图像 | iImage | 整数 | 与选中目录相关的图像。该图像将被指定为系统图像列表中的索引值。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
对话框类 | DLGTEMPLATE | 32 | 用来获取用户选择的目录 |
对话框类 成员表 |
中文 | 英文 | 类型 | 作用解释 |
风格 | style | 整数 | 对话框的样式。是窗口样式值和对话框样式值的组合 |
扩展 | dwExtendedStyle | 整数 | 窗口的扩展样式。不用于创建对话框,而用它来创建其他类型的窗口。 |
项目 | cdit | 整数 | 对话框中的项数。 |
左 | x | 整数 | 对话框左上角的 x 坐标 |
顶 | y | 整数 | 对话框左上角的 y 坐标 |
宽 | cx | 整数 | 对话框的宽度。 |
高 | cy | 整数 | 对话框的高度 |
中文名字 | 英文名称 | 长度 | 作用解释 |
颜色框类 | CHOOSECOLOR | 36 | 弹出一个选取颜色的对话框,并得到颜色相关信息。 |
颜色框类 成员表 |
中文 | 英文 | 类型 | 作用解释 |
长度 | 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用户自定图标 |
中文名字 | 英文名称 | 长度 | 作用解释 |
菜单条类 | MENUBARINFO | 31 | 包含菜单栏信息 |
菜单条类 成员表 |
中文 | 英文 | 类型 | 作用解释 |
长度 | cbSize | 整数 | 指定这个结构的大小,以字节为单位。 |
左边 | rcBar.left | 整数 | 菜单项的左边位置 |
顶部 | rcBar.top | 整数 | 菜单项的顶部位置 |
宽度 | rcBar.right | 整数 | 菜单项的宽度 |
高度 | rcBar.bottom | 整数 | 菜单项的高度 |
菜单 | hMenu | 整数 | 菜单的句柄。 |
子项 | hwndMenu | 整数 | 子菜单项的句柄。 |
焦点 | fBarFocused | 布尔 | 如果菜单栏或弹出菜单具有焦点为真 |
项点 | fFocused | 布尔 | 如果菜单项具有焦点则为真 |
预留 | fUnused | 布尔 | 未使用 |
中文名字 | 英文名称 | 长度 | 作用解释 |
菜单项类 | MENUITEMINFO | 48 | 包含菜单栏信息 |
菜单项类 成员表 |
中文 | 英文 | 类型 | 作用解释 |
长度 | cbSize | 整数 | 指定这个结构的大小,以字节为单位。 |
成员 | fMask | 整数 | 指示要检索或设置的成员。 |
选项 | fType | 整数 | 菜单项类型。 |
状态 | fState | 整数 | 菜单项状态。 |
编号 | wID | 整数 | 标识菜单项的应用程序定义的值。 |
子项 | hSubMenu | 整数 | 与菜单项关联的下拉菜单或子菜单的控点。 |
选图 | hbmpChecked | 整数 | 选定菜单时位图的句柄 |
未选 | hbmpUnchecked | 整数 | 未选定菜单时位图的句柄 |
项值 | dwItemData | 整数 | 与菜单项关联的应用程序定义的值。 |
类值 | dwTypeData | 整数 | 如果菜单项具有焦点则为真 |
字长 | cch | 整数 | 接收菜单项文本的长度(以字符为单位)。 |
图片 | hbmpItem | 整数 | 要显示的位图的句柄 |
中文名字 | 英文名称 | 长度 | 作用解释 |
菜单类 | MENUINFO | 28 | 包含菜单栏信息 |
菜单类 成员表 |
中文 | 英文 | 类型 | 作用解释 |
长度 | cbSize | 整数 | 指定这个结构的大小,以字节为单位。 |
成员 | fMask | 整数 | 指示要检索或设置的成员。 |
样式 | dwStyle | 整数 | 菜单样式。 |
最高 | cyMax | 整数 | 菜单的最大高度。 |
背景 | hbrBack | 整数 | 用于菜单背景的画笔的手柄。 |
帮助 | dwContextHelpID | 整数 | 上下文帮助标识符。 |
定义 | dwMenuData | 整数 | 应用程序定义的值。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
执行类 | SHELLEXECUTEINFO | 60 | 用来运行一个外部程序或者打开文件、目录、网址以及打印文件。 |
执行类 成员表 |
中文 | 英文 | 类型 | 作用解释 |
长度 | 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且程序运行成功,可返回目标程序的句俩 |
中文名字 | 英文名称 | 长度 | 作用解释 |
运行类 | LOADPARMS32 | 16 | 用来运行一个外部程序。相关函数LoadModule |
运行类 成员表 |
中文 | 英文 | 类型 | 作用解释 |
环境 | lpEnvAddress | 整数 | 指向运行环境的字符串。为空则与调用进程相同的环境启动 |
参数 | lpCmdLine | 整数 | 指向运行程序的命令行参数字符串 |
显示 | lpCmdShow | 整数 | 运行程序显示的模式 |
备用 | dwReserved | 整数 | 必须是0 |
中文名字 | 英文名称 | 长度 | 作用解释 |
查找文件类 | FINDDATA | 318 | 用来获取文件名称和时间等属性。 |
查找文件类——成员表 |
中文 | 英文 | 类型 | 作用解释 |
属性 | dwFileAttributes | 整数 | 表示文件的属性:$20(存档)、2(隐藏)、$80(正常) 1(只读)、$10(文件夹)、4(系统)$100(临时) |
创建时间 | ftCreationTime.dwLowDateTime | 整数 | 文件被创建的时间 |
创建高位 | ftCreationTime.dwHighDateTime | 整数 | 创建时间的高位。 |
最后访问 | ftLastAccessTime.dwLowDateTime | 整数 | 最后一次访问的时间 |
访问高位 | ftLastAccessTime.dwHighDateTime | 整数 | 最后访问时间的高位 |
最后修改 | ftLastWriteTime.dwLowDateTime | 整数 | 最后一次修改的时间 |
修改高位 | ftLastWriteTime.dwHighDateTime | 整数 | 最后修改时间的高位 |
文件大小 | nFileSizeHigh | 整数 | 文件大小的高位 |
文件长度 | nFileSizeLow | 整数 | 文件大小的低位 |
预留1 | dwReserved0 | 整数 | 保留占位 |
预留2 | dwReserved1 | 整数 | 保留占位 |
名称 | cFileName | 文本 | 260字节长度的文件名称 |
备用名 | cAlternateFileName | 文本 | 14字节长度的备用文件名 |
中文名字 | 英文名称 | 长度 | 作用解释 |
文件信息类 | SHFILEINFOA | 352 | 用来获取文件名称和时间等属性。 |
文件信息类——成员表 |
中文 | 英文 | 类型 | 作用解释 |
图标 | hIcon | 整数 | 表示文件的图标的句柄。 |
索引 | iIcon | 整数 | 系统映像列表中的图标图像的索引。 |
属性 | dwAttributes | 整数 | 一个值数组,指示文件对象的属性。 |
名称 | szDisplayName | 文本 | 260字节长度的文件名称 |
备用名 | szTypeName | 文本 | 80字节长度的备用文件名 |
中文名字 | 英文名称 | 长度 | 作用解释 |
回收站类 | SHQUERYRBINFO | 12 | 用来获取文件名称和时间等属性。 |
回收站类——成员表 |
中文 | 英文 | 类型 | 作用解释 |
大小 | cbSize | 整数 | 结构大小(以字节为单位)。 |
长度 | i64Size | 整数 | 指定回收站中所有对象的总大小(以字节为单位)。 |
数量 | i64NumItems | 整数 | 指定回收站中的项目总数。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
进程类 | PROCESSENTRY32 | 296 | 用来获取系统进程的相关信息。 |
进程类——成员表 |
中文 | 英文 | 类型 | 作用解释 |
长度 | dwSize | 整数 | 指定这个结构的大小,以字节为单位。 |
引用 | cntUsage | 整数 | 此进程的引用计数(已不再使用,总是零。) |
编号 | th32ProcessID | 整数 | 进程ID(任务管理器里进程的PID) |
默认 | th32DefaultHeapID | 整数 | 进程默认堆ID(已不再使用,总是零。) |
模块 | th32ModuleID | 整数 | 进程模块ID(已不再使用,总是零。) |
线程 | cntThreads | 整数 | 此进程开启的线程计数 |
父进程 | th32ParentProcessID | 整数 | 父进程的ID |
优先级 | pcPriClassBase | 整数 | 线程优先权 |
标识 | dwFlags | 整数 | 已不再使用,总是零。 |
名称 | szexeFile | 文本 | 260字节长度的进程名称(不含路径) |
中文名字 | 英文名称 | 长度 | 作用解释 |
模块类 | MODULEENTRY32 | 1316 | 用来获取指定进程加载模块(dll)的相关信息。 |
模块类——成员表 |
中文 | 英文 | 类型 | 作用解释 |
长度 | dwSize | 整数 | 指定这个结构的大小,以字节为单位。 |
模组 | th32ModuleID | 整数 | (已不再使用,总是1。) |
进程 | th32ProcessID | 整数 | 进程ID(任务管理器里进程的PID) |
载入 | GlblcntUsage | 整数 | 全局模块的载入次数(已不再使用,总是-1。) |
引用 | ProccntUsage | 整数 | 当前模块的引用次数(已不再使用,总是-1。) |
基址 | modBaseAddr | 整数 | 模块的基址,在其所属的进程范围内。 |
大小 | modBaseSize | 整数 | 模块的大小,单位字节。 |
模块 | hModule | 整数 | 所属进程的范围内,模块句柄。 |
名称 | szModule | 文本 | 256字节长度的模块名称 |
路径 | szExePath | 文本 | 1024字节长度的模块完整路径 |
中文名字 | 英文名称 | 长度 | 作用解释 |
字体框类 | CHOOSEFONT | 60 | 弹出一个选取颜色的对话框,并得到颜色相关信息。函数: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 | 整数 | 字体允许的最大尺寸 |
中文名字 | 英文名称 | 长度 | 作用解释 |
查找替换类 | FINDREPLACE | 40 | 弹出一个查找或替换文本的对话框,函数: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 | 整数 | 很少使用 |
中文名字 | 英文名称 | 长度 | 作用解释 |
页面框类 | PAGESETUPDLG | 84 | 用来显示打印对话框或打印设置对话框。函数: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 | 整数 | 包含对话框模板的内存对象的句柄 |
中文名字 | 英文名称 | 长度 | 作用解释 |
文档类 | DOCINFO | 20 | 用来显示打印对话框或打印设置对话框。函数:PrintDlg(lppd) |
文档类——成员表 |
中文 | 英文 | 类型 | 作用解释 |
长度 | cbSize | 整数 | 指定这个结构的大小,以字节为单位。 |
名称 | lpszDocName | 整数 | 指向指定文档名称的字符串 |
输出 | lpszOutput | 整数 | 指向指定输出文件名称的字符串 |
数据 | lpszDatatype | 整数 | 指定用于记录打印作业的数据类型(已忽略) |
其它 | fwType | 整数 | 指定有关打印作业的其他信息。(已忽略) |
中文名字 | 英文名称 | 长度 | 作用解释 |
地址类 | sockaddr_in | 16 | 用来存储IP地址和端口的数据 |
地址类——成员表 |
协议 | sin_family | 正数 | AF_INET=2(地址族)PF_INET=2(协议族) |
端口 | sin_port | 正数 | 必须是网络数据格式,可以用htons函数转换 |
地址 | sin_addr | 整数 | 网络IP地址 |
预留 | sin_zero | 整数 | 未使用 |
备用 | | 整数 | 未使用 |
中文名字 | 英文名称 | 长度 | 作用解释 |
日期类 | tm | 36 | 用来存储日期时间的一种结构数据,对应函数: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 | 整数 | 夏令时标志 |
中文名字 | 英文名称 | 长度 | 作用解释 |
时间类 | SYSTEMTIME | 16 | 用来存储日期时间的一种结构数据,对应函数:GetLocalTime、SetLocalTime |
时间类——成员表 |
年 | wYear | 整形 | 公元年份 |
月 | wMonth | 整形 | 每年的月份,取值[1-12] |
星期 | wDayOfWeek | 整形 | 每周的第几天,取值[0-6] |
日 | wDay | 整形 | 每月的第几天,取值[1-31] |
时 | wHour | 整形 | 每天的第几小时,取值[0-23] |
分 | wMinute | 整形 | 每小时的第几分,取值[0-59] |
秒 | wSecond | 整形 | 每分钟的第几秒,取值[0-59] |
毫秒 | wMilliseconds | 整形 | 每秒的毫秒数,取值[0-999] |
中文名字 | 英文名称 | 长度 | 作用解释 |
窗口类 | WNDCLASS | 40 | 用来储存某一类窗口的信息,向系统注册此信息才能创建窗体。 |
窗口类——成员表 |
风格 | style | 整数 | 窗口类的风格 |
消息 | lpfnWndProc | 整数 | 窗口消息处理函数 |
类长 | cbClsExtra | 整数 | 窗口类扩展 |
实长 | cbWndExtra | 整数 | 窗口实例扩展 |
实例 | hInstance | 整数 | 当前实例句柄,$400000 |
图标 | hIcon | 整数 | 窗口的小图标 |
光标 | hCursor | 整数 | 窗口鼠标光标 |
背景 | hbrBackground | 整数 | 窗口背景色 |
菜单 | lpszMenuName | 整数 | 窗口菜单 |
名称 | lpszClassName | 整数 | 窗口类名 |
中文名字 | 英文名称 | 长度 | 作用解释 |
窗口外观类 | CREATESTRUCT | 48 | 定义了传递给应用程序的窗口过程的初始化参数,它定义了窗口外观相关特性 |
窗口外观类——成员表 |
参数 | lpCreateParams | 整数 | 指向将被用于创建窗口的数据的指针 |
实例 | hInstance | 整数 | 标识了拥有新窗口的模块的模块实例的句柄 |
菜单 | hMenu | 整数 | 标识了要被用于新窗口的菜单。如果是子窗口,则包含整数ID。 |
父窗 | hwndParent | 整数 | 父窗口句柄 |
高度 | cy | 整数 | 指定新窗口的高度 |
宽度 | cx | 整数 | 指定新窗口的宽度 |
顶部 | y | 整数 | 指定新窗口的左上角y坐标 |
左边 | x | 整数 | 指定新窗口的左上角x坐标 |
风格 | style | 整数 | 指定了新窗口的风格。 |
名称 | lpszName | 整数 | 指定了新窗口的名字 |
类名 | lpszClass | 整数 | 指定了新窗口的类名 |
扩展 | dwExStyle | 整数 | 指定了新窗口的扩展风格 |
中文名字 | 英文名称 | 长度 | 作用解释 |
子窗外观类 | MDICREATESTRUCT | 36 | 定义了创建MDI窗口的外观相关特性 |
子窗外观类——成员表 |
类名 | szClass | 整数 | 创建MDI Client 窗口的类名 |
标题 | szTitle | 整数 | 创建MDI Client 窗口的标题 |
实例 | hOwner | 整数 | 创建MDI Client 窗口的实例 |
左边 | x | 整数 | 指定子窗口的左上角x坐标 |
顶部 | y | 整数 | 指定子窗口的左上角y坐标 |
宽度 | cx | 整数 | 指定子窗口的宽度 |
高度 | cy | 整数 | 指定子窗口的高度 |
风格 | style | 整数 | 指定了子窗口的风格。 |
参数 | lParam | 整数 | 指定了子窗口的附加参数 |
中文名字 | 英文名称 | 长度 | 作用解释 |
滚动信息类 | SCROLLINFO | 28 | 用来储存滚动条信息 |
滚动信息类——成员表 |
长度 | cbSize | 整数 | 结构长度字节数,该值在设置和查询参数时都必须填写。 |
标志 | fMask | 整数 | 指定结构中的哪些成员是有效,SIF_ALL全部有效,SIF_DISABLENOSCROLL禁止滚动 SIF_PAGE页码有效,SIF_POS位置有效,SIF_RANGE滚动范围nMin和nMax有效 |
最小 | nMin | 整数 | 滚动范围最小值 |
最大 | nMax | 整数 | 滚动范围最大值 |
页码 | nPage | 整数 | 页尺寸,用来确定比例滚动框的大小 |
位置 | nPos | 整数 | 滚动框的位置 |
跟踪 | nTrackPos | 整数 | 拖动时滚动框的位置,该参数只能查询 |
中文名字 | 英文名称 | 长度 | 作用解释 |
滚动条类 | SCROLLBARINFO | 40 | 定义了包含滚动条信息 |
滚动条类——成员表 |
长度 | cbSize | 整数 | 结构长度字节数,该值在设置和查询参数时都必须填写。 |
左 | rcScrollBar.left | 整数 | 滚动条的左边位置 |
顶 | rcScrollBar.top | 整数 | 滚动条的顶部位置 |
宽 | rcScrollBar.right | 整数 | 滚动条的宽度 |
高 | rcScrollBar.bottom | 整数 | 滚动条的高度 |
宽高 | dxyLineButton | 整数 | 滑块的高度或宽度。 |
左上 | xyThumbTop | 整数 | 滑块顶部或左侧的位置。 |
右下 | xyThumbBottom | 整数 | 拇指底部或右侧的位置。 |
保留 | reserved | 整数 | 保留。 |
元素 | rgstate | 整数 | 元素的数组。每个元素都指示滚动条组件的状态。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
消息类 | MSG | 28 | 定义了传递给应用程序的窗口过程的初始化参数,它定义了窗口外观相关特性 |
消息类——成员表 |
窗口 | hwnd | 整数 | 表示消息所属的窗口。 |
消息 | message | 整数 | 表示消息类型的标识符 |
参数 | wParam | 整数 | 附加消息1 |
附加 | lParam | 整数 | 附加消息2 |
时间 | time | 整数 | 表示消息投递到消息队列中的时间 |
左边 | pt.x | 整数 | 鼠标在屏幕上左边的位置 |
顶部 | pt.y | 整数 | 鼠标在屏幕上顶部的位置 |
中文名字 | 英文名称 | 长度 | 作用解释 |
消息框类 | MSGBOXPARAMS | 40 | 包含有显示一个消息(对话框信息)的数据结构。 |
消息框类——成员表 |
长度 | cbSize | 整数 | 这个结构的大小,以字节计算。 |
窗口 | hwndOwner | 整数 | 对话框所有者窗口的句柄。 |
实例 | hInstance | 整数 | 对话框所有者实例的句柄 |
内容 | lpszText | 整数 | 包含着消息要显示的内容。 |
标题 | lpszCaption | 整数 | 包含着消息的标题,默认用“错误”作为标题。 |
风格 | dwStyle | 整数 | 设置对话框的内容和行为。 |
图标 | lpszIcon | 整数 | 图标资源的ID。字符串或数字 |
帮助 | dwContextHelpId | 整数 | 帮助内容的ID。如果一个Help事件发生,这个值在消息框发送到所有者窗口或回调函数 |
回调 | lpfnMsgBoxCallback | 整数 | 一个处理消息框帮助信息的回调函数的指针。 |
语言 | dwLanguageId | 整数 | 包含在原先定义的按钮中的文本的语言。中文4,英文9。默认是根据系统的语言 |
中文名字 | 英文名称 | 长度 | 作用解释 |
绘制区类 | PAINTSTRUCT | 64 | 包含用来绘制它所拥有的窗口客户区所需要的信息的结构体。 |
绘制区类——成员表 |
设备 | hdc | 整数 | 用于绘制的句柄。 |
擦除 | fErase | 整数 | 如果为非零值则擦除背景,否则不擦除 |
左边 | rcPaint.left | 整数 | 要绘制矩形的左边位置 |
顶部 | rcPaint.top | 整数 | 要绘制矩形的顶部位置 |
宽度 | rcPaint.right | 整数 | 要绘制矩形的宽度 |
高度 | rcPaint.bottom | 整数 | 要绘制矩形的高度 |
恢复 | fRestore | 整数 | 预留参数 |
更新 | fIncUpdate | 整数 | 预留参数 |
颜色 | rgbReserved | 文本 | [32]长度字符串 |
中文名字 | 英文名称 | 长度 | 作用解释 |
快捷键类 | ACCEL | 6 | 包含有显示一个消息(对话框信息)的数据结构。 |
快捷键类——成员表 |
行为 | fVirt | 整形 | 加速器行为。$10同时按住 ALT 键,8同时按住 CTRL 键,4同时按住 Shift 键,2不突出显示顶级菜单 |
键值 | key | 整形 | 可以是虚拟键代码或字符代码。 |
标识 | cmd | 整形 | 快捷键标识符。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
系统信息类 | SYSTEMINFO | 36 | 包含了当前计算机的信息。函数GetSystemInfo |
系统信息类——成员表 |
处理器 | wProcessorArchitecture | 整数 | 指定系统中的中央处理器的体系结构 |
页面大小 | dwPageSize | 整数 | 指定页面的大小和页面保护和委托的颗粒。 |
最低内存 | lpMinimumApplicationAddress | 整数 | 指向应用程序和动态链接库(DLL)可以访问的最低内存地址。 |
最高内存 | lpMaximumApplicationAddress | 整数 | 指向应用程序和动态链接库(DLL)可以访问的最高内存地址。 |
掩码 | dwActiveProcessorMask | 整数 | 指定一个用来代表这个系统中装配了的中央处理器的掩码。 |
数目 | dwNumberOfProcessors | 整数 | 指定系统中的处理器的数目。 |
种类 | dwProcessorType | 整数 | 指定系统中中央处理器的类型。 |
分配 | dwAllocationGranularity | 整数 | 指定已经被分配的虚拟内存空间的粒度。分配内存时最小值 |
级别 | wProcessorLevel | 整形 | 指定系统体系结构依赖的处理器级别。例如:3=Intel 80386,4=Intel 80486,5=Pentium |
修订 | wProcessorRevision | 整形 | 指定系统体系结构依赖的处理器修订版本号。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
版本信息类 | OSVERSIONINFO | 148 | 载入与平台和操作系统有关的版本信息。函数GetVersionExA |
版本信息类——成员表 |
长度 | dwOSVersionInfoSize | 整数 | 初始化为结构的大小 |
主版本 | dwMajorVersion | 整数 | 系统主版本号 |
次版本 | dwMinorVersion | 整数 | 系统次版本号 |
构建号 | dwBuildNumber | 整数 | 系统构建号 |
平台号 | dwPlatformId | 整数 | 系统支持的平台号 |
系统平台 | szCSDVersion | 文本 | 128字节的系统支持的平台名称 |
中文名字 | 英文名称 | 长度 | 作用解释 |
内存信息类 | MEMORYSTATUS | 32 | 包含了当前计算机的信息。函数GlobalMemoryStatus |
内存信息类——成员表 |
长度 | dwiLength | 整数 | 结构的大小,初始设置为32长度 |
使用率 | dwMemoryLoad | 整数 | 返回一个介于0~100之间的值,用来指示当前系统内存的使用率。 |
物理内存 | dwTotalPhys | 整数 | 返回总的物理内存大小,以字节(byte)为单位。 |
可用内存 | dwAvailPhys | 整数 | 返回可用的物理内存大小,以字节(byte)为单位。 |
交换文件 | dwTotalPageFile | 整数 | 显示可以存在页面文件中的字节数。 |
空闲文件 | dwAvailPageFile | 整数 | 返回可用的页面文件大小,以字节(byte)为单位。 |
可用地址 | dwTotalVirtual | 整数 | 返回调用进程的用户模式部分的全部可用虚拟地址空间 |
空闲地址 | dwAvailVirtual | 整数 | 返回调用进程的用户模式部分的实际自由可用的虚拟地址空间 |
中文名字 | 英文名称 | 长度 | 作用解释 |
进程信息类 | PROCESS_BASIC_INFORMATION | 24 | 包含了某个进程的相关信息。函数NtQueryInformationProcess |
进程信息类——成员表 |
状态 | ExitStatus | 整数 | 进程终止状态 |
基址 | PebBaseAddress | 整数 | 进程环境块地址 |
掩码 | AffinityMask | 整数 | 进程关联掩码 |
优先级 | BasePriority | 整数 | 进程的优先级 |
进程 | UniqueProcessId | 整数 | 进程ID |
父进程 | InheritedFromUniqueProcessId | 整数 | 父进程ID |
中文名字 | 英文名称 | 长度 | 作用解释 |
位图类 | bitmap | 28 | 包含了位图数据的结构 |
位图类——成员表 |
分类 | bmType | 整数 | 位图类型,其值必须为0 |
宽度 | bmWidth | 整数 | 位图的宽度,单位为像素 |
高度 | bmHeight | 整数 | 位图的高度,单位为像素 |
长度 | bmWidthBytes | 整数 | 每行的字节数,其值必须能被2整除。 |
层数 | bmPlanes | 整形 | 颜色平面数,一般为1。 |
位数 | bmBitsPixel | 整形 | 位图的位深度,一般为24或32 |
数据 | bmBits | 整数 | 一个指向内存的指针,所指向的内容为位图存放的地方 |
中文名字 | 英文名称 | 长度 | 作用解释 |
位图标头类 | BITMAPCOREHEADER | 12 | 包含了位图数据的标头信息 |
位图标头类——成员表 |
长度 | bcSize | 整数 | 结构体的字节数,12 |
宽度 | bcWidth | 整形 | 位图的宽度,单位为像素 |
高度 | bcHeight | 整形 | 位图的高度,单位为像素 |
层数 | bcPlanes | 整形 | 颜色平面数,一般为1。 |
位数 | bcBitCount | 整形 | 位图的位深度,1, 4, 8, 24或32 |
中文名字 | 英文名称 | 长度 | 作用解释 |
位图文件类 | BITMAPCOREHEADER | 14 | 包含了位图文件的头部信息 |
位图文件类——成员表 |
分类 | bfType | 整形 | 图片的类型,只能是BM |
长度 | bfSize | 整数 | 宽*高*位数+偏移 |
预留 | bfReserved1 | 整数 | 无效信息 |
偏移 | bfOffBits | 整数 | 位图数据的偏移量。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
位图信息类 | BITMAPINFOHEADER | 40 | 包含了位图信息的结构 |
位图信息类——成员表 |
长度 | 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表示全部颜色。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
笔刷类 | LOGBRUSH | 12 | 包含了笔刷数据的信息 |
笔刷类——成员表 |
样式 | lbStyle | 整数 | 指定画笔样式。BS_SOLID等 |
颜色 | lbColor | 整数 | 指定要绘制画笔的颜色。中空笔刷和内存指定无效 |
填充 | lbHatch | 整数 | 指定一个填充样式。HS_CROSS等 |
中文名字 | 英文名称 | 长度 | 作用解释 |
画笔类 | LOGPEN | 12 | 包含了画笔数据的信息 |
画笔类——成员表 |
样式 | lopnStyle | 整数 | 指定画笔样式。PS_SOLID等 |
宽度 | lopnWidth.x | 整数 | 指定要绘制画笔的宽度 |
笔宽 | lopnWidth.y | 整数 | 未使用,设计的问题 |
颜色 | lopnColor | 整数 | 指定画笔的颜色 |
中文名字 | 英文名称 | 长度 | 作用解释 |
色域类 | LOGCOLORSPACE | 12 | 包含了逻辑颜色空间信息 |
色域类——成员表 |
签名 | lcsSignature | 整数 | 颜色空间签名 |
版本 | lcsVersion | 整数 | 版本号,目前是$400 |
大小 | lcsSize | 整数 | 此结构的大小(以字节为单位)。 |
分类 | lcsCSType | 整数 | 颜色空间类型。1设备RGB 2设备CMYK 0标准RGB |
匹配 | lcsIntent | 整数 | 色域匹配方法。1保持饱和度 2保持图案 3保持对比度 |
端点 | lcsEndpoints | 整数 | 红色,绿色,蓝色端点。 |
红 | lcsGammaRed | 整数 | 红色坐标的比例。 |
绿 | lcsGammaGreen | 整数 | 绿色坐标的比例。 |
蓝 | lcsGammaBlue | 整数 | 蓝色坐标的比例。 |
输出 | lcsFilename | 文本 | [260]输出变量字段的数据,用于命名颜色配置文件。该成员通常设置为零 |
中文名字 | 英文名称 | 长度 | 作用解释 |
逻辑字体类 | LOGFONT | 60 | 包含了逻辑字体信息的结构 |
逻辑字体类——成员表 |
高度 | 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字节以内的字体名 |
中文名字 | 英文名称 | 长度 | 作用解释 |
像素格式类 | PIXELFORMATDESCRIPTOR | 46 | 包含了逻辑字体信息的结构 |
像素格式类——成员表 |
长度 | 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 | 整数 | 未使用 |
中文名字 | 英文名称 | 长度 | 作用解释 |
调色类 | LOGPALETTE | 8 | 已将LOGPALETTE和PALETTEENTRY混合为一个类使用 |
调色类——成员表 |
版本 | palVersion | 整形 | 指定结构的Windows版本号(目前为$300) |
数目 | palNumEntries | 整形 | 指定逻辑调色板中的条目数 |
红 | peRed | 字节 | 指定调色板条目的红色强度值。PALETTEENTRY的指针位置 |
绿 | peGreen | 字节 | 指定调色板条目的绿色强度值。 |
蓝 | peBlue | 字节 | 指定调色板条目的绿色强度值。 |
方式 | peFlags | 字节 | 指定调色板条目的使用方式。1动态,2索引,4非系统 |
中文名字 | 英文名称 | 长度 | 作用解释 |
色度类 | RGBQUAD | 4 | 描述了由红色,绿色和蓝色的相对强度组成的颜色。 |
色度类——成员表 |
蓝度 | rgbBlue | 字节 | 绿色强度值。 |
绿度 | rgbGreen | 字节 | 绿色强度值。 |
红度 | rgbRed | 字节 | 红色强度值。 |
预留 | rgbReserved | 字节 | 预留,必须是0 |
中文名字 | 英文名称 | 长度 | 作用解释 |
色位类 | COLORBYTES | 4 | 描述了由红色,绿色,蓝色和透明色的颜色位。 |
色度类——成员表 |
蓝位 | BlueByte | 字节 | 绿色位值。 |
绿位 | GreenByte | 字节 | 绿色位值。 |
红位 | RedByte | 字节 | 红色位值。 |
透明 | AlphaByte | 字节 | 透明色位值 |
中文名字 | 英文名称 | 长度 | 作用解释 |
位图数据类 | BitmapData | 24 | 包含了位图数据相关信息的结构 |
位图数据类——成员表 |
宽度 | Width | 整数 | 位图对象的像素宽度 |
高度 | Height | 整数 | 位图对象的像素高度 |
步长 | stride | 整数 | 位图对象的跨距宽度(也称为扫描宽度) |
像素 | PixelFormat | 整数 | 位图对象的像素信息格式 |
扫描 | scan0 | 整数 | 位图对象第一像素数据的地址 |
预留 | Reserved | 整数 | 保留。 请勿使用 |
中文名字 | 英文名称 | 长度 | 作用解释 |
变色类 | ColorMap | 8 | 定义转换颜色的映射。 |
变色类——成员表 |
旧色 | oldColor | 整数 | 要转换至的新颜色结构。 |
新色 | newColor | 整数 | 要转换至的现有颜色结构。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
路径点类 | PathData | 12 | 包含构成 GraphicsPath 对象的图形数据。 |
路径点类——成员表 |
数量 | count | 整数 | 构成路径点数组的数量 |
点组 | Points, | 整数 | 构成路径点结构的数组 |
点类 | types | 整数 | 路径中相应点的类型。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
绘图启动类 | GdiplusStartupInput | 24 | 包含GdiplusStartup函数所需的一个参数块。 |
绘图启动类——成员表 |
版本 | GdiplusVersion | 整数 | 必须为1 |
回调 | DebugEventCallback | 整数 | 可以在调试版本上调用的回调函数的指针 |
背景 | SuppressBackgroundThread | 整数 | 指定是否禁止显示 GDI+ 背景线程的布尔值。 |
解码 | SuppressExternalCodecs | 整数 | 指定是否希望 GDI+ 禁止显示外部图像编解码器的布尔值。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
编解码类 | EncoderParameters | 24 | 包含GdiplusStartup函数所需的一个参数块。 |
编解码类——成员表 |
数量 | count | 整数 | 编解码器的总数量 |
数1 | Data1 | 整数 | Clsid结构数据1 |
数2 | Data2 | 整数 | Clsid结构数据2 |
数3 | Data3 | 整数 | Clsid结构数据3 |
数4 | Data4 | 整数 | Clsid结构数据4 |
个数 | NumberOfValues | 整数 | 图像编解码器设定参数值的个数 |
编码 | EncoderParameterValueType | 整数 | 指定图像编解码器数据类型 |
数值 | value | 整数 | 指定图像编解码器转换质量等的数值地址。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
串口通讯类 | DCB | 28 | 包含了串口通讯相关设置的结构 |
串口通讯类——成员表 |
总长度 | 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 | 字节 | 当前未用 |
中文名字 | 英文名称 | 长度 | 作用解释 |
串口系统类 | COMMPROP | 64 | 包含了串口通讯相关设置的结构 |
串口系统类——成员表 |
大小 | wPacketLength_wPacketVersion | 整数 | 数据包大小,高16位是版本 |
服务 | dwServiceMask | 整数 | 服务的位掩码 |
预留 | dwReserved1 | 整数 | 保留;请勿使用 |
输出 | dwMaxTxQueue | 整数 | 输出缓冲区的最大大小 |
输入 | dwMaxRxQueue | 整数 | 输入缓冲区的最大大小 |
最高 | dwMaxBaud | 整数 | 最大允许波特率,75-128K bps或可编程 |
设备 | dwProvSubType | 整数 | 通信提供的程序设备类型 |
功能 | dwProvCapabilities | 整数 | 程序提供的功能的位掩码 |
参数 | dwSettableParams | 整数 | 可更改的通信参数的位掩码 |
允许 | dwSettableBaud | 整数 | 允许的波特率 |
掩码 | wSettableData_wSettableStopParity | 整数 | 低16位是数据位数的位掩码.高16位是停止位和奇偶校验设置的位掩码 |
发送 | dwCurrentTxQueue | 整数 | 驱动程序的内部发送缓冲区的大小 |
接收 | dwCurrentRxQueue | 整数 | 驱动程序的内部接收缓冲区的大小 |
特定1 | dwProvSpec1 | 整数 | 特定于提供程序的数据 |
特定2 | dwProvSpec2 | 整数 | 特定于提供程序的数据 |
数据 | wcProvChar | 整数 | 特定于提供程序的数据 |
中文名字 | 英文名称 | 长度 | 作用解释 |
串口时间类 | COMMTIMEOUTS | 20 | 包含了串口通讯时间设置的结构 |
串口时间类——成员表 |
读间隔超时 | ReadIntervalTimeout | 整数 | 两个字符到达之间允许经过的最长时间(毫秒) |
读时间系数 | ReadTotalTimeoutMultiplier | 整数 | 用于计算读取操作的总超时周期的乘数(毫秒) |
读时间常量 | ReadTotalTimeoutConstant | 整数 | 用于计算读取操作的总超时周期的常数(毫秒)系数和常量相乘 |
写时间系数 | WriteTotalTimeoutMultiplier | 整数 | 用于计算写入操作的总超时周期的乘数(毫秒) |
写时间常量 | WriteTotalTimeoutConstant | 整数 | 用于计算写入操作的总超时周期的常数(毫秒) |
中文名字 | 英文名称 | 长度 | 作用解释 |
串口配置类 | COMMCONFIG | 52 | 包含了串口通讯相关配置的结构 |
串口配置类——成员表 |
大小 | dwSize | 整数 | 结构的大小,以字节为单位 |
版本 | wVersion | 整数 | 结构的版本号。可以为 1 |
通讯 | dcb | DCB | 串口通讯类结构体 |
设备 | 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_OPEN | 1 | 打开地址 |
OLECMDID_NEW | 2 | 新建页面 |
OLECMDID_SAVE | 3 | 保存 |
OLECMDID_SAVEAS | 4 | 另存为 |
OLECMDID_SAVECOPYAS | 5 | 另存复制内容 |
OLECMDID_PRINT | 6 | 打印页面 |
OLECMDID_PRINTPREVIEW | 7 | 打印预览 |
OLECMDID_PAGESETUP | 8 | 页面设置 |
OLECMDID_SPELL | 9 | 拼写 |
OLECMDID_PROPERTIES | 10 | 查看页面属性 |
OLECMDID_CUT | 11 | 剪切 |
OLECMDID_COPY | 12 | 复制 |
OLECMDID_PASTE | 13 | 粘贴 |
OLECMDID_PASTESPECIAL | 14 | 粘贴特殊 |
OLECMDID_UNDO | 15 | 撤消 |
OLECMDID_REDO | 16 | 重做 |
OLECMDID_SELECTALL | 17 | 全选 |
OLECMDID_CLEARSELECTION | 18 | 清除选择 |
OLECMDID_ZOOM | 19 | 缩放 |
OLECMDID_GETZOOMRANGE | 20 | 获取的缩放范围 |
OLECMDID_UPDATECOMMANDS | 21 | 更新命令 |
OLECMDID_REFRESH | 22 | 刷新 |
OLECMDID_STOP | 23 | 停止 |
OLECMDID_HIDETOOLBARS | 24 | 隐藏工具栏 |
OLECMDID_SETPROGRESSMAX | 25 | 设置进度条最大值 |
OLECMDID_SETPROGRESSPOS | 26 | 设置进度条位置 |
OLECMDID_SETPROGRESSTEXT | 27 | 设置进度条文本 |
OLECMDID_SETTITLE | 28 | 设置标题 |
OLECMDID_SETDOWNLOADSTATE | 29 | 设置下载状态 |
OLECMDID_STOPDOWNLOAD | 30 | 停止下载 |
OLECMDID_ONTOOLBARACTIVATED | 31 | 激活工具栏 |
OLECMDID_FIND | 32 | 查找 |
OLECMDID_DELETE | 33 | 删除 |
OLECMDID_HTTPEQUIV | 34 | http信息头 |
OLECMDID_HTTPEQUIV_DONE | 35 | http信息头结束 |
OLECMDID_ENABLE_INTERACTION | 36 | 允许相互协作 |
OLECMDID_ONUNLOAD | 37 | 激活卸载 |
OLECMDID_PROPERTYBAG2 | 38 | 连续数据对象 |
OLECMDID_PREREFRESH | 39 | 预刷新 |
OLECMDID_SHOWSCRIPTERROR | 40 | 显示脚本错误 |
OLECMDID_SHOWMESSAGE | 41 | 显示消息 |
OLECMDID_SHOWFIND | 42 | 显示查找 |
OLECMDID_SHOWPAGESETUP | 43 | 显示页面设置 |
OLECMDID_SHOWPRINT | 44 | 显示打印 |
OLECMDID_CLOSE | 45 | 关闭窗体 |
OLECMDID_ALLOWUILESSSAVEAS | 46 | 另存为 |
OLECMDID_DONTDOWNLOADCSS | 47 | 不加载CSS |
OLECMDID_UPDATEPAGESTATUS | 48 | 更新页面状态 |
OLECMDID_PRINT2 | 49 | 打印2 |
OLECMDID_PRINTPREVIEW2 | 50 | 打印预览2 |
OLECMDID_SETPRINTTEMPLATE | 51 | 设置打印模板 |
OLECMDID_GETPRINTTEMPLATE | 52 | 获取打印模板 |
OLECMDID_PAGEACTIONBLOCKED | 55 | 页面动作锁定 |
OLECMDID_PAGEACTIONUIQUERY | 56 | 页面操作界面查询 |
OLECMDID_FOCUSVIEWCONTROLS | 57 | 焦点视图控件 |
OLECMDID_FOCUSVIEWCONTROLSQUERY | 58 | 焦点视图控件查询 |
OLECMDID_SHOWPAGEACTIONMENU | 59 | 显示页面操作菜单 |
OLECMDID_ADDTRAVELENTRY | 60 | 增加入口 |
OLECMDID_UPDATETRAVELENTRY | 61 | 更新入口 |
OLECMDID_UPDATEBACKFORWARDSTATE | 62 | 更新放进后退状态 |
OLECMDID_OPTICAL_ZOOM | 63 | 视窗缩放 |
OLECMDID_OPTICAL_GETZOOMRANGE | 64 | 视角缩放范围 |
OLECMDID_WINDOWSTATECHANGED | 65 | 窗口状态改变 |
OLECMDID_ACTIVEXINSTALLSCOPE | 66 | 安装ActiveX控件 |
OLECMDID_UPDATETRAVELENTRY_DATARECOVERY | 67 | 更新恢复数据 |
OLECMDID_SHOWTASKDLG | 68 | 显示任务对话 |
英文名字 | 中文名称 | 作用解释 |
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 结构。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
图面说明类 | DDSURFACEDESC | 108 | 包含驱动程序要创建的图面的说明。 |
图面说明类——成员表 |
大小 | 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 |
中文名字 | 英文名称 | 长度 | 作用解释 |
颜色控件类 | DDCOLORCONTROL | 40 | 定义与 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 | 整数 | 保留,应忽略。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
伽玛渐变类 | DDGAMMARAMP | 768 | 定义红色、绿色和蓝色渐变数据。 |
伽玛渐变类——成员表 |
红 | 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_UNKNOWN | 0 | 未知格式 |
无符号格式——使用红(R)绿(G)蓝(B)透明(A)亮度(L)和调色板(P)数据的组合。 |
D3DFMT_R8G8B8 | 20 | 24 位 RGB 像素格式,每个通道 8 位。 |
D3DFMT_A8R8G8B8 | 21 | 具有 alpha 的 32 位 ARGB 像素格式,每个通道使用 8 位。 |
D3DFMT_X8R8G8B8 | 22 | 32 位 RGB 像素格式,其中为每个颜色保留 8 位。 |
D3DFMT_R5G6B5 | 23 | 16 位 RGB 像素格式,红色为 5 位,绿色为 6 位,蓝色为 5 位。 |
D3DFMT_X1R5G5B5 | 24 | 16 位像素格式,其中为每个颜色保留 5 位。 |
D3DFMT_A1R5G5B5 | 25 | 16 位像素格式,其中为每个颜色保留 5 位,为 alpha 保留 1 位。 |
D3DFMT_A4R4G4B4 | 26 | 16 位 ARGB 像素格式,每个通道 4 位。 |
D3DFMT_R3G3B2 | 27 | 8位 RGB 纹理格式,红色为 3 位,绿色为 3 位,蓝色为 2 位。 |
D3DFMT_A8 | 28 | 仅限 8 位 alpha。 |
D3DFMT_A8R3G3B2 | 29 | 16 位ARGB 纹理格式,alpha 使用 8 位,红色和绿色各 3 位,蓝色各 2 位。 |
D3DFMT_X4R4G4B4 | 30 | 16 位 RGB 像素格式,每种颜色使用 4 位。 |
D3DFMT_A2B10G10R10 | 31 | 32 位像素格式,每种颜色使用 10 位,alpha 使用 2 位。 |
D3DFMT_A8B8G8R8 | 32 | 具有 alpha 的 32 位 ARGB 像素格式,每个通道使用 8 位。 |
D3DFMT_X8B8G8R8 | 33 | 32 位 RGB 像素格式,其中为每个颜色保留 8 位。 |
D3DFMT_G16R16 | 34 | 32 位像素格式,绿色和红色各使用 16 位。 |
D3DFMT_A2R10G10B10 | 35 | 32 位像素格式,红色、绿色和蓝色各使用 10 位,alpha 为 2 位。 |
D3DFMT_A16B16G16R16 | 36 | 每个组件使用 16 位的 64 位像素格式。 |
D3DFMT_A8P8 | 40 | 使用 8 位 alpha 索引的 8 位颜色。 |
D3DFMT_P8 | 41 | 已编制索引的 8 位颜色。 |
D3DFMT_L8 | 50 | 仅 8 位亮度。 |
D3DFMT_L16 | 81 | 仅 16 位亮度。 |
D3DFMT_A8L8 | 51 | 16 位,分别使用 8 位的 alpha 和亮度。 |
D3DFMT_A4L4 | 52 | 8 位,使用 4 位分别用于 alpha 和亮度。 |
D3DFMT_A1 | 118 | 1 位单色。仅在 Direct3D9Ex 中可用。 |
D3DFMT_A2B10G10R10_XR_BIAS | 119 | 2.8 偏置定点。仅在 Direct3D9Ex 中可用。 |
D3DFMT_BINARYBUFFER | 199 | 指示数据没有固有类型的二进制格式。仅在 Direct3D 9Ex 中可用。 |
缓冲区格式——深度、模具、顶点和索引缓冲区都有唯一的格式。 |
D3DFMT_D16_LOCKABLE | 70 | 16 位 z 缓冲区位深度。 |
D3DFMT_D32 | 71 | 32 位 z 缓冲区位深度。 |
D3DFMT_D15S1 | 73 | 16 位 z 缓冲区位深度,其中为深度通道保留 15 位,为模具通道保留 1 位。 |
D3DFMT_D24S8 | 75 | 32 位 z 缓冲区位深度,深度通道使用 24 位,模具通道使用 8 位。 |
D3DFMT_D24X8 | 77 | 使用 24 位作为深度通道的 32 位 z 缓冲区位深度。 |
D3DFMT_D24X4S4 | 79 | 32 位 z 缓冲区位深度,深度通道使用 24 位,模具通道使用 4 位。 |
D3DFMT_D32F_LOCKABLE | 82 | 一种可锁定的格式,其中深度值表示为标准 IEEE 浮点数。 |
D3DFMT_D24FS8 | 83 | 一种不可锁定的格式,包含24位浮点格式深度(-20e4)和8模具。 |
D3DFMT_D32_LOCKABLE | 84 | 可锁定的 32 位深度缓冲区。仅在 Direct3D 9Ex 中可用。 |
D3DFMT_S8_LOCKABLE | 85 | 可锁定的 8 位模具缓冲区。仅在 Direct3D 9Ex 中可用。 |
D3DFMT_D16 | 80 | 16 位 z 缓冲区位深度。 |
D3DFMT_VERTEXDATA | 100 | 描述顶点缓冲区图面。 |
D3DFMT_INDEX16 | 101 | 16 位索引缓冲区位深度。 |
D3DFMT_INDEX32 | 102 | 32 位索引缓冲区位深度。 |
DXTn压缩纹理格式——图面尺寸必须4的倍数,适用于屏幕外普通表面、呈现目标、2D 纹理、立方体纹理和体积纹理。 |
D3DFMT_DXT1 | 0$DXT1 | DXT1 压缩纹理格式 |
D3DFMT_DXT2 | 0$DXT2 | DXT2 压缩纹理格式 |
D3DFMT_DXT3 | 0$DXT3 | DXT3 压缩纹理格式 |
D3DFMT_DXT4 | 0$DXT4 | DXT4 压缩纹理格式 |
D3DFMT_DXT5 | 0$DXT5 | DXT5 压缩纹理格式 |
浮点格式——用于浮点图面格式。这些16位每通道格式也称为s10e5格式。 |
D3DFMT_R16F | 111 | 对红色通道使用 16 位的 16 位浮点格式。 |
D3DFMT_G16R16F | 112 | 32 位浮点格式,红色通道使用 16 位,绿色通道使用 16 位。 |
D3DFMT_A16B16G16R16F | 113 | 对于每个通道使用 16 位的 64 位浮点格式, (alpha、蓝色、绿色、红色) 。 |
四字符格式——FOURCC格式的数据是压缩数据。极语言里使用0$开头,后面加4个字符。 |
D3DFMT_MULTI2_ARGB8 | 0$MET1 | 多元素纹理 (未压缩) |
D3DFMT_G8R8_G8B8 | 0$GRGB | 16位打包RGB格式。绿红和绿蓝两个像素对来表示颜色值。共享红蓝分量 |
D3DFMT_R8G8_B8G8 | 0$RGBG | 16位打包RGB格式。红绿和蓝绿两个像素对来表示颜色值。共享红蓝分量 |
D3DFMT_UYVY | 0$UYVY | UYVY 格式(PC98 合规性) |
D3DFMT_YUY2 | 0$YUY2 | YUY2 格式(PC98 合规性) |
IEEE格式——用于浮点图面格式。 这些 32 位每通道格式也称为 s23e8 格式。 |
D3DFMT_R32F | 114 | 对红色通道使用32位浮点格式。 |
D3DFMT_G32R32F | 115 | 64位浮点格式,红色和绿色通道使用 32 位。 |
D3DFMT_A32B32G32R32F | 116 | 每个通道使用32位的128位浮点格式, (alpha、蓝色、绿色、红色) 。 |
混合格式——数据可以包含无符号数据和有符号数据的组合。 |
D3DFMT_L6V5U5 | 61 | 亮度为6位的16位凹凸图格式,v和u各使用5位。 |
D3DFMT_X8L8V8U8 | 62 | 具有亮度的 32 位凹凸映射格式,每个通道使用 8 位。 |
D3DFMT_A2W10V10U10 | 67 | 32位凹凸映射格式,其中alpha使用2位,w、v和u各使用10位。 |
签名格式——带符号格式的数据可以是正数和负数。使用(U)、(V)、(W)和(Q)数据的组合。 |
D3DFMT_V8U8 | 60 | 16位凹凸映射格式,其中u和v数据各使用8位。 |
D3DFMT_Q8W8V8U8 | 63 | 32位凹凸贴图格式,每个通道使用8位。 |
D3DFMT_V16U16 | 64 | 32位凹凸映射格式,每个通道使用16位。 |
D3DFMT_Q16W16V16U16 | 110 | 64位凹凸映射格式,每个通道使用16位。 |
D3DFMT_CxV8U8 | 117 | 16位标准压缩格式。纹理采样器根据C=平方根(1-U2-V2)计算C通道。 |
———————————— |
D3DFMT_FORCE_DWORD | 0x7fffffff | 此数值强制常数为32位,表示四字符要小于这个值。 |
英文名称 | 常量 | 作用解释 |
D3DRESOURCETYPE——定义资源类型常数。 |
D3DRTYPE_SURFACE | 1 | 图面资源 |
D3DRTYPE_VOLUME | 2 | 卷资源。 |
D3DRTYPE_TEXTURE | 3 | 纹理资源。 |
D3DRTYPE_VOLUMETEXTURE | 4 | 卷纹理资源。 |
D3DRTYPE_CUBETEXTURE | 5 | 立方体纹理资源。 |
D3DRTYPE_VERTEXBUFFER | 6 | 顶点缓冲区资源。 |
D3DRTYPE_INDEXBUFFER | 7 | 索引缓冲区资源。 |
英文名称 | 常量 | 作用解释 |
D3DMULTISAMPLE_TYPE——定义设备可以应用的全场景多重采样级别。 |
D3DMULTISAMPLE_NONE | 0 | 没有可用的全场景多重采样级别。 |
D3DMULTISAMPLE_NONMASKABLE | 1 | 启用多重采样质量值。 |
D3DMULTISAMPLE_2_SAMPLES | 2 | 可用的全场景多采样级别。 |
D3DMULTISAMPLE_3_SAMPLES | 3 | 可用的全场景多采样级别。 |
D3DMULTISAMPLE_4_SAMPLES | 4 | 可用的全场景多采样级别。 |
D3DMULTISAMPLE_5_SAMPLES | 5 | 可用的全场景多采样级别。 |
D3DMULTISAMPLE_6_SAMPLES | 6 | 可用的全场景多采样级别。 |
D3DMULTISAMPLE_7_SAMPLES | 7 | 可用的全场景多采样级别。 |
D3DMULTISAMPLE_8_SAMPLES | 8 | 可用的全场景多采样级别。 |
D3DMULTISAMPLE_9_SAMPLES | 9 | 可用的全场景多采样级别。 |
D3DMULTISAMPLE_10_SAMPLES | 10 | 可用的全场景多采样级别。 |
D3DMULTISAMPLE_11_SAMPLES | 11 | 可用的全场景多采样级别。 |
D3DMULTISAMPLE_12_SAMPLES | 12 | 可用的全场景多采样级别。 |
D3DMULTISAMPLE_13_SAMPLES | 13 | 可用的全场景多采样级别。 |
D3DMULTISAMPLE_14_SAMPLES | 14 | 可用的全场景多采样级别。 |
D3DMULTISAMPLE_15_SAMPLES | 15 | 可用的全场景多采样级别。 |
D3DMULTISAMPLE_16_SAMPLES | 16 | 可用的全场景多采样级别。 |
中文名字 | 英文名称 | 常量 | 作用解释 |
显示类型 | D3DDEVTYPE | 数值 | 定义设备类型。多用于三维图形类方法的第二参数 |
显示模式类——常量表 |
硬件光栅 | D3DDEVTYPE_HAL | 1 | 硬件光栅化。着色是通过软件、硬件或混合转换和照明完成的。 |
软件光栅 | D3DDEVTYPE_REF | 2 | Direct3D功能在软件中实现;但是参考光栅器会随时使用特殊的 CPU 指令。 |
注册光栅 | D3DDEVTYPE_SW | 3 | 已注册到 三维图形类.软件光栅 的可插入软件设备。 |
无软硬件 | D3DDEVTYPE_NULLREF | 4 | 在硬件和引用光栅化均不可用的计算机上初始化Direct3D,并启用3D内容创建的资源。 |
英文名称 | 常量 | 作用解释 |
D3DCREATE——控制设备创建行为的一个或多个标志的组合。 |
D3DCREATE_FPU_PRESERVE | 2 | 将3D浮点计算的精度设置为调用线程使用的精度。默认为单精度舍入到最近模式 |
D3DCREATE_MULTITHREADED | 4 | 使用安全多线程的。频繁获取全局关键部分的所有权,可能会降低性能。在卸载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 | $100 | Direct3D将使用资源而不是驱动程序。不会因资源错误(如视频内存不足)而失败。 |
D3DCREATE_ADAPTERGROUP_DEVICE | $200 | 要求设备驱动此主适配器拥有的所有分配头。在非主机适配器上是非法的。 |
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX | $400 | Direct3D将管理资源而不是驱动程序。对于视频内存不足等情况将返回错误。 |
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_DISCARD | 1 | 丢弃缓存从而减少大量视频内存或处理开销,可能包含多个后台缓冲区 |
D3DSWAPEFFECT_FLIP | 2 | (n-1)翻转缓冲,交换链可能包含多个后台缓冲区,最好设想为包含前缓冲区的循环队列 |
D3DSWAPEFFECT_COPY | 3 | 后台缓冲区直接复制到前缓冲区,只能为包含单个后台缓冲区的交换链指定此交换效果。将后台缓冲区数设置为1。 |
D3DSWAPEFFECT_OVERLAY | 4 | 使用可在主图面上覆盖的专用视频内存区域。硬件执行无需复制,仅支持Win7及以上的Direct3D9Ex |
D3DSWAPEFFECT_FLIPEX | $20 | 指定应用程序何时采用翻转模式,不影响窗口模式显示进行合成和全屏显示统计信息。仅支持Win7及以上的Direct3D9Ex |
英文名称 | 常量 | 作用解释 |
D3DPRESENTFLAG——显示模式类.演播间隔 使用的常量。 |
D3DPRESENTFLAG_LOCKABLE_BACKBUFFER | 1 | 应用程序需要直接锁定后台缓冲区时设置,在某些图形硬件配置上会降低性能。 |
D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL | 2 | 创建设备或交换链启用丢弃z缓冲区数据,可以提高性能,深度模具缓冲区的内容将无效。 |
D3DPRESENTFLAG_DEVICECLIP | 4 | 在显视器屏幕区域中,将窗口化 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_FULLSCREENGAMMA | 0x00020000 | 驱动程序支持全屏模式下的动态伽玛渐变调整。 |
D3DCAPS2_CANCALIBRATEGAMMA | 0x00100000 | 系统安装了一个校准器,该校准器可以自动调整伽玛斜率 |
D3DCAPS2_CANMANAGERESOURCE | 0x10000000 | 驱动程序能够管理资源。 |
D3DCAPS2_DYNAMICTEXTURES | 0x20000000 | 驱动程序支持动态纹理。 |
D3DCAPS2_CANAUTOGENMIPMAP | 0x40000000 | 驱动程序能够自动生成 mipmap。纹理映射表 |
D3DCAPS2_CANSHARERESOURCE | 0x80000000 | 设备可以创建可共享的资源。仅在 Direct3D 9Ex 中可用 |
英文名称 | 常量 | 作用解释 |
D3DCAPS3——驱动程序功能标志。 |
D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD | 0x20 | 指示设备在使用 丢弃缓存 或 翻转缓冲 交换效果时,可以在全屏模式下遵循混合透明度呈现状态。 |
D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION | 0x80 | 指示设备可以从窗口式后台缓冲区执行伽玛校正, (包含) 到 sRGB 桌面的线性内容。 |
D3DCAPS3_COPY_TO_VIDMEM | 0x100 | 设备可以加速从系统内存到本地视频内存的内存复制。本地硬件加速 |
D3DCAPS3_COPY_TO_SYSTEMMEM | 0x200 | 设备可以加速从本地视频内存到系统内存的内存复制。系统硬件加速 |
D3DCAPS3_DXVAHD | 0x400 | 显示驱动程序支持 DXVA-HD DDI。 |
D3DCAPS3_DXVAHD_LIMITED | 0x800 | 显示驱动程序支持限制的 DXVA-HD DDI。 |
英文名称 | 常量 | 作用解释 |
D3DPRESENT——描述适配器刷新率与完成 “当前” 或“ 演示 ”操作的速率之间的关系。 |
D3DPRESENT_DONOTWAIT | 1 | 不能由 hal 设备安排演示文稿。 |
D3DPRESENT_LINEAR_CONTENT | 2 | 要显示的后台缓冲区的内容位于线性颜色空间中。 |
D3DPRESENT_DONOTFLIP | 4 | 显示期间使用前缓冲区作为源图面和目标图面。已计划帧同步但显示的图面不会更改。仅在 Direct3D 9Ex 中可用 |
D3DPRESENT_FLIPRESTART | 8 | 保留。仅在 Direct3D 9Ex 中可用 |
D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR | 0x10 | 将呈现的内容显示缩略图,并在其他监视器上显示任务栏缩略图。仅在 Direct3D 9Ex 中可用。 |
D3DPRESENT_UPDATEOVERLAYONLY | 0x20 | 汇报覆盖位置或色键数据而不翻转,也不更改图像的显示持续时间。仅在 Direct3D 9Ex 中可用。 |
D3DPRESENT_HIDEOVERLAY | 0x40 | 关闭覆盖硬件。仅在 Direct3D 9Ex 中可用。 |
D3DPRESENT_UPDATECOLORKEY | 0x20 | 重绘色键数据。仅在 Direct3D 9Ex 中可用。 |
D3DPRESENT_FORCEIMMEDIATE | 0x80 | 窗口和全屏演示行为是相同的。仅在 Direct3D 9Ex 中可用。 |
英文名称 | 常量 | 作用解释 |
D3DDEVCAPS——三维功能类.设备功能的标志。 |
D3DDEVCAPS_EXECUTESYSTEMMEMORY | 0x000010 | 设备可以使用系统内存中的执行缓冲区 |
D3DDEVCAPS_EXECUTEVIDEOMEMORY | 0x000020 | 设备可以使用视频内存中的执行缓冲区。 |
D3DDEVCAPS_TLVERTEXSYSTEMMEMORY | 0x000040 | 设备可以将系统内存中的缓冲区用于转换的顶点和点亮顶点。 |
D3DDEVCAPS_TLVERTEXVIDEOMEMORY | 0x000080 | 设备可以将视频内存中的缓冲区用于转换和点亮顶点。 |
D3DDEVCAPS_TEXTURESYSTEMMEMORY | 0x000100 | 设备可以从系统内存中检索纹理。 |
D3DDEVCAPS_TEXTUREVIDEOMEMORY | 0x000200 | 设备可以从设备内存中检索纹理。 |
D3DDEVCAPS_DRAWPRIMTLVERTEX | 0x000400 | 设备可以绘制几何基元的顶点数组 |
D3DDEVCAPS_CANRENDERAFTERFLIP | 0x000800 | 设备可以在翻页后将呈现命令排队。此功能意味着设备速度相对较快 |
D3DDEVCAPS_TEXTURENONLOCALVIDMEM | 0x001000 | 设备可以从非本地视频内存中检索纹理。 |
D3DDEVCAPS_DRAWPRIMITIVES2 | 0x002000 | 设备至少可以支持符合 DirectX 5 的驱动程序。 |
D3DDEVCAPS_SEPARATETEXTUREMEMORIES | 0x004000 | 设备正在从单独的内存池进行纹理处理。 |
D3DDEVCAPS_DRAWPRIMITIVES2EX | 0x008000 | 设备至少可以支持符合 DirectX 7 的驱动程序。 |
D3DDEVCAPS_HWTRANSFORMANDLIGHT | 0x010000 | 设备可以支持硬件中的转换和照明。 |
D3DDEVCAPS_CANBLTSYSTONONLOCAL | 0x020000 | 设备支持从系统内存纹理到非局部视频内存纹理的 blit。 |
D3DDEVCAPS_HWRASTERIZATION | 0x080000 | 设备具有用于场景光栅化的硬件加速。 |
D3DDEVCAPS_PUREDEVICE | 0x100000 | 设备可以在硬件中支持光栅化、转换、照明和着色。 |
D3DDEVCAPS_QUINTICRTPATCHES | 0x200000 | 设备支持五次贝塞尔曲线和B样条曲线。 |
D3DDEVCAPS_RTPATCHES | 0x400000 | 设备支持矩形和三角补丁。 |
D3DDEVCAPS_RTPATCHHANDLEZERO | 0x800000 | 指示硬件不需要缓存也能将像绘制缓存的修补程序一样高效。 |
D3DDEVCAPS_NPATCHES | 0x01000000 | 设备支持N个修补程序。 |
英文名称 | 常量 | 作用解释 |
D3DPMISCCAPS——其他驱动程序基元功能标志。 |
D3DPMISCCAPS_MASKZ | 0x00000002L | 设备可以启用和禁用对像素操作的深度缓冲区的修改。 |
D3DPMISCCAPS_CULLNONE | 0x00000010L | 驱动程序不执行三角形剔除。 这对应于 D3DCULL 枚举类型的 D3DCULL_NONE 成员。 |
D3DPMISCCAPS_CULLCW | 0x00000020L | 驱动程序支持顺时针三角形剔除D3DRS_CULLMODE状态。 (这仅适用于三角形基元。) 此标志对应于 D3DCULL 枚举类型的D3DCULL_CW成员。 |
D3DPMISCCAPS_CULLCCW | 0x00000040L | 驱动程序支持通过D3DRS_CULLMODE状态逆时针剔除。 (这仅适用于三角形基元。) 此标志对应于 D3DCULL 枚举类型的 D3DCULL_CCW 成员。 |
D3DPMISCCAPS_COLORWRITEENABLE | 0x00000100L | 设备支持通过D3DRS_COLORWRITEENABLE状态对呈现目标颜色缓冲区进行每通道写入。 |
D3DPMISCCAPS_CLIPPLANESCALEDPOINTS | 0x00000200L | 设备将大于 1.0 的缩放点正确剪辑到用户定义的剪裁平面。 |
D3DPMISCCAPS_CLIPTLVERTS | 0x00000200L | 设备剪辑转换后的顶点基元。要求顶点缓冲区位于系统内存中。 |
D3DPMISCCAPS_TSSARGTEMP | 0x00000400L | 设备支持用于临时寄存器 的 D3DTA 。 |
D3DPMISCCAPS_BLENDOP | 0x00000800L | 设备支持除D3DBLENDOP_ADD以外的 alpha 混合操作。 |
D3DPMISCCAPS_NULLREFERENCE | 0x00000100L | 不呈现的引用设备。 |
D3DPMISCCAPS_INDEPENDENTWRITEMASKS | 0x00004000L | 设备支持多个元素纹理或多个呈现目标的独立写入掩码。 |
D3DPMISCCAPS_PERSTAGECONSTANT | 0x00008000L | 设备支持每个阶段的常量。 请参阅 D3DTEXTURESTAGESTATETYPE 中的D3DTSS_CONSTANT。 |
D3DPMISCCAPS_POSTBLENDSRGBCONVERT | 0x00200000L | 设备支持在混合后转换为 sRGB。仅在 Direct3D 9Ex 中可用。 |
D3DPMISCCAPS_FOGANDSPECULARALPHA | 0x00010000L | 设备支持单独的雾和反射 alpha。 许多设备使用反射 alpha 通道来存储雾因子。 |
D3DPMISCCAPS_SEPARATEALPHABLEND | 0x00020000L | 设备支持 alpha 通道的单独混合设置。 |
D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS | 0x00040000L | 设备支持多个呈现目标的不同位深度。 |
D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING | 0x00080000L | 设备支持多个呈现目标的后像素着色器操作。 |
D3DPMISCCAPS_FOGVERTEXCLAMPED | 0x00100000L | 设备固定每个顶点的雾混合因子。 |
英文名称 | 常量 | 作用解释 |
D3DPMISCCAPS——三维功能类.光栅:有关光栅绘制功能的信息。 |
D3DPRASTERCAPS_DITHER | 0x0000001 | 设备可以抖改以提高颜色分辨率。 |
D3DPRASTERCAPS_ZTEST | 0x0000010 | 设备可以执行 z 测试操作。这会有效地呈现基元和z像素。 |
D3DPRASTERCAPS_FOGVERTEX | 0x0000080 | 设备在照明操作期间计算雾值,并在光栅化期间内插雾值。 |
D3DPRASTERCAPS_FOGTABLE | 0x0000100 | 设备通过引用查找表来计算雾值,该表包含已根据给定像素深度编制索引的迷雾值。 |
D3DPRASTERCAPS_MIPMAPLODBIAS | 0x0002000 | 设备支持详细程度偏差调整。能够使 mipmap 看起来比平常更清晰。 |
D3DPRASTERCAPS_ZBUFFERLESSHSR | 0x0008000 | 设备可以执行Z无缓冲区(HSR) 隐藏表面,依赖于硬件无需程序对多边形进行排序和分配深度缓冲区。会为纹理留下更多的视频内存,并且程序是透明的。 |
D3DPRASTERCAPS_FOGRANGE | 0x0010000 | 设备支持基于范围的雾。对象与查看器的距离计算雾效果,而不是对象的深度(场景z坐标)。 |
D3DPRASTERCAPS_ANISOTROPY | 0x0020000 | 设备支持各向异性筛选。 |
D3DPRASTERCAPS_WBUFFER | 0x0040000 | 设备支持使用 w 进行深度缓冲。 |
D3DPRASTERCAPS_WFOG | 0x0100000 | 指定透视投影矩阵时,使用基于 W 的雾,但仿射投影仍使用基于 z 的雾。将[3][4]元素中包含非零值的投影矩阵视为透视投影矩阵。 |
D3DPRASTERCAPS_ZFOG | 0x0200000 | 设备支持基于 z 的雾。 |
D3DPRASTERCAPS_COLORPERSPECTIVE | 0x0400000 | 设备正确迭代颜色透视。 |
D3DPRASTERCAPS_SCISSORTEST | 0x1000000 | 设备支持剪辑测试。 |
D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS | 0x2000000 | 说明。 |
D3DPRASTERCAPS_DEPTHBIAS | 0x4000000 | 设备支持旧式深度偏差。 |
D3DPRASTERCAPS_MULTISAMPLE_TOGGLE | 0x8000000 | 设备支持使用切换打开和关闭多重采样。 |
英文名称 | 常量 | 作用解释 |
D3DPCMPCAPS——三维功能类.Z 缓冲区比较功能。 |
D3DPCMPCAPS_NEVER | 0x0000001 | 始终未通过 z 测试。 |
D3DPCMPCAPS_LESS | 0x0000002 | 如果新的 z 小于当前 z,则通过 z-test。 |
D3DPCMPCAPS_EQUAL | 0x0000004 | 如果新 z 等于当前 z,则通过 z-test。 |
D3DPCMPCAPS_LESSEQUAL | 0x0000008 | 如果新的 z 小于或等于当前 z,则通过 z-test。 |
D3DPCMPCAPS_GREATER | 0x0000010 | 如果新的 z 大于当前 z,则通过 z-test。 |
D3DPCMPCAPS_NOTEQUAL | 0x0000020 | 如果新的 z 不等于当前 z,则通过 z-test。 |
D3DPCMPCAPS_GREATEREQUAL | 0x0000040 | 如果新的 z 大于或等于当前 z,则通过 z-test。 |
D3DPCMPCAPS_ALWAYS | 0x0000080 | 始终通过 z 测试。 |
英文名称 | 常量 | 作用解释 |
D3DPBLENDCAPS——三维功能类.混合功能。 |
D3DPBLENDCAPS_ZERO | 0x0000001 | 混合因子 (0、0、0、0) 。 |
D3DPBLENDCAPS_ONE | 0x0000002 | 混合因子 (为 1、1、1、1) 。 |
D3DPBLENDCAPS_SRCCOLOR | 0x0000004 | 混合因子为 (Rs、Gs、Bs、As) 。 |
D3DPBLENDCAPS_INVSRCCOLOR | 0x0000008 | 混合因子 (为 1 - Rs、1 - Gs、1 - Bs、1 - as) 。 |
D3DPBLENDCAPS_SRCALPHA | 0x0000010 | 混合因子 (As、As、As、As) 。 |
D3DPBLENDCAPS_INVSRCALPHA | 0x0000020 | 混合因子 (1 - As、1 - As、1 - As、1 - As、1 - As) 。 |
D3DPBLENDCAPS_DESTALPHA | 0x0000040 | 混合因子为 (Ad、Ad、Ad、Ad) 。 |
D3DPBLENDCAPS_INVDESTALPHA | 0x0000080 | 混合因子为 (1 - Ad、1 - Ad、1 - Ad、1 - Ad) 。 |
D3DPBLENDCAPS_DESTCOLOR | 0x0000100 | 混合因子 (Rd、Gd、Bd、Ad) 。 |
D3DPBLENDCAPS_INVDESTCOLOR | 0x0000200 | 混合因子 (为 1 - Rs、1 - Gs、1 - Bs、1 - as) 。 |
D3DPBLENDCAPS_SRCALPHASAT | 0x0000400 | 混合因子为 (f、f、f、1) ;f = min (As,1 - Ad) 。 |
D3DPBLENDCAPS_BOTHSRCALPHA | 0x0000800 | 驱动程序支持源混合模式。已过时。 |
D3DPBLENDCAPS_BOTHINVSRCALPHA | 0x0001000 | 源混合因子为 (1 - As、1 - As、1 - As、1 - As) 和目标混合因子 (As、As、As) ;将重写目标混合选择。 |
D3DPBLENDCAPS_BLENDFACTOR | 0x0002000 | 驱动程序同时支持常量颜色混合因子和反常量颜色混合因子。 |
D3DPBLENDCAPS_SRCCOLOR2 | 0x0004000 | 混合因子 (PSOutColor[1]r、PSOutColor[1]g、PSOutColor[1]b) ,未使用。 |
D3DPBLENDCAPS_INVSRCCOLOR2 | 0x0008000 | 混合因子 (1 - PSOutColor[1]r,1 - PSOutColor[1]g,1 - PSOutColor[1]b,not used) ) 。仅在 Direct3D 9Ex 中可用。 |
英文名称 | 常量 | 作用解释 |
D3DPSHADECAPS——三维功能类.着色操作功能标志。 |
D3DPSHADECAPS_COLORGOURAUDRGB | 0x0000008 | 设备可以支持彩色 Gouraud 着色,每个顶点的颜色分量 (红色、绿色和蓝色) 内插在三角形面 |
D3DPSHADECAPS_SPECULARGOURAUDRGB | 0x0000200 | 设备支持高光点的 Gouraud 着色。 |
D3DPSHADECAPS_ALPHAGOURAUDBLEND | 0x0004000 | 设备可以支持 Gouraud 混合透明度的 alpha 分量。内插到人脸 |
D3DPSHADECAPS_FOGGOURAUD | 0x0080000 | 设备可以在 Gouraud 着色模式下支持雾。 |
英文名称 | 常量 | 作用解释 |
D3DPTEXTURECAPS——三维功能类.其他纹理映射功能。 |
D3DPTEXTURECAPS_PERSPECTIVE | 0x0000001 | 支持透视更正纹理。 |
D3DPTEXTURECAPS_POW2 | 0x0000002 | 所有纹理的宽度和高度都必须指定为 2 的幂。不适用于立方体纹理或体积纹理。 |
D3DPTEXTURECAPS_ALPHA | 0x0000004 | 支持以纹理像素表示的 Alpha。 |
D3DPTEXTURECAPS_SQUAREONLY | 0x0000020 | 所有纹理都必须是正方形的。 |
D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE | 0x0000040 | 纹理索引在内插之前不会按纹理大小进行缩放。 |
D3DPTEXTURECAPS_ALPHAPALETTE | 0x0000080 | 设备可以从纹理调色板绘制 alpha。 |
D3DPTEXTURECAPS_NONPOW2CONDITIONAL | 0x0000100 | 有条件地支持使用维度不是2的2D纹理。和POW2都未设置则无条件支持不是2的2D纹理。 |
D3DPTEXTURECAPS_PROJECTED | 0x0000400 | 纹理转换标志。应用后设备会将转换后的纹理坐标除以最后一个纹理坐标,按像素进行投影除法。 |
D3DPTEXTURECAPS_CUBEMAP | 0x0000800 | 支持立方体纹理。 |
D3DPTEXTURECAPS_VOLUMEMAP | 0x0002000 | 设备支持卷纹理。 |
D3DPTEXTURECAPS_MIPMAP | 0x0004000 | 设备支持错误覆盖的纹理。 |
D3DPTEXTURECAPS_MIPVOLUMEMAP | 0x0008000 | 设备支持未覆盖的卷纹理。 |
D3DPTEXTURECAPS_MIPCUBEMAP | 0x0010000 | 设备支持多维数据集立方体纹理。 |
D3DPTEXTURECAPS_CUBEMAP_POW2 | 0x0020000 | 设备要求多维数据集纹理贴图的维度指定为 2 的幂。 |
D3DPTEXTURECAPS_VOLUMEMAP_POW2 | 0x0040000 | 设备要求体积纹理贴图的维度指定为 2 的幂。 |
D3DPTEXTURECAPS_NOPROJECTEDBUMPENV | 0x0200000 | 设备不支持可编程和固定函数着色器中的投影凹凸环境查找操作。 |
英文名称 | 常量 | 作用解释 |
D3DPTFILTERCAPS——三维功能类.纹理筛选常量。按阶段筛选功能反映了执行多纹理混合时纹理阶段支持的筛选模式。 |
D3DPTFILTERCAPS_MINFPOINT | 0x0000100 | 设备支持按阶段点样本筛选,以缩小纹理。 |
D3DPTFILTERCAPS_MINFLINEAR | 0x0000200 | 设备支持用于缩小纹理的每阶段线性筛选。 |
D3DPTFILTERCAPS_MINFANISOTROPIC | 0x0000400 | 设备支持用于缩小纹理的每阶段各向异性筛选。 |
D3DPTFILTERCAPS_MINFPYRAMIDALQUAD | 0x0000800 | 设备支持按阶段的棱锥样本筛选,以缩小纹理。 |
D3DPTFILTERCAPS_MINFGAUSSIANQUAD | 0x0001000 | 设备支持用于缩小纹理的每阶段高斯四边形筛选。 |
D3DPTFILTERCAPS_MIPFPOINT | 0x0010000 | 设备支持 mipmap 的每阶段点样本筛选。 |
D3DPTFILTERCAPS_MIPFLINEAR | 0x0020000 | 设备支持 mipmap 的每阶段双线性内插筛选。 |
D3DPTFILTERCAPS_CONVOLUTIONMONO | 0x0040000 | 设备支持单色卷积筛选。仅在 Direct3D 9Ex 中可用。 |
D3DPTFILTERCAPS_MAGFPOINT | 0x1000000 | 设备支持用于放大纹理的每阶段点样本筛选。 |
D3DPTFILTERCAPS_MAGFLINEAR | 0x2000000 | 设备支持用于放大 mipmap 的每阶段双线性内插筛选。 |
D3DPTFILTERCAPS_MAGFANISOTROPIC | 0x4000000 | 设备支持用于放大纹理的每阶段各向异性筛选。 |
D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD | 0x8000000 | 设备支持用于放大纹理的每阶段棱锥样本筛选。 |
D3DPTFILTERCAPS_MAGFGAUSSIANQUAD | 0x10000000 | 设备支持用于放大纹理的每阶段高斯象限筛选。 |
英文名称 | 常量 | 作用解释 |
D3DPTADDRESSCAPS——三维功能类.纹理对象的纹理寻址功能。 |
D3DPTADDRESSCAPS_WRAP | 0x0000001 | 设备可以将纹理包装到地址。 |
D3DPTADDRESSCAPS_MIRROR | 0x0000002 | 设备可以将纹理镜像地址。 |
D3DPTADDRESSCAPS_CLAMP | 0x0000004 | 设备可以将纹理固定到地址。 |
D3DPTADDRESSCAPS_BORDER | 0x0000008 | 设备支持将[0.0,1.0]范围之外的坐标设置为指定的边框颜色。 |
D3DPTADDRESSCAPS_INDEPENDENTUV | 0x0000010 | 设备可以分离纹理的u和 v 坐标的纹理寻址模式。 |
D3DPTADDRESSCAPS_MIRRORONCE | 0x0000020 | 设备可以将纹理坐标的绝对值 (镜像约 0) ,然后固定到最大值。 |
英文名称 | 常量 | 作用解释 |
D3DLINECAPS——三维功能类.定义线条绘制基元的功能。 |
D3DLINECAPS_TEXTURE | 0x0000001 | 支持纹理映射。 |
D3DLINECAPS_ZTEST | 0x0000002 | 支持 z 缓冲区比较。 |
D3DLINECAPS_BLEND | 0x0000004 | 支持源混合。 |
D3DLINECAPS_ALPHACMP | 0x0000008 | 支持 alpha 测试比较。 |
D3DLINECAPS_FOG | 0x0000010 | 支持迷雾。 |
D3DLINECAPS_ANTIALIAS | 0x0000020 | 支持抗锯齿线。 |
英文名称 | 常量 | 作用解释 |
D3DSTENCILCAPS——三维功能类.驱动程序模具功能标志。模具缓冲区条目是介于 0 到 2的n次方 - 1 的整数值,n 是模具缓冲区的位深度。 |
D3DSTENCILCAPS_KEEP | 0x0000001 | 不要更新模具缓冲区中的条目。这是默认值。 |
D3DSTENCILCAPS_ZERO | 0x0000002 | 将模具缓冲区条目设置为 0。 |
D3DSTENCILCAPS_REPLACE | 0x0000004 | 将模具缓冲区条目替换为引用值。 |
D3DSTENCILCAPS_INCRSAT | 0x0000008 | 递增模具缓冲区条目,固定到最大值。 |
D3DSTENCILCAPS_DECRSAT | 0x0000010 | 递减模具缓冲区条目,固定为零。 |
D3DSTENCILCAPS_INVERT | 0x0000020 | 反转模具缓冲区条目中的位。 |
D3DSTENCILCAPS_INCR | 0x0000040 | 递增模具缓冲区条目,如果新值超过最大值,则换行为零。 |
D3DSTENCILCAPS_DECR | 0x0000080 | 递减模具缓冲区条目,如果新值小于零,则包装到最大值。 |
D3DSTENCILCAPS_TWOSIDED | 0x0000100 | 设备支持双面模具。 |
英文名称 | 常量 | 作用解释 |
D3DTEXOPCAPS——三维功能类.描述此设备支持的纹理操作的标志的组合。 |
D3DTEXOPCAPS_DISABLE | 0x0000001 | 禁用纹理混合操作。 |
D3DTEXOPCAPS_SELECTARG1 | 0x0000002 | 支持 选择参数1 纹理混合操作。 |
D3DTEXOPCAPS_SELECTARG2 | 0x0000004 | 支持 选择参数2 纹理混合操作。 |
D3DTEXOPCAPS_MODULATE | 0x0000008 | 支持 控制 纹理混合操作。 |
D3DTEXOPCAPS_MODULATE2X | 0x0000010 | 支持 控制2X 纹理混合操作。 |
D3DTEXOPCAPS_MODULATE4X | 0x0000020 | 支持 控制4X 纹理混合操作。 |
D3DTEXOPCAPS_ADD | 0x0000040 | 支持 增加 纹理混合操作。 |
D3DTEXOPCAPS_ADDSIGNED | 0x0000080 | 支持添加符号 纹理混合操作。 |
D3DTEXOPCAPS_ADDSIGNED2X | 0x0000100 | 支持添加符号2 纹理混合操作。 |
D3DTEXOPCAPS_SUBTRACT | 0x0000200 | 支持减法 纹理混合操作。 |
D3DTEXOPCAPS_ADDSMOOTH | 0x0000400 | 支持添加平滑 纹理混合操作。 |
D3DTEXOPCAPS_BLENDDIFFUSEALPHA | 0x0000800 | 支持混合扩散相位 纹理混合操作。 |
D3DTEXOPCAPS_BLENDTEXTUREALPHA | 0x0001000 | 支持混合纹理相位 纹理混合操作。 |
D3DTEXOPCAPS_BLENDFACTORALPHA | 0x0002000 | 支持混合因子相位 纹理混合操作。 |
D3DTEXOPCAPS_BLENDTEXTUREALPHAPM | 0x0004000 | 支持混合纹理相位 纹理混合操作。 |
D3DTEXOPCAPS_BLENDCURRENTALPHA | 0x0008000 | 支持混合当前相位 纹理混合操作。 |
D3DTEXOPCAPS_PREMODULATE | 0x0010000 | 支持细节 纹理混合操作。 |
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR | 0x0020000 | 支持调制相位颜色 纹理混合操作。 |
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA | 0x0040000 | 支持调制色度 |
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR | 0x0080000 | 支持调制反相颜色 |
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA | 0x0100000 | 支持调制反相色度 |
D3DTEXOPCAPS_BUMPENVMAP | 0x0200000 | 支持凹凸环境贴图 |
D3DTEXOPCAPS_BUMPENVMAPLUMINANCE | 0x0400000 | 支持凹凸贴图亮度 |
D3DTEXOPCAPS_DOTPRODUCT3 | 0x0800000 | 支持网络产品 |
D3DTEXOPCAPS_MULTIPLYADD | 0x1000000 | 支持多维数据集纹理 |
D3DTEXOPCAPS_LERP | 0x2000000 | 说明。 |
英文名称 | 常量 | 作用解释 |
D3DFVFCAPS——三维功能类.灵活的顶点格式功能。 |
D3DFVFCAPS_TEXCOORDCOUNTMASK | 0x000ffff | 屏蔽 FVFCaps 的低字。使设备可以同时用于多个纹理混合的纹理坐标集进行混合。 |
D3DFVFCAPS_DONOTSTRIPELEMENTS | 0x0080000 | 不要去除顶点元素。如果不设置则从顶点格式中去除无关元素可提供更好的性能。 |
D3DFVFCAPS_PSIZE | 0x0100000 | 点大小由呈现状态或顶点数据决定。如果应用程序提供点大小,则顶点数据将替代呈现状态数据。 |
英文名称 | 常量 | 作用解释 |
D3DVTXPCAPS——三维功能类.顶点处理功能标志组合。 |
D3DVTXPCAPS_TEXGEN | 0x0000001 | 设备可以执行 texgen。 |
D3DVTXPCAPS_MATERIALSOURCE7 | 0x0000002 | 设置设备支持颜色材料状态的上限 |
D3DVTXPCAPS_DIRECTIONALLIGHTS | 0x0000008 | 设备可以执行定向光。 |
D3DVTXPCAPS_POSITIONALLIGHTS | 0x0000010 | 设备可以执行位置光 (包括点和顶点) 。 |
D3DVTXPCAPS_LOCALVIEWER | 0x0000020 | 设备可以执行本地查看器。 |
D3DVTXPCAPS_TWEENING | 0x0000040 | 设备可以执行顶点补间。 |
D3DVTXPCAPS_TEXGEN_SPHEREMAP | 0x0000100 | 设备支持TCI球形映射。 |
D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER | 0x0000200 | 设备不支持在非本地查看器模式下生成纹理。 |
英文名称 | 常量 | 作用解释 |
D3DDEVCAPS2——三维功能类.自适应分割的设备驱动程序功能标志。 |
D3DDEVCAPS2_STREAMOFFSET | 0x0000001 | 设备支持流偏移量。 |
D3DDEVCAPS2_DMAPNPATCH | 0x0000002 | 设备支持 N 补丁的位移映射。 |
D3DDEVCAPS2_ADAPTIVETESSRTPATCH | 0x0000004 | 设备支持 RT 补丁的自适应分割 |
D3DDEVCAPS2_ADAPTIVETESSNPATCH | 0x0000008 | 设备支持 N 补丁的自适应分割。 |
D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES | 0x0000010 | 设备支持使用纹理作为源的矩形拉伸。 |
D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH | 0x0000020 | 设备支持 N 补丁的预采样位移映射。 |
D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET | 0x0000040 | 多个顶点元素可以在流中共享相同的偏移量。 |
英文名称 | 常量 | 作用解释 |
D3DDTCAPS——三维功能类.描述设备支持的顶点数据类型的常量。 |
D3DDTCAPS_UBYTE4 | 0x0000001 | 4D 无符号字节。 |
D3DDTCAPS_UBYTE4N | 0x0000002 | 规范化、4D 无符号字节。 四个字节中的每一个都通过除以 255.0 进行规范化。 |
D3DDTCAPS_SHORT2N | 0x0000004 | 规范化,2D 签名短,扩展到 (第一个字节/32767.0,第二个字节/32767.0,0,1) 。 |
D3DDTCAPS_SHORT4N | 0x0000008 | 规范化,4D 签名短,扩展到 (第一个字节/32767.0,第二个字节/32767.0,第三个字节/32767.0,第四个字节/32767.0) 。 |
D3DDTCAPS_USHORT2N | 0x0000010 | 规范化,2D 无符号短,扩展到 (第一个字节/65535.0,第二个字节/65535.0,0,1) 。 |
D3DDTCAPS_USHORT4N | 0x0000020 | 规范化的 4D 无符号短,扩展到 (第一个字节/65535.0、第二个字节/65535.0、第三个字节/65535.0、第四个字节/65535.0) 。 |
D3DDTCAPS_UDEC3 | 0x0000040 | 3D 无符号 10 10 10 格式扩展为 (值、值、值、1) 。 |
D3DDTCAPS_DEC3N | 0x0000080 | 3D 签名 10 10 10 格式规范化并扩展为 (v[0]/511.0、v[1]/511.0、v[2]/511.0、1) 。 |
D3DDTCAPS_FLOAT16_2 | 0x0000100 | 2D 16 位浮点数。 |
D3DDTCAPS_FLOAT16_4 | 0x0000200 | 4D 16 位浮点数。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
显卡标识类 | D3DADAPTER_IDENTIFIER9 | 1100 | 包含标识适配器的信息。应用于三维图形类.显卡描述 |
显卡标识类——成员表 |
驱动 | Driver[512] | 文本 | 驱动程序供应商相关展示内容。 |
说明 | Description[512] | 文本 | 驱动程序相关说明内容。 |
名称 | DeviceName[32] | 文本 | GDI 的设备名称。 |
版本 | DriverVersionLowPart | 整数 | 标识 Direct3D 驱动程序的版本。 |
版号 | DriverVersionHighPart | 整数 | 标识 Direct3D 驱动程序的版本。 |
制造商 | VendorId | 整数 | 可用于帮助识别特定芯片集。查询此成员以标识制造商。 |
芯片 | DeviceId | 整数 | 可用于帮助识别特定芯片集。查询此成员以标识芯片集的类型。 |
子集 | SubSysId | 整数 | 可用于帮助识别特定芯片集。查询此成员以标识子系统,通常是特定板。 |
修订 | Revision | 整数 | 可用于帮助识别特定芯片集。查询此成员以识别芯片集的修订级别。 |
标识 | DeviceIdentifier[16] | 文本 | 此 GUID 是驱动程序和芯片集对的唯一标识符。 |
验证 | WHQLLevel | 整数 | 此驱动程序和设备对的验证级别。0未认证;1无认证日期;或者是日期类型(日月各8位,年份高16位) |
中文名字 | 英文名称 | 长度 | 作用解释 |
显示模式类 | D3DDISPLAYMODE | 16 | 描述显示模式。应用于三维图形类.枚举模式 |
显示模式类——成员表 |
宽度 | Width | 整数 | 屏幕宽度(以像素为单位)。 |
高度 | Height | 整数 | 屏幕高度(以像素为单位)。 |
刷新率 | RefreshRate | 整数 | 刷新速率。 值 0 表示适配器默认值。 |
格式 | Format | 整数 | D3D格式枚举类型,描述显示模式的图面格式。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
显示参数类 | D3DPRESENT_PARAMETERS | 56 | 描述演示文稿参数。应用于三维图形类.创建设备 |
显示参数类——成员表 |
宽度 | 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 |
长度 | 英文名称 | 中文名字 | 作用解释 |
300 | D3DCAPS9 | 三维功能类 | 表示通过 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 | 取标识(序号,标识) | 此方法返回特定于适配器硬件的适配器的唯一标识符。显卡标识类 |
中文名字 | 英文名称 | 长度 | 作用解释 |
显卡标识类 | LUID | 8 | 它指定保证在本地计算机上唯一的标识符。 |
显卡标识类——成员表 |
低位 | LowPart | 整数 | 标识符的低位数据。 |
高位 | HighPart | 整数 | 标识符的高位数据。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
显示格式类 | D3DDISPLAYMODEFILTER | 24 | 指定要筛选出的显示模式的类型。应用于三维图形类 |
显示格式类——成员表 |
大小 | Size | 整数 | 此结构的大小。固定为24 |
格式 | Format | 整数 | D3DFORMAT格式枚举类型,描述显示模式的图面格式。 |
扫描 | ScanLineOrdering | 整数 | 指示扫描线顺序是渐进式还是隔行扫描。1=逐行扫描;2=隔行扫描 |
中文名字 | 英文名称 | 长度 | 作用解释 |
显示模版类 | D3DDISPLAYMODEEX | 24 | 描述显示模式。应用于三维图形类 |
显示模版类——成员表 |
大小 | Size | 整数 | 此结构的大小。固定为24 |
宽度 | Width | 整数 | 屏幕宽度(以像素为单位)。 |
高度 | Height | 整数 | 屏幕高度(以像素为单位)。 |
刷新率 | RefreshRate | 整数 | 刷新速率。 值 0 表示适配器默认值。 |
格式 | Format | 整数 | D3D格式枚举类型,描述显示模式的图面格式。请参阅 D3DFORMAT |
扫描 | ScanLineOrdering | 整数 | 指示扫描线顺序是渐进式还是隔行扫描。1=逐行扫描;2=隔行扫描 |
英文名称 | 常量 | 作用解释 |
D3DDISPLAYROTATION——三维功能类.显示设置,指定如何旋转用于显示全屏应用程序的监视器。 |
D3DDISPLAYROTATION_IDENTITY | 1 | 显示未旋转。 |
D3DDISPLAYROTATION_90 | 2 | 显示器旋转 90 度。 |
D3DDISPLAYROTATION_180 | 3 | 显示器旋转 180 度。 |
D3DDISPLAYROTATION_270 | 4 | 显示器旋转 270 度。 |
英文名称 | 常量 | 作用解释 |
D3DUSAGE——三维图形类,标识资源的使用方式的用法选项。 |
D3DUSAGE_RENDERTARGET | 0x00000001 | 资源将是呈现目标。只能与 D3DPOOL_DEFAULT 一起使用。 |
D3DUSAGE_DEPTHSTENCI | 0x00000002 | 资源将是深度模具缓冲区。只能与 D3DPOOL_DEFAULT 一起使用。 |
D3DUSAGE_DYNAMIC | 0x00000200 | 设置为指示顶点缓冲区需要使用动态内存。 |
D3DUSAGE_AUTOGENMIPMAP | 0x00000400 | 资源将自动生成 mipmap。体积纹理和深度模具表面/纹理不支持,对系统内存中的资源无效。 |
D3DUSAGE_DMAP | 0x00004000 | 资源将是位移映射。 |
D3DUSAGE_QUERY_LEGACYBUMPMAP | 0x00008000 | 查询有关旧版凹凸图的资源。 |
D3DUSAGE_QUERY_SRGBREAD | 0x00010000 | 说明。 |
D3DUSAGE_QUERY_FILTER | 0x00020000 | 查询资源格式以查看它是否支持的纹理筛选器类型。 |
D3DUSAGE_QUERY_SRGBWRITE | 0x00040000 | 查询资源以验证纹理在读取操作期间是否支持伽玛校正。 |
D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING | 0x00080000 | 查询资源以验证是否支持后像素着色器混合支持。 |
D3DUSAGE_QUERY_VERTEXTEXTURE | 0x00100000 | 查询资源以验证是否支持顶点着色器纹理采样。 |
D3DUSAGE_WRITEONLY | 0x00000008 | 通知系统应用程序仅写入顶点缓冲区。 |
D3DUSAGE_SOFTWAREPROCESSING | 0x00000010 | 如果使用此标志顶点处理在软件中完成。 |
D3DUSAGE_DONOTCLIP | 0x00000020 | 设置为指示顶点缓冲区内容将永远不需要剪辑。 |
D3DUSAGE_POINTS | 0x00000040 | 设置为指示顶点或索引缓冲区将用于绘制点子画面。 |
D3DUSAGE_RTPATCHES | 0x00000080 | 设置为指示顶点缓冲区用于绘制高阶基元。 |
D3DUSAGE_NPATCHES | 0x00000100 | 设置为指示顶点缓冲区用于绘制 N 个补丁。 |
英文名称 | 常量 | 作用解释 |
D3DTEXTUREFILTERTYPE——三维纹理类.筛选类型,定义纹理阶段的纹理筛选模式。 |
D3DTEXF_NONE | 0 | 与 D3DSAMP_MIPFILTER 一起使用时,禁用误应用。 |
D3DTEXF_POINT | 1 | 与 D3DSAMP_ MAGFILTER 或 D3DSAMP_MINFILTER 一起使用时,指定点筛选将分别用作纹理放大或缩小筛选器。
与 D3DSAMP_MIPFILTER 一起使用时,启用 mipmapping 并指定光栅器从最接近 mip 级别的纹素中选择颜色。 |
D3DTEXF_LINEAR | 2 | 与 D3DSAMP_ MAGFILTER 或 D3DSAMP_MINFILTER 一起使用时,指定线性筛选将分别用作纹理放大或缩小筛选器。 与 D3DSAMP_MIPFILTER一起使用时,启用 mipming 和三线性筛选;它指定光栅器在两个最接近的 mip 级别之间内插。 |
D3DTEXF_ANISOTROPIC | 3 | 与 D3DSAMP_ MAGFILTER 或 D3DSAMP_MINFILTER 一起使用时,分别指定用作纹理放大或缩小筛选器的各向异性纹理筛选 补偿由纹理多边形与屏幕平面之间的角度差异导致的失真。 与 D3DSAMP_MIPFILTER 一起使用未定义。 |
D3DTEXF_PYRAMIDALQUAD | 6 | 用作纹理放大或缩小筛选器的 4 样本帐篷筛选器。 与 D3DSAMP_MIPFILTER 一起使用未定义。 |
D3DTEXF_GAUSSIANQUAD | 7 | 用作纹理放大或缩小筛选器的 4 样本高斯筛选器。 与 D3DSAMP_MIPFILTER 一起使用未定义。 |
D3DTEXF_CONVOLUTIONMONO | 8 | 单色纹理的卷积筛选器。仅在 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_DEFAULT | 0 | 资源放置在内存池中,最适合为给定资源请求的一组用法。 这通常是视频内存,包括本地视频内存和 AGP 内存。 |
D3DPOOL_MANAGED | 1 | 资源会根据需要自动复制到设备可访问的内存中。 托管资源由系统内存提供支持,设备丢失时无需重新创建。 |
D3DPOOL_SYSTEMMEM | 2 | 资源放置在通常不能由 Direct3D 设备访问的内存中。 此内存分配消耗系统 RAM,但不会减少可分页 RAM。 |
D3DPOOL_SCRATCH | 3 | 资源放置在系统 RAM 中,设备丢失时无需重新创建。不受设备大小或格式限制的约束。Direct3D设备无法访问这些资源,但是可以创建、锁定和复制这些资源。 |
英文名称 | 常量 | 作用解释 |
D3DCUBEMAP_FACES——用于三维纹理类.取图面,定义立方体地图的面。 |
D3DCUBEMAP_FACE_POSITIVE_X | 0 | 立方体图的正 x 面。 |
D3DCUBEMAP_FACE_NEGATIVE_X | 1 | 立方体图的负 x 面。 |
D3DCUBEMAP_FACE_POSITIVE_Y | 2 | 立方体图的正 y 面。 |
D3DCUBEMAP_FACE_NEGATIVE_Y | 3 | 立方体图的负 y 面。 |
D3DCUBEMAP_FACE_POSITIVE_Z | 4 | 立方体图的正 z 面。 |
D3DCUBEMAP_FACE_NEGATIVE_Z | 5 | 立方体图的负 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_DESC | 32 | 描述显示模式。应用于三维图形类 |
图面描述类——成员表 |
格式 | Format | 整数 | 描述图面格式的枚举类型的成员。 |
资源 | Type | 整数 | D3DRESOURCETYPE枚举类型的成员,将此资源标识为图面。 |
使用 | Usage | 整数 | 1=呈现目标;2=深度缓冲; 有关详细信息,请参阅 D3DUSAGE。 |
内存池 | Pool | 整数 | D3DPOOL枚举类型的成员,指定为此图面分配的内存类。 |
采样 | MultiSampleType | 整数 | D3DMULTISAMPLE_TYPE枚举类型,指定图面支持的全场景多重采样级别。 |
质量 | MultiSampleQuality | 整数 | 质量级别。有效范围介于 0 和 1 之间 |
宽度 | Width | 图面的宽度(以像素为单位)。 |
高度 | Height | 图面的高度(以像素为单位)。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
定位矩形类 | D3DLOCKED_RECT | 8 | 描述锁定的矩形区域。 |
定位矩形类——成员表 |
行字 | Pitch | 整数 | 图面一行中的字节数。 |
指针 | pBits | 整数 | 指向锁定位的指针。如果提供了矩形,则从图面的开头适当偏移。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
索引缓冲类 | D3DINDEXBUFFER_DESC | 20 | 描述索引缓冲区。 |
图面描述类——成员表 |
格式 | Format | 整数 | 描述图面格式的枚举类型的成员。 |
资源 | Type | 整数 | D3DRESOURCETYPE枚举类型的成员,将此资源标识为图面。 |
使用 | Usage | 整数 | 指定此资源的使用情况。有关详细信息,请参阅 D3DUSAGE。 |
内存池 | Pool | 整数 | D3DPOOL枚举类型的成员,指定为此图面分配的内存类。 |
大小 | Size | 整数 | 索引缓冲区的大小(以字节为单位)。 |
中文名字 | 英文名称 | 长度 | 作用解释 |
顶点缓冲类 | D3DVERTEXBUFFER_DESC | 24 | 描述顶点缓冲区。 |
顶点缓冲类——成员表 |
格式 | 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库
中文名称 | 英文名称 | 示例 | 作用 |
绝对值 | abs | a=绝对值(-36) | 返回32位整数的绝对值。 |
取正数 | labs | 大数=取绝对值(大数) | 返回64位整数的绝对值。 |
反余弦 | acos | y=反余弦(x) | 返回以弧度表示的 x 的反余弦。均为浮点数 |
反正弦 | asin | y=反正弦(x) | 返回以弧度表示的 x 的反正弦。均为浮点数 |
反正切 | atan | y=反正切(x) | 返回以弧度表示的 x 的反正切。均为浮点数 |
反正切2 | atan2 | z=反正切2(x,y) | 返回以弧度表示的 y/x 的反正切。均为浮点数 |
上取整 | ceil | y=上取整(x) | 返回大于或者等于 x 的数值(进位取整)。均为浮点数 |
余弦 | cos | y=余弦(x) | 返回以弧度表示的 x 的余弦。均为浮点数 |
双曲余弦 | cosh | y=余弦(x) | 返回以弧度表示的 x 的双曲余弦。均为浮点数 |
除法 | div | d=除法(a,b) | a除以b,返回d的前4字节为商,后4字节为余数 |
取绝对值 | fabs | y=取绝对值(x) | 返回 x 的绝对值。均为浮点数 |
下取整 | floor | y=下取整(x) | 返回大于或者等于 x 的数值(舍去取整)。均为浮点数 |
求余 | fmod | z=求余(x,y) | 返回 x/y 的余数。均为浮点数 |
自然对数 | log | y=log(x) | 返回 x 的自然对数。均为浮点数 |
常用对数 | log10 | y=常用对数(x) | 返回 x 的自然对数。(基数为 e 的对数) |
指数 | exp | y=指数(x) | 返回以自然常数e为底的 x 次幂 |
乘进位 | ldexp | y=乘进位(x,n) | 返回 x 乘以2的n次幂 ,相当于浮点左移运算 |
正弦 | sin | y=反正弦(x) | 返回以弧度表示的 x 的反正弦。(基数为 10 的对数) |
双曲正弦 | sinh | y=双曲正弦(x) | 返回以弧度表示的 x 的双曲正弦。均为浮点数 |
双曲正切 | tanh | y=双曲正切(x) | 返回以弧度表示的 x 的双曲正切。均为浮点数 |
平方根 | sqrt | y=平方根(x) | 返回 x 的平方根。均为浮点数 |
幂 | pow | z=幂(x,y) | 返回 x 的 y 次幂。均为浮点数 |
分解小数 | modf | z=分解小数(x,y) | 分解x,以得到x的整数和小数部分,y是x的整数部分,z是x的小数部分,xyz均为double |
显示错误 | perror | 显示错误("错误原因:") | 将上一个函数发生错误的原因输出到标准设备(控制台窗口) 先显示参数提交的文字,再显示错误原因的描述 |
打开管道 | popen | pp=打开管道(命令,"r") | 用命令运行一个进程,可以使用文件读写函数操控该控制台界面的输入输出 |
关闭管道 | pclose | 关闭管道(pp) | 打开管道必须使用此函数关闭,不能用关闭文件 |
产生信号 | raise | 产生信号(2) | 产生一个信号,2程序终止 4非法指令 8运算错误 11非法访问内存 15请求终止程序 22程序异常终止 |
检测信号 | signal | 检测信号(信号,@处理函数) | 检测到相应信号,把信号发给处理函数 |
转宽字符 | mbstowcs | 字数=转宽字符(新字,原文,长度) | 把多字符转换成宽字符 |
转多字符 | wcstombs | 字数=转多字符(新字,原文,长度) | 将宽字符转换成多字符 |
本地配置 | setlocale | 本地配置(选项,格式) | 用来配置地域的信息,设置当前程序使用的本地化信息 |
读取变量 | getenv | 路径=读取变量("PATH") | 从环境中取字符串,获取环境变量的值 |
终止 | abort | 终止 | 异常终止当前程序。 |
退出时 | atexit | 退出时(@退出事件) | 当程序正常终止时,调用指定的函数。 |
退出 | exit | 退出(状态) | 使程序正常终止。 |
转换时间 | asctime | 文字=转换时间(日期时间) | 把日期时间结构体转成文本格式时间 |
转时间 | ctime | 文字=转时间(@时间) | 把整数时间数据转成文本格式时间 |
取时间差 | difftime | x=取时间差(时间1,时间2) | 计算两个时刻之间的时间差 |
国际时间 | gmtime | t=国际时间(@时间) | 把日期时间数值转换为格林威治(GMT)时间,返回日期时间结构体 |
本地时间 | localtime | t=本地时间(@sj) | 把日期时间数值转换为本地时间,返回日期时间结构体 |
取时间 | time | 取时间(@时间) | 获得系统当前时间到一个整数变量 |
格式时间 | strftime | 格式时间(文字,文字长,"%H点%M分",时间) | 把日期时间类型转换为指定格式文字,%H为24小时制,12小时制用%I |
转小数 | atof | 转小数("12.34") | 把字符串转换为小数或浮点。 |
转整数 | atoi | 转整数("1235") | 把字符串转换为整数。 |
转小字 | tolower | a=转小字(文字(i)) | 大写字母转为小写字母,输入和返回都是ASCII码(0-127) |
转大字 | toupper | s=转大字(文字(i)) | 小写字母转为大写字母,输入和返回都是ASCII码(0-127) |
查数组 | bsearch | 查数组(内容,数组指针,数量,大小,@比较函数) | 可以在固定长度数组中查找数值或字符串 |
开启线程 | _beginthread | 开启线程(@函数,堆栈大小,参数) | 开启一个在调用进程的地址空间内执行的线程 |
线束线程 | _endthread | 结束线程 | 结束已开启的线程(无需参数) |
申请内存 | malloc | 缓冲=申请内存(长度) | 申请指定长度的内存空间,数据并未清零 |
申零内存 | calloc | 申零内存(长度,数量) | 申请长度乘数量的内存空间,并清零数据 |
保留内存 | realloc | 保留内存(原址,大小) | 重新分配内存,新空间大于原空间大小时,保留原数据 |
释放内存 | free | free(缓冲) | 释放之前分配的内存空间 |
查找字节 | 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 | 文件改名(旧名,新名) | 旧名文件不存在,新名文件存在,则移动文件,反之则改名.不能都存在或都不存在,也不能是目录 |
临时文件 | tmpfile | fp=临时文件 | 以wb+形式创建一个临时二进制文件 |
临时名 | tmpnam | 临时名(名称) | 产生一个唯一的文件名 |
读字符 | getchar | a=读字符 | 控制台读取一个输入的英文字符 |
读文字 | gets | 读文字(内容) | 控制台读取一行输入的字符串 |
写字符 | putchar | 写字符(\a) | 把ASCII码在控制台上显示出英文字符在控制台窗口上 |
写文字 | puts | 写文字("hello") | 把一串文字显示在控制台窗口上 |
写格式 | printf | 写格式("你好%s",名字) | 把多个变量转换格式化后显示在屏幕上(控制台) |
命令行 | system | 命令行("pause") | 控制台中执行系统命令 |
排序 | qsort | 排序(数组指针,数量,大小,@比较函数) | 可以实现数组,字符串,结构体内容排序等。 |
随机数 | rand | a=随机数 | 产生一个随机数 |
随机种子 | 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中出现的内存位置 |
转浮点 | strtod | fd=转浮点(文字1,文字2) | 把文字1转换成浮点数,若文字中包含非数字,会将其写到文字2中.参数2写0则无视 |
分割文本 | strtok | 分割文本(文字1,文字2) | 以文字2为分割符,把文字1分割成两个字符串 |
转数值 | strtol | d=转数值(文字1,文字2,进制) | 把文字1按进制转换成整数值,若文字中包含非数字会写到文字2中.进制为2-36的数字 |
转数字 | strtoul | d=转数字(文字1,文字2,进制) | 把文字1按进制转换成无符号长整形,文字中包含非数字会写到文字2中.进制为2-36的数字 |
转码复制 | strxfrm | d=转码复制(文字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 | 标识转字(标识,字串) | 将接口标识符转换为可打印字符的字符串。 |
对象库-常数
中文名称 | 常量 | 英文名称 | 作用 |
无呼叫调度 | 0 | CWMO_DEFAULT | 无呼叫调度 |
调度调用 | 1 | CWMO_DISPATCH_CALLS | 从"等对象组"调度调用(默认值为无呼叫调度) |
调度消息 | 2 | CWMO_DISPATCH_WINDOW_MESSAGES | 在 ASTA 或 STA 中启用从"等对象组"调度窗口消息 |
同步调度 | 1 | COWAIT_WAITALL | 仅当与同步对象关联的所有句柄都已发出信号且已收到输入事件时调用才会从"等多事件"返回 |
异步调度 | 2 | COWAIT_ALERTABLE | 如果异步过程调用(APC)已使用对QueueUserAPC函数的调用将排队到调用线程则从"等多事件"返回 |
输入调度 | 4 | COWAIT_INPUTAVAILABLE | 如果队列存在输入,即使输入已删除,调用从"等多事件"返回。 |
调度呼叫 | 8 | COWAIT_DISPATCH_CALLS | 在 ASTA 中从"等多事件"调度调用。 |
调度窗口 | 16 | COWAIT_DISPATCH_WINDOW_MESSAGES | 允许从 ASTA 或 STA 中的"等多事件"调度窗口消息。 |
单个连接 | 0 | REGCLS_SINGLEUSE | 使用"获取类库"将应用程序连接到类对象后,将从公共视图中删除该类对象 |
多个连接 | 1 | REGCLS_MULTIPLEUSE | 多个应用程序可以通过调用"获取类库"连接到类对象。 |
多个独立 | 2 | REGCLS_MULTI_SEPARATE | 用于通过调用"获取类库"注册单独的类工厂。 |
暂停连接 | 4 | REGCLS_SUSPENDED | 暂停指定 CLSID 的注册和激活请求,直到调用"获取类库"为止。 |
服务代理 | 8 | REGCLS_SURROGATE | 类对象是用来运行 DLL 服务器的代理项进程。 |
聚合封送 | 16 | REGCLS_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加载新的指令 |
执行类型 | GetBinaryTypeA | sf=执行类型(文件名,@类别) | 判断文件是否可以执行,类别收到文件的类型.返回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 | 串口等待(串口,@事件,结构) | 等待指定通信设备发生事件。事件发生时,传递到@事件整数变量中 |
获取标题 | GetConsoleTitleA | ln=获取标题(名称,长度) | 获取当前控制台窗口的标题栏名称,返回标题名称的长度 |
设置标题 | SetConsoleTitleA | ln=设置标题(名称) | 设置当前控制台窗口的标题栏名称,返回标题名称的长度 |
压缩大小 | GetCompressedFileSizeA | 大小=压缩大小(文件名,@长度) | 获取压缩文件的大小,未压缩为实际大小.长度为高32位,大小为低32位 |
取本机名 | GetComputerNameA | ln=取本机名(名称,长度) | 获取当前系统的计算机名称,返回计算机名的长度 |
改本机名 | SetComputerNameA | ln=改本机名(名称) | 修改当前系统的计算机名称,失败返回0 |
当前目录 | GetCurrentDirectoryA | ln=当前目录(长度,路径) | 获得当前进程的所在目录 |
修改目录 | SetCurrentDirectoryA | ln=修改目录(路径) | 修改当前进程运行的目录 |
当前进程 | GetCurrentProcess | pro=当前进程 | 获得当前进程的句柄 |
进程标识 | GetCurrentProcessId | pid=进程标识 | 获得当前进程的标识符PID |
当前线程 | GetCurrentThread | tid=当前线程 | 获得当前线程的句柄 |
线程标识 | GetCurrentThreadId | tid=线程标识 | 获得当前线程的标识符 |
格式时间 | GetDateFormatA | 格式时间(区域,选项,日期,格式,内容,长度) | 把系统时间结构体转换为指定格式的字符串 |
电源状态 | GetDevicePowerState | 电源状态(设备,@状态) | 获得设备是处于工作状态还是低功耗状态 |
进程状态 | GetExitCodeProcess | 进程状态(进程,@状态) | 获得指定进程的终止状态 |
线程状态 | GetExitCodeThread | 线程状态(线程,@状态) | 获得指定线程的终止状态 |
文件属性 | GetFileAttributesA | 属性=文件属性(路径) | 获得指定文件或目录的属性 |
文件大小 | GetFileSize | 大小=文件大小(文件,@长度) | 获取已打开文件的大小,长度为高32位,返回大小为低32位 |
文件日期 | GetFileTime | 文件日期(文件,@创建,@访问,@写入) | 获取已打开文件的各项日期,不需要的参数可以为0 |
文件类型 | GetFileType | t=文件类型(文件) | 返回指定文件的类型,0未知,1磁盘文件,2控制台,3管道 |
修改属性 | SetFileAttributesA | 修改属性(路径,属性) | 修改指定文件或目录的属性 |
文件定位 | SetFilePointer | 文件定位(文件,位置,高位,方向) | 方向0开头,1当前,2结尾 |
文件改时 | SetFileTime | 文件改时(文件,创建时间,最后访问,上次写入) | 修改已打开文件的各项日期,不需要的参数可以为0 |
最后错误 | GetLastError | 错误=最后错误 | 返回调用线程的最后一个错误代码值 |
当前时间 | GetLocalTime | 当前时间(时间类) | 获取当前系统日期和时间,系统时间结构体得到的是当前时间 |
分区空间 | GetDiskFreeSpaceA | 分区空间(目录,扇区数,扇区大小,可用群集,用户配额) | 检索有关指定磁盘的信息,包括磁盘上的可用空间量。 |
分区容量 | GetDiskFreeSpaceExA | 分区容量(目录,你可用,你可用总数,可用总数 | 检索有关磁盘卷上可用空间量的信息 |
磁盘类型 | GetLogicalDrives | 类型=磁盘类型(盘符) | 判断磁盘类型。类型=2可移动盘 3硬盘 4网络盘 5光驱 6 RAM磁盘 |
可用磁盘 | GetLogicalDrives | 磁盘=可用磁盘 | 返回表示当前可用磁盘驱动器的位掩码 |
可用盘符 | GetLogicalDriveStringsA | ln=可用盘符(长度,内容) | 返回指定系统中有效驱动器的字符串长度 |
长路径名 | GetLongPathNameA | ln=长路径名(文件名,路径,长度) | 获取指定文件路径的长路径形式 |
模块名称 | GetModuleFileNameA | ln=模块名称(模块,路径,长度) | 获取指定模块的可执行文件的完整路径和文件名,模块为0获取本进程 |
模块地址 | GetModuleHandleA | 模块=模块地址(模块名) | 获取指定模块(dll)的模块句柄,模块名为0获取本进程句柄 |
取优先级 | GetPriorityClass | lv=取优先级(进程) | 获取指定进程的优先级 |
改优先级 | SetPriorityClass | 改优先级(进程,lv) | 设置指定进程的优先级 |
读取整数 | GetPrivateProfileIntA | 数值=读取整数(段名,键名,默认值,文件名) | 获取配置文件的指定键相关的整数,未找到时返回默认值 |
读取区段 | GetPrivateProfileSectionA | 长度=读取区段(段名,内容,大小,文件名) | 获取配置文件的指定区段(中括号里的名字)所有键名和值 |
读取段名 | GetPrivateProfileSectionNamesA | 长度=读取段名(内容,大小,文件名) | 获取配置文件的所有区段名称 |
读取文字 | GetPrivateProfileStringA | 长度=读取文字(段,键,默认,内容,大小,文件名) | 获取配置文件的指定键对应的内容(等号右边) |
读取结构 | GetPrivateProfileStructA | 长度=读取结构(段,键,内容,大小,文件名) | 获取配置文件的指定键对应的结构数据 |
写入段名 | WritePrivateProfileSectionA | 长度=写入段名(段名,内容,文件名) | 创建配置文件的区段名称 |
写入文字 | WritePrivateProfileStringA | 长度=写入文字(段,键,内容,文件名) | 写入配置文件的指定键对应的内容(等号右边) |
写入结构 | WritePrivateProfileStructA | 长度=写入结构(段,键,内容,大小,文件名) | 写入配置文件的指定键对应的结构数据 |
函数地址 | GetProcAddress | 函数1=函数地址(模块,函数名) | 获取指定的动态链接库(DLL)函数的地址,可使用 调用 函数1(参数..)来执行 |
系统目录 | GetSystemDirectoryA | ln=系统目录(路径,大小) | 获取系统所在的目录C:\WINDOWS\SYSTEM |
全局内存 | GlobalMemoryStatus | 全局内存(内存信息类) | 获取当前可用的物理和虚拟内存信息 |
国标时间 | GetSystemTime | 国标时间(时间类) | 获取当前系统日期和时间,系统时间结构体得到的是世界时(UTC) |
开机毫秒 | GetTickCount | 计数=开机毫秒 | 获取当前系统启动以来经过的毫秒数 |
平台目录 | GetSystemDirectoryA | ln=平台目录(路径,大小) | 获取操作系统平台所在的目录C:\WINDOWS |
全局分配 | GlobalAlloc | 内存=全局分配(方式,大小) | 从堆中分配指定的字节数内存。0固定,2可移动,$40初始化零 |
全局释放 | GlobalFree | 全局释放(内存) | 释放指定的全局内存对象并使其空间无效 |
全局锁定 | GlobalLock | buf=全局锁定(内存) | 返回指定的全局内存对象第一个字节的指针 |
全局更改 | GlobalReAlloc | 全局更改(内存,大小,方式) | 更改指定的全局内存对象的大小或属性 |
全局大小 | GlobalSize | ln=全局大小(内存) | 获取指定的全局内存对象的当前大小 |
全局解锁 | 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 | 信息菜单(菜单,菜单类) | 设置指定菜单的信息。 |
菜单帮助 | GetMenuContextHelpId | id=菜单帮助(菜单) | 返回指定菜单中的帮助上下文标识符 |
帮助菜单 | 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 | 改窗口值(窗口,偏移,数值) | 修改结构指定偏移位置的数值 |
取窗口字 | GetWindowTextA | ln=取窗口字(窗口,内容,长度) | 获得指定窗口标题文字 |
改窗口字 | SetWindowTextA | ln=改窗口字(窗口,内容) | 修改指定窗口的标题文字 |
窗口字长 | GetWindowTextLengthA | ln=窗口字长(窗口) | 获得指定窗口的标题栏文本或者控件文本的长度 |
窗口路径 | 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 | 组合式(内容,格式,变量..) | 将多个变量按照指定格式组合成一个字符串 |
重绘窗口标志——更新窗口指定矩形或区域
中文名字 | 常量 | 英文名称 | 释义 |
重绘无效 | $0001 | RDW_INVALIDATE | 使指定区域或整个窗口无效,常用于重绘窗口 |
重绘内部 | $0002 | RDW_INTERNALPAINT | 使一条WM_PAINT消息被传递到窗口,而不管窗口是否包含一个无效区域。 |
重绘背景 | $0004 | RDW_ERASE | 使窗口在重画时接收到一个擦除背景消息。 |
重绘有效 | $0008 | RDW_VALIDATE | 使指定区域或整个窗口有效 |
重绘禁止 | $0010 | RDW_NOINTERNALPAINT | 禁止任何未处理的内部重绘消息。 |
重绘防擦 | $0020 | RDW_NOERASE | 禁止任何未处理的WM_ERASEBKGND消息。 |
重绘当前 | $0040 | RDW_NOCHILDREN | 在重画操作中不包括子窗口 |
重绘全部 | $0080 | RDW_ALLCHILDREN | 在重画操作中包含子窗口 |
重绘更新 | $0100 | RDW_UPDATENOW | 使窗口接收到WM_NCPAINT,WM_ERASEBKGND和WM_PAINT消息 |
重绘擦除 | $0200 | RDW_ERASENOW | 接收到WM_NCPAINT和WM_ERASEBKGND消息
|
重绘框架 | $0400 | RDW_FRAME | 使窗口非客户区中与更新区域重叠的任何部分接收到一条WM_NCPAINT消息。 |
重绘禁框 | $0800 | RDW_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 | $660E | 128 位 AES。此算法受微软AES 加密提供程序支持。 |
CALG_AES_192 | $660F | 192 位 AES。此算法受微软AES 加密提供程序支持。 |
CALG_AES_256 | $6610 | 256 位 AES。此算法受微软AES 加密提供程序支持。 |
CALG_AGREEDKEY_ANY | $AA03 | Diffie-HellmAn-Agreed keys的句柄的临时算法标识符。 |
CALG_CYLINK_MEK | $660C | 一种算法,用于创建具有奇偶校验位和归零密钥位的 40 位 DES 密钥,以使其密钥长度为 64 位。此算法受微软基本加密提供程序支持。 |
CALG_DES | $6601 | DES 加密算法。 |
CALG_DESX | $6604 | DESX 加密算法。 |
CALG_DH_EPHEM | $AA02 | Diffie-HellmAn 瞬时密钥交换算法。 |
CALG_DH_SF | $AA01 | Diffie-HellmAn存储和转发密钥交换算法。 |
CALG_DSS_SIGN | $2200 | DSA 公钥签名算法。 |
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 | $8009 | HMAC 键控哈希算法。此算法受微软基本加密提供程序支持。 |
CALG_KEA_KEYX | $AA04 | KEA密钥交换算法(FORTEZZA)。不支持此算法。 |
CALG_MAC | $8005 | MAC 键控哈希算法。此算法受微软基本加密提供程序支持。 |
CALG_MD2 | $8001 | MD2 哈希算法。此算法受微软基本加密提供程序支持。 |
CALG_MD4 | $8002 | MD4 哈希算法。此算法受微软基本加密提供程序支持。 |
CALG_MD5 | $8003 | MD5 哈希算法。此算法受微软基本加密提供程序支持。 |
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 | $6602 | RC2 块加密算法。此算法受微软基本加密提供程序支持。 |
CALG_RC4 | $6801 | RC4 流加密算法。此算法受微软基本加密提供程序支持。 |
CALG_RC5 | $660D | RC5 块加密算法。 |
CALG_RSA_KEYX | $A400 | RSA 公钥交换算法。此算法受微软基本加密提供程序支持。 |
CALG_RSA_SIGN | $2400 | RSA 公钥签名算法。此算法受微软基本加密提供程序支持。 |
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 | $6802 | SEAL 加密算法。不支持此算法。 |
CALG_SHA | $8004 | SHA 哈希算法。此算法受微软基本加密提供程序支持。 |
CALG_SHA1 | $8004 | 与CALG_SHA相同。此算法受微软基本加密提供程序支持。 |
CALG_SHA_256 | $800C | 256 位 SHA 哈希算法。MiCrosoft EnhAnCed RSA 和 AES 加密提供程序支持此算法。 |
CALG_SHA_384 | $800D | 384 位 SHA 哈希算法。MiCrosoft EnhAnCed RSA 和 AES 加密提供程序支持此算法。 |
CALG_SHA_512 | $800E | 512 位 SHA 哈希算法。MiCrosoft EnhAnCed RSA 和 AES 加密提供程序支持此算法。 |
CALG_SKIPJACK | $660A | SkipjACk 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 | $660B | TEK (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 | 设置接口(接口,层,选项,@数据,@长度) | 设置一个网络接口的(高层)选项 |
反整数 | htonl | l=反整数(数字) | 将32位主机数转换成无符号长整型的网络字节顺序(高低位反转) |
反转 | htons | i=反转(数字) | 将无符号短整形数转换成16位网络字节顺序(四个反转函数性质相同,端口转换用这一个就行了) |
整数反转 | ntohl | 接受(数字) | 将一个无符号长整形数从网络字节顺序转换为主机字节顺序 |
整形反转 | ntohs | 整形反转(数字) | 将一个16位数由网络字节顺序转换为主机字节顺序 |
控制模式 | ioctlsocket | 接口模式(接口,命令,@模式) | 用于获取与网络接口相关的控制模式 |
转换地址 | inet_addr | 地址=转换地址("127.0.0.1") | 将一个点分十进制的IP字符串转换成一个长整数型数 |
地址转换 | inet_ntoa | IPs=地址转换(地址) | 将一个长整数型数转换成一个点分十进制的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_READ | 1 | 网络数据已到达,可供读取。 |
接口写 | FD_WRITE | 2 | 现在可以发送其他数据。 |
接口读外 | FD_OOB | 4 | 可读取带外数据。 |
接口请求 | FD_ACCEPT | 8 | 远程主机正在发出连接请求。 |
接口连接 | FD_CONNECT | $10 | 已完成与远程主机或多播会话的连接。 |
接口关闭 | FD_CLOSE | $20 | 远程主机已关闭连接。 |
本地型 | AF_UNIX | 1 | 主机通讯。 |
网络型 | AF_INET | 2 | 互联网通讯。包含本机,局域网和广域网,23种只有这一种最常用 |
数据流 | SOCK_STREAM | 1 | TCP协议使用的方式。 |
数据报 | SOCK_DGRAM | 2 | UDP协议使用的方式 |
流协议 | IPPROTO_TCP | 6 | TCP协议 |
报协议 | IPPROTO_UDP | 17 | UDP协议 |
设置选项 | IP_OPTIONS | 1 | 设置新选项将覆盖以前指定的所有选项,设置前要先获取 |
多播接口 | IP_MULTICAST_IF | 2 | 确定要用于多播的接口 |
多播时间 | IP_MULTICAST_TTL | 3 | 设置多播会话时间到实时控制范围 |
多播回送 | IP_MULTICAST_LOOP | 4 | 设置/获取IP多播数据回送 |
添加多播 | IP_ADD_MEMBERSHIP | 5 | 添加多播成员会话 |
删除多播 | IP_DROP_MEMBERSHIP | 6 | 删除多播成员会话 |
存包时间 | IP_TTL | 7 | 设置/获取数据包的保存时间 |
服务选项 | IP_TOS | 8 | 设置/获取服务的最小时延、最大吞吐量、最高可靠性和最小费用 |
不要分段 | IP_DONTFRAGMENT | 9 | 设置/获取IP不分段标志 |
接口调试 | SO_DEBUG | 1 | 打开调试信息记录 |
是否侦听 | SO_ACCEPTCONN | 2 | 获取是否处于侦听模式 |
地址重用 | SO_REUSEADDR | 4 | 允许本地地址重用 |
保持连接 | SO_KEEPALIVE | 8 | 保持连接活动 |
不要路由 | 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 | 强图=数据强图(长度,数据) | 从指定的数据创建基于内存的增强格式图元文件。 |
强图描述 | GetEnhMetaFileDescriptionA | ln=强图描述(强图,内容,长度) | 从增强格式的图元文件中检索可选文本描述 |
强图色板 | GetEnhMetaFilePaletteEntries | ln=强图色板(强图,数目,数据) | 从增强格式的图元文件中检索指定数目的调色板数据 |
强图像素 | GetEnhMetaFilePixelFormat | ln=强图像素(强图,长度,像素) | 从增强格式的图元文件中检索像素格式信息 |
设备字体 | 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图层复制——常数
中文名称 | 英文名称 | 示例 | 作用 |
黑调色板 | $00000042 | BLACKNESS | 使用与物理调色板中的0号颜色(黑色)填充目标矩形。 |
白调色板 | $00FF0062 | WHITENESS | 使用与物理调色板中的1号颜色(白色)填充目标矩形。 |
合并图层 | $40000000 | CAPTUREBLT | 在生成的图像中包括分层在窗口顶部的任何窗口。 |
反转图形 | $00550009 | DSTINVERT | 反转目标矩形。 |
合并复制 | $00C000CA | MERGECOPY | 使用布尔 AND 运算符将源矩形的颜色与当前在目标设备中选择的画笔合并。 |
反色合并 | $00BB0226 | MERGEPAINT | 使用布尔 OR 运算符将反转源矩形的颜色与目标矩形的颜色合并。 |
防止镜像 | $80000000 | NOMIRRORBITMAP | 防止对位图进行镜像。 |
反转复制 | $00330008 | NOTSRCCOPY | 将反转的源矩形复制到目标。 |
反色混合 | $001100A6 | NOTSRCERASE | 使用布尔 OR 运算符组合源矩形和目标矩形的颜色,然后反转生成的颜色。 |
填色复制 | $00F00021 | PATCOPY | 将当前在目标设备中选择的画笔复制到目标位图中。 |
混色复制 | $005A0049 | PATINVERT | 使用布尔 XOR 运算符将当前在目标设备中选择的画笔的颜色与目标矩形的颜色组合在一起。 |
加色复制 | $00FB0A09 | PATPAINT | 此操作的结果通过使用布尔 OR 运算符与目标矩形的颜色相结合。 |
降色复制 | $008800C6 | SRCAND | 使用布尔 AND 运算符组合源矩形和目标矩形的颜色。 |
原图复制 | $00CC0020 | SRCCOPY | 将源矩形直接复制到目标矩形。 |
加图复制 | $00EE0086 | SRCPAINT | 使用布尔 OR 运算符组合源矩形和目标矩形的颜色。 |
反图复制 | $00440328 | SRCERASE | 使用布尔 AND 运算符将目标矩形的反面颜色与源矩形的颜色组合在一起。 |
混图复制 | $00660046 | SRCINVERT | 使用布尔 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 typedef | C 类型 |
SQL_C_CHAR | SQLCHAR * | unsigned char * |
SQL_C_WCHAR | SQLWCHAR * | wchar_t * |
SQL_C_SSHORT[j] | SQLSMALLINT | short int |
SQL_C_USHORT[j] | SQLUSMALLINT | unsigned short int |
SQL_C_SLONG[j] | SQLINTEGER | long int |
SQL_C_ULONG[j] | SQLUINTEGER | unsigned long int |
SQL_C_FLOAT | SQLREAL | FLOAT |
SQL_C_DOUBLE | SQLDOUBLE、SQLFLOAT | double |
SQL_C_BIT | SQLCHAR | unsigned char |
SQL_C_STINYINT[j] | SQLSCHAR | signed char |
SQL_C_UTINYINT[j] | SQLCHAR | unsigned char |
SQL_C_SBIGINT | SQLBIGINT | _int64[h] |
SQL_C_UBIGINT | SQLUBIGINT | unsigned _int64[h] |
SQL_C_BINARY | SQLCHAR * | unsigned char * |
SQL_C_BOOKMARK[i] | 书签 | unsigned long int[d] |
SQL_C_VARBOOKMARK | SQLCHAR * | 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 | 交换层面(设备,层面) | 交换由指定设备上下文引用的窗口覆盖层、下层和主平面中的前后缓冲区。 |