VB 版 (精华区)
发信人: bloom (├┝┞┟┠┡┢┣), 信区: VB
标 题: 十一、Visual Basic 6.0调用Win 32 API
发信站: 哈工大紫丁香 (2000年08月09日15:27:59 星期三), 转信
十一、Visual Basic 6.0调用Win 32 API
VB6的功能非常强大,但是仍然有一些未包含的功能,此时就需要直接调用动态链接
库(DLL)中的过程了。通过 DLL,程序员可以访问构成 Microsoft Windows 操作系统主
体的成千上万个过程,以及其它语言编写的各种例程。
DLL 是一种过程库,应用程序可以在运行时链接并使用它,这种链接不同于编译时
的静态链接。这意味着DLL 库的更新可以独立地进行,而且许多个应用程序可以共享同
一个 DLL。Windows 本身就是由若干个 DLL 组成的,其它应用程序可以调用这些库中的
过程,完成窗口与图形的显示、内存管理或其他任务。这些过程有时被称为 Windows A
PI(应用程序接口)。
为了调用DLL 过程,必须首先在模块中声明,例如声明 SetWindowTextA的格式为:
Private Declare Function SetWindowText Lib “user32” _
Alias “SetWindowTextA” (ByVal hwnd As Long, _
ByVal lpString As String) As Long
过程、函数、常量的精确语法定义可以用 API Viewer 应用程序找到,在 Win32ap
i.txt 文件中也可以找到它。如果将 Declare 放在 Form 或者 Class 模块内,那么必
须在它的前面加上 Private 关键字。同一个 DLL 过程在一个工程中只需声明一次;然
后可以任意调用。
调用 DLL 过程如同调用VB本身提供的函数一样,在感觉上没有什么不同。例如调用
上述函数的语法为:
Private Sub Form_Load()
SetWindowText Form1.hWnd, “Hello World”
End Sub
在运行这段代码时,函数首先使用 hWnd 属性确定要修改标题栏的窗口(Form1.hW
nd),然后将标题栏修改为“Hello World”
--
├┝┞┟┠┡┢┣ ※↑
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.226.226]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.347毫秒