如何查找api函数中的字符串常量的对应值?

当在VB中使用API函数时,经常会遇到各种字符串常量,这些字符串常量并不被VB所认识,所以需要在VB环境中重新定义。

下面介绍几种查找字符串常量对应值的方法

方法一:使用API文本浏览器

当安装了VB 6.0后,将自带一个API文本浏览器,方便快速查找常用的API函数的字符串常量,如下图所示:

方法二:通过API函数的MSDN网站的官方帮助文档查找

比如WM_KEYUP 消息常量,就可以通过在百度中输入关键字“msdn WM_KEYUP ”,找到链接WM_KEYUP 消息

从而找到WM_KEYUP 消息常量的C++定义如下:

#define WM_KEYUP                        0x0101

相应的可以转换为VB的字符串常量的定义如下:

Const WM_KEYUP = &H101

方法三:通过API函数所在的DLL动态链接库的文件头查找

比如注册表预定义键

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

在MSDN找不到它对应的字符串常量的定义,这时候可以通过查找它所在的动态链接库的文件头来获取。

比如以上注册表预定义键位于Advapi32.dll中的Winreg.h中,如下图所示:

然后我们可以通过在搜索引擎搜索”Winreg.h”,查找到以下内容:

#define HKEY_CLASSES_ROOT((HKEY)0x80000000)
#define HKEY_CURRENT_USER((HKEY)0x80000001)
#define HKEY_LOCAL_MACHINE((HKEY)0x80000002)
#define HKEY_USERS((HKEY)0x80000003)
#define HKEY_PERFORMANCE_DATA((HKEY)0x80000004)
#define HKEY_CURRENT_CONFIG((HKEY)0x80000005)

根据以上内容,就可以转换为以下的vb的常量声明:

Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_USERS = &H80000003
Const HKEY_CURRENT_CONFIG = &H80000005

通过以上三种方法,基本上可以解决所有字符串常量的查找。

 

 

       

发表评论