打印本文 打印本文  关闭窗口 关闭窗口  
如何在VisualBasic中使用导入API
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 14:45:28  文章录入:杜斌  责任编辑:杜斌

在 Visual Basic 中使用导入 API会发现很难找到正确的 dll。我知道 C++ 中有一个 dll,但是,有没有可以从 VB 应用程序调用的 dll 呢?

回答是肯定的:

有两种方法可以完成这项工作。一种方法就是在 VB 的 DECLARE 部分列出您希望调用的 C API,然后利用标准

的调用序列从 VB 调用它,如下面的代码样本所示:


Type SQLCA_STRUCT

sqlcaid As String * 8

sqlcabc As Long

sqlcode As Long

sqlerrml As Integer

sqlerrmc As String * 70

sqlerrp As String * 8

sqlerrd(6) As Long

sqlwarn As String * 11

sqlstate As String * 5

End Type

Public Declare Function sqlepstart Lib "db2app" Alias "sqlepstart_api"

(ByVal junk&, ByRef sqlca As SQLCA_STRUCT) As Integer

'

DB2_start = sqlepstart(0, sqlca) ' Start DB2 call

另一种方法就是生成一个文件,然后发出一条命令在后台执行该函数(当然,取决于您正在试图做什么):

fileno = FreeFile

Open db2file For Output As #fileno

sqlstmt = "" + _

"db2start;" + vbNewLine + _

"quit;"

Print #fileno, sqlstmt ' Write commands to a file

Close #fileno ' Close it and execute the command

db2cmd = "db2cmd /i /c db2 -tvf " + db2file ' Generate the command

progID = Shell(db2cmd, vbMinimizedNoFocus) ' Shell out to run it

最后,DB2 的下一个版本将允许您象运行普通的 SQL 表函数那样运行特殊的 API 命令。这会返回有关目前可在 DB2 中找到的许多管理 API 的结果。因此,无需进行 API 调用,您只需使用 SQL 调用就可从 DB2 获取信。

打印本文 打印本文  关闭窗口 关闭窗口