推测api参数

问题描述:windows api的一些参数数值 这篇文章主要介绍了api测试中常见输出参数校验方式,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

高分请教API标准中螺纹的参数含义!急!1″MT; 1.5AMMT; NC16; NC23; 2 3/8PAC; 2 3/8REG; NC 26;

推测api参数的相关图片

3.2.3 API参数中的等值定义。

再回过头来看显示消息框的语句:

invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK。

在uType这个参数中使用了MB_OK,这个MB_OK是什么意思呢,先来看《Microsoft Win32 Programmer's Reference》中的说明:

uType —— 定义对话框的类型,这个参数可以是以下标志的合集:

要定义消息框上显示按钮,用下面的某一个标志:

MB_ABORTRETRYIGNORE —— 消息框有三个按钮:“终止”,“重试”和“忽略”

MB_HELP —— 消息框上显示一个“帮助”按钮,按下后发送WM_HELP消息。

MB_OK —— 消息框上显示一个“确定”按钮,这是默认值。

MB_OKCANCEL —— 消息框上显示两个按钮:“确定”和“取消”

MB_RETRYCANCEL —— 消息框上显示两个按钮:“重试”和“忽略”

MB_YESNO —— 消息框上显示两个按钮:“是”和“否”

MB_YESNOCANCEL —— 消息框上显示三个按钮:“是”、“否”和“取消”

要在消息框中显示图标,用下面的某一个标志:

MB_ICONWARNING —— 显示惊叹号图标。

MB_ICONINFORMATION —— 显示消息图标。

MB_ICONASTERISK —— 显示危险图标。

MB_ICONQUESTION —— 显示问号图标。

MB_ICONSTOP —— 显示停止图标。

……

这些是uType参数说明中的一小半,可以看出,参数中可以用的值有很多种,让我们换一个值试试看,把语句改为:

invoke MessageBox,NULL,offset szText,\。

offset szCaption, MB_ICONWARNING or MB_YESNO。

再编译执行看,屏幕上出现了一个不一样的消息框,如图3.3所示。

图3.3 另一个消息框

和参数说明中的一样!消息框中出现了一个惊叹号图标,按钮也变成了“是”和“否”两个按钮!MB_ICONWARNING和MB_YESNO等参数究竟是什么意思呢,MASM中显然没有这样的预定义,让我们先来找Visual C++的头文件,在WinUser.h中可以找到下面一段:

/*

* MessageBox() Flags。

*/

#define MB_OK Ox00000000L。

#define MB_OKCANCEL Ox00000001L。

#define MB_ABORTRETRYIGNORE Ox00000002L。

#define MB_YESNOCANCEL Ox00000003L。

#define MB_YESNO Ox00000004L。

#define MB_RETRYCANCEL Ox00000005L。

#define MB_ICONHAND Ox00000010L。

#define MB_ICONQUESTION Ox00000020L。

#define MB_ICONEXCLAMATION Ox00000030L。

#define MB_ICONASTERISK Ox00000040L。

#if(WINVER >= Ox0400)。

#define MB_USERICON Ox00000080L。

#define MB_ICONWARNING MB_ICONEXCLAMATION。

#define MB_ICONERROR MB_ICONHAND。

#endif /* WINVER >= 0x0400 */。

#define MB_ICONINFORMATION MB_ICONASTERISK。

#define MB_ICONSTOP MB_ICONHAND。

……

显然,MB_YESNO就是4,MB_ICONWARNING就是30h,默认的MB_OK就是0,Win32 API的参数使用这样的定义方法是为了免除程序员死记数值定义的麻烦。在编写Win32汇编程序时,MASM32工具包中的Windows.inc也包括了所有这些参数的定义,只要在程序的开头包含这个定义文件:

include windows.inc。

就可以方便地完全按照API手册来使用Win32函数。

打开\masm32\include目录下的Windows.inc查看一下,可以发现整个文件总共有两万六千多行,包括了几乎所有的Win32 API参数中的常量和数据结构定义。正是有了这个文件中详尽的定义,Win32ASM才得以流行起来,试想一下,哪个程序员愿意每使用一个API语句,就到函数手册中去看参数,然后到Microsoft发布的Visual C++的头文件中去找对应的数值,再应用到汇编源程序中?这样会有80%以上的时间花在做无用功上(最后还是要骂Microsoft为什么不提供汇编格式的头文件,毕竟MASM32工具包不是Microsoft出的)。

有时候由于版本的原因,当使用最新的API手册时,会发现有些参数使用的常量在Windows.inc中并没有定义,这下惨了,谁都不知道类似于MB_XXXYYY的东西代表什么数值,Microsoft的《Microsoft Programmer's Reference》手册中从来就不会把参数对应的数值写进去。遇到这种情况,只有拿出最原始的办法了,就是到最新的Visual C++或SDK的include目录中去,在C语言格式的 .h头文件中把定义找出来,然后自行增补到Windows.inc中去。如果这样也找不到定义值的话,那只好放弃使用这个API了。

SystemParametersInfoA这个API的参数有哪些呢?的相关图片

SystemParametersInfoA这个API的参数有哪些呢?

这些参数可以在API SPEC 7-2 标准里查到。

1″MT ;  应该是1 ”AMMT,螺距每英寸6牙,锥度1:8,紧密距9.525mm。

1.5AMMT ;V-055牙型,1:8,每英寸6牙,紧密距9.525mm。

NC16 ;V-055牙型,1:8,6牙,紧密距15.875mm、

NC23 ;V-038R牙型,1:6,4牙,紧密距15.875mm。

2 3/8PAC ;V-076牙型,1:8,4牙,紧密距15.875mm、

2 3/8REG ;V-040牙型,1:6,5牙,紧密距15.875mm。

NC 26 ;V-038R牙型,1:6,4牙,紧密距15.875mm。

STUB ACME -8 ;

STUB ACME -10 ;

STUB ACME -12 ; 这三个属于美标梯形螺纹,29度牙,没有标注螺纹尺寸和精度,数据不全。

程序中怎样看一个函数是不是API函数?谢谢了!的相关图片

程序中怎样看一个函数是不是API函数?谢谢了!

呵呵,我以前写个小程序的时候,也找过这个资料,这是天极网上的资料,可以用VB编个更换桌面背景的程序:

SystemParametersInfoA的说明:

【说明】

允许获取和设置数量众多的windows系统参数。

【返回值】

Long,非零表示成功,零表示失败。会设置GetLastError。

【备注】

在调用这个函数之前,特别要注意将lpvParam参数定义成正确的数据类型。

【参数表】

uAction -------- Long,指定要设置的参数。参考uAction常数表。

uParam --------- Long,参考uAction常数表。

lpvParam ------- Any,按引用调用的Integer、Long和数据结构。对于String数据,请用SystemParametersInfoByval函数。具体用法参考uAction常数表。

-------------------实例------------------------。

Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long。

Const SPI_SETDESKWALLPAPER = 20。

Const SPIF_SENDWININICHANGE = &H2。

Const SPIF_UPDATEINIFILE = &H1。

Private Sub Form_Load()。

ChangeWP = SystemParametersInfo(SPI_SETDESKWALLPAPER, 。

0, "Path+BmpFile", 0)。

End Sub

使用这个例程确实能够切换墙纸,但存在以下问题:

1、用鼠标右键点击桌面,会看到【背景】→【墙纸】里面的文件名是空的。

2、重新启动后桌面墙纸消失。

3、没告诉您怎么切换"居中"或"平铺"。

怎么解决这些问题呢?

1、Windows的墙纸必须以BMP格式的文件存放在Windows目录下面,如果您的图片不在该目录或不是BMP文件,那么就会出现第一个问题。因此必须把您的图片转换成BMP文件并复制到Windows目录下面。

2、要使重新启动后需要在注册表里面修改相应的键值,具体位置是 HKEY_CURRENT_USER\Control Panel\desktop中的Wallpaper键,让它的键值等于您的全路径文件名。

3、在更换墙纸以前首先设置是否"居中",需要修改注册表中HKEY_CURRENT_USER\Control Panel\desktop中的TileWallpaper键,键值"0"表示"居中","1"表示"平铺"。

对所有API请求参数,根据参数名称的ASCII码表的顺序排序。的相关图片

对所有API请求参数,根据参数名称的ASCII码表的顺序排序。

在MFC里,,用 ::后面跟函数名这种方式调用的函数是API函数,::前面有类标识的都是MFC的类的成员函数 ,不会是API函数 的,,MFC就是把API做了封装,,,那怕跟API函数 名一样,,但也不是API函数了,,afx_msg只是说明这个函数是某个消息的响应函数 。。。

组件接口api的参数是外部数据吗

意思就是说比如有三个参数,URL比如是getsum?def=yy&op=zz&&act=xx(如果是其它的JSON参数也是一样)

这三个参数def/op/act要进行排序(就是普通的字符串的大小比较),即顺序应该为act、def、op(至于顺序处理后再做什么处理,比如序列化或加密,那就看你那的需求了)

原文地址:http://www.qianchusai.com/%E6%8E%A8%E6%B5%8Bapi%E5%8F%82%E6%95%B0.html

殂陨-60

殂陨-60

驺吾-30,驺吾是什么意思

驺吾-30,驺吾是什么意思

三年级混合运算应用题,四年级计算题800道题混合运算

三年级混合运算应用题,四年级计算题800道题混合运算

春联的故事日记400字,春联的故事日记400字怎么写

春联的故事日记400字,春联的故事日记400字怎么写

lw/德云社熙华图片,德云社熙华高清壁纸

lw/德云社熙华图片,德云社熙华高清壁纸

jellyfin刷新媒体库-50,jellyfin 媒体库封面

jellyfin刷新媒体库-50,jellyfin 媒体库封面

xiaoxue/25864

xiaoxue/25864

关于力量的议论文800字,关于力量的议论文800字作文

关于力量的议论文800字,关于力量的议论文800字作文

cc/海南文创产品设计作品,海南文创产品设计大赛获奖

cc/海南文创产品设计作品,海南文创产品设计大赛获奖

怎样区分细节描写和语言动作描写,怎样区分细节描写和语言动作描写的区别

怎样区分细节描写和语言动作描写,怎样区分细节描写和语言动作描写的区别