在VB中使用API函数之一r
r
r
什么是APIr
APIAdva
cedProgrammersI
terface高级程序员接口注API实际是指Applicatio
Programmi
gI
terface应用程序编程接口此处疑为原文错误不过在VB中也可以这么说吧是一套用来控制Wi
dows的各个部件从桌面的外观到位一个新进程分配的内存的外观和行为的一套预先定义的Wi
dows函数用户的每个动作都会引发一个或几个函数的运行以Wi
dows告诉发生了什么r
这在某种程度上很象Wi
dows的天然代码其他的语言只是提供一种能自动而且更容易的访问API的方法VB在这方面作了很多工作它完全隐藏了API并且提供了在Wi
dows环境下编程的一种完全不同的方法r
这也就是说你用VB写出的每行代码都会被VB转换为API函数传递给Wi
dows例如Form1Pri
tVB将会以一定的参数你的代码中提供的或是默认参数调用TextOut这个API函数r
同样当你点击窗体上的一个按钮时Wi
dows会发送一个消息给窗体这对于你来说是隐藏的VB获取这个调用并经过分析后生成一个特定事件Butto
_Clickr
API函数包含在Wi
dows系统目录下的动态连接库文件中如User32dllGDI32dllShell32dllr
API声明r
正如在什么是API中所说API函数包含在位于系统目录下的DLL文件中你可以自己输入API函数的声明但VB提供了一种更简单的方法即使用APITextViewerr
要想在你的工程中声明API函数只需运行APITextViewer打开Wi
32apitxt或MDB如果你已经把它转换成了数据库的话这样可以加快速度注微软的这个文件有很多的不足你可以试一下本站提供下载的api32txt选择声明找到所需函数点击添加Add并复制Copy然后粘贴Paste到你的工程里使用预定义的常量和类型也是同样的方法r
你将会遇到一些问题r
假设你想在你的窗体模块中声明一个函数粘贴然后运行VB会告诉你编译错误Declare语句不允许作为类或对象模块中的Public成员看起来很糟糕其实你需要做的只是在声明前面添加一个Private如PrivateDeclareFu
ctio
不要忘了可是这将使该函数只在该窗体模块可用r
在有些情况下你会得到不明确的名称这样的提示这是因为函数常量或其他的什么东西共用了一个名称由于绝大多数的函数也可能是全部我没有验证过都进行了别名化亦即意味着你可以通过Alias子句使用其它的而不是他们原有的名称你只需简单地改变一下函数名称而它仍然可以正常运行r
你可以通过查看VB的Declare语句帮助主题来获取有关Alias的详细说明r
消息Messagesr
好了现在你已经知道什么是API函数了但你也一定听说过消息如果你还没有你很快就会并且想知道它是什么消息是Wi
dows告诉你的程序发生了哪些事件或要求r