VB的API编程精粹(1)

本文主要探讨了VB中使用API进行编程的精髓,涵盖了Windows API的基础知识,如何调用API函数,以及在VB中实现特定功能的方法。通过实例解析,读者可以深入理解API在VB编程中的应用。
摘要由CSDN通过智能技术生成
VB的API编程精粹(1)
Visual Basic以友好易学的可视化开发环境闻名于 世,成为人们学习计算机编程的首选语言。目前,全世界 大概有300多万人使用着Visual Basic语言。如果您想在 这茫茫众生中出类拔萃,那么您就不得不学习API (Application Program lnterface,即Windows的应用程 序编程接口)编程。不懂API,那可成不了高手。
第一节:API基础
API说到底就是一系列的底层函数,是系统提供给 用户用于进入操作系统核心,进行高级编程的途径。通 过在Visual Basic应用程序中声明外部过程就能够 访问Windows API(以及其它的外部DLLs)。在声明 了过程之后,调用它的方法与调用Visual Basic自 己的过程相同。要声明一个DLL过程,需要在代码窗 口的"声明"部分增加一个Declare语句,如果该过 程返回一个值,应将其声明为Function。例如:
Declare Function publicname Lib "libname" [Alias "alias"] [([[ByVal] variable [As type] [,[ByVal] variable [As type]]...])] As Type
如果过程没有返回值,可将其声明为Sub。
缺省情况下,在标准模块中声明的DLL过程,可 以在应用程序的任何地方调用它。在其他类型的模块 中定义的DLL过程是模块私有的,必须在它们前面 加上Private关键字,以示区分。特别提请注意的 是,在32位的Visual Basic中过程名是区分大小 写的。而在以前的16位版本中并不区分大小写,这 是初学者容易出错的地方。
Declare语句中的Lib子句用来告诉Visual Basic如何找到包含该过程的dll文件。如果引用的过 程属于Windows核心库(User32、Kernel32或 GDI32),则可以不包含文件扩展名。例如:
Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount"() As Long。对于其它DLL, Lib子句须指定文件的路径及扩展名。
如果调用的Windows API过程要使用字符串,那 么在声明语句中必须增加一个Alias子句,以指定 正确的字符集。包含字符串的Windows API函数实 际有两种格武ANSI格式Unicode格式。因此,在 Windows头文件中,每个包含字符串的函数都同时有 ANSI版本和Unicode版本。
例如,下面是SetWindowText函数的两种C语言描 述。可以看到,第一个描述将函数定义为SetWindowTextA, 尾部的"A"表明它是一个ANSI函数:
SetWindowTextA(HWND hWnd,LPCSTR lpString);
第二个描述将它定义为SetWindowTextW,尾部的 "w"表明它是一个Unicode函数:
SetWindowTextW(HWND Hwnd,LPCWSTR lpString);
因为两个函数实际的名称都不是"SetWindow Text",要引用正确的函数就必须增加一个Alias子句:
Private Declare Function SetwindowText Lib "user32" Alias "SetWindowTextA"(ByVal hwnd As Longg,ByVal lpString As String) As Long
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值