神话版三国在线收听:VB里API函数如何和控件结合使用

来源:百度文库 编辑:高考问答 时间:2024/04/30 00:16:44

评论 ┆ 举报

最佳答案此答案由提问者自己选择,并不代表百度知道知识人的观点

回答:mobilemall30
学者
4月6日 19:39 Private Sub Command1_Click()
Dim strFileName As String
Dim strURL As String
strFileName = "c:\123.zip"
strURL= "http://www.sohu.com/test.zip"
Dim lonResult As Long
lonResult = URLDownloadToFile(0, strURL, strFileName, 0, 0)
End Sub
其作用是从http://www.sohu.com/test.zip下载test.zip文件到c盘另命名为123.zip

sorry,没看明白你的意思:)
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
首先,这是声名URLDownloadToFile这个API函数,其中pCaller、szURL、szFileName、dwReserved是参数,调用此函数后,返回值为long类型的数值.
声明中的Lib 和 Alias :一般情况下WIN32API函数总是包含在WINDOWS系统自带的或是其它公司提供的动态连接库DLL中,而Declare语句中的Lib关键字就用来指定DLL(动态连接库)文件的路径,这样VB才能找到这个DLL文件,然后才能使用其中的API函数。如果我们只是列出DLL文件名而不指出其完整的路径的话,VB会自动到.EXE文件所在目录、当前工作目录、WINDOWS\SYSTEM目录、WINDOWS目录下搜寻这个DLL文件。所以如果所要使用DLL文件不在上述几个目录下的话,我们应该指明其完整路径。
Alias用于指定API函数的别名,如果我们调用的API函数要使用字符串(参数中包含String型)的话,Alias关键字是必须的。这是因为在ANSI和Unicode字符集中同一API函数的名称可能是不一样的,为了保证不出现声明错误,我们使用Alias关键字指出API函数的别名,一般来说在WIN9X平台下我们把API函数名后加一个大写A作为别名即可。
声明中的ByVal:表示采用传值方式传递参数

ByVal pCaller As Long
ByVal dwReserved As Long
ByVal lpfnCB As Long
说明这几个参数为long类型的数据,但具体表示什么含义我也没查找资料,一般都用它的缺省值0
ByVal szURL As String
参数为String型数据,表示下载文件的网址
ByVal szFileName As String
参数为String型数据,表示下载文件存储在本机的路径名称。
其调用方法就是上面的例子了。
不知这样是否是你想得到的答案,呵呵:)

该回答在4月19日 09:03由回答者修改过

揪错 ┆ 评论1 ┆ 举报