在 Visual Basic 中使用导入 API会发现很难找到正确的 dll我知道 C++ 中有一个 dll但是有没有可以从 VB 应用程序调用的 dll 呢?
回答是肯定的
有两种方法可以完成这项工作一种方法就是在 VB 的 DECLARE 部分列出您希望调用的 C API然后利用标准
的调用序列从 VB 调用它如下面的代码样本所示
Type SQLCA_STRUCT
sqlcaid As String *
sqlcabc As Long
sqlcode As Long
sqlerrml As Integer
sqlerrmc As String *
sqlerrp As String *
sqlerrd() As Long
sqlwarn As String *
sqlstate As String *
End Type
Public Declare Function sqlepstart Lib "dbapp" Alias "sqlepstart_api"
(ByVal junk&#; ByRef sqlca As SQLCA_STRUCT) As Integer
DB_start = sqlepstart( sqlca) Start DB call
另一种方法就是生成一个文件然后发出一条命令在后台执行该函数(当然取决于您正在试图做什么)
fileno = FreeFile
Open dbfile For Output As #fileno
sqlstmt = "" + _
"dbstart;" + vbNewLine + _
"quit;"
Print #fileno sqlstmt Write commands to a file
Close #fileno Close it and execute the command
dbcmd = "dbcmd /i /c db tvf " + dbfile Generate the command
progID = Shell(dbcmd vbMinimizedNoFocus) Shell out to run it
最后DB 的下一个版本将允许您象运行普通的 SQL 表函数那样运行特殊的 API 命令这会返回有关目前可在 DB 中找到的许多管理 API 的结果因此无需进行 API 调用您只需使用 SQL 调用就可从 DB 获取信