怎样用VB在应用程序中调用API

2018-06-17 17:13:45来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

由于API过程存在于VisualBasic应用程序之外的文件中,在使用时必须指定过程的位置和调用参数。可以用Declare语句提供这类信息。在声明了API过程之后,可以把它当做VisualBasic自己的过程使用。 
  如果在VisualBasic中直接调用API,那么VisualBasic环境下固有的安全机制将受到不利影响。这意味着在测试和调试程序时可能会遇到更多的系统故障。为了减少这种危险,在声明API过程、传递参数和指定类型的时候务必要小心。无论在什么情况下,一定要经常保存已经完成的工作。API可以提供不同凡响的功能,但是要用好它也不容易。
  下例将演示如何调用WindowsAPI中的过程。调用函数SetWindowText来改变一个窗体的标题栏。当然,在实际应用中,通常总是利用VisualBasic的Caption属性来改变标题栏。该示例的目的在于说明如何声明并调用过程。
声明API过程
  首先,在模块的声明部分对过程进行声明:
  PrivateDeclareFunctionSetWindowTextLib"user32"_
  Alias"SetWindowTextA"(ByValhwndAsLong,_
  ByVallpStringAsString)AsLong
  过程的精确语法定义可以用APIViewer应用程序找到,在Win32api.txt文件中也可以找到它。如果将Declare放在Form或者Class模块内,那么必须在它的前面加上Private关键字。同一个API过程在一个工程中只需声明一次;然后可以任意调用。


调用API过程
  在声明了函数之后,调用它的方式与标准的VisualBasic函数相同。在下例中,FormLoad事件调用了上面声明的过程。
  PrivateSubForm_Load()
    SetWindowTextForm1.hWnd,"WelcometoVB"
  EndSub
  在运行这段代码时,函数首先使用hWnd属性确定要修改标题栏的窗口(Form1.hWnd),然后将标题栏修改为“WelcometoVB”。
  需要牢记的是:VisualBasic不能验证传递到API过程的值是否正确。如果传递了错误的值,那么过程将出错,并可能因此导致VisualBasic应用程序停止运行。这样就不得不重新加载和启动应用程序。在测试API过程时千万要小心,一定要经常地保存自己的工作。
  极少数API调用能够识别缺省的Variant数据类型。最好声明具体的变量类型并使用OptionExplicit,这样,API的可靠性要高得多。->

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:在VB中如何使用ping命令

下一篇:VisualBasic属性、方法和事件二