爱问知识人 爱问教育 医院库

VB中API函数的问题

首页

VB中API函数的问题

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

这是VB中的一行API函数语句,我不知道上面这行是作什么用的,不知那位高手能一句一句帮我分析一下?

提交回答
好评回答
  • 2006-04-06 19:39:03
      Private Sub Command1_Click()
    Dim strFileName As String
    Dim strURL      As String
    strFileName = "c:\123。zip"
    strURL= " "
    Dim lonResult As Long
    lonResult = URLDownloadToFile(0, strURL, strFileName, 0, 0)
    End Sub
    其作用是从 
    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型数据,表示下载文件存储在本机的路径名称。
       其调用方法就是上面的例子了。 不知这样是否是你想得到的答案,呵呵:)。

    m***

    2006-04-06 19:39:03

其他答案

    2006-04-09 21:02:32
  • 就是把网上的地址为strURL文件另存为本地的路径为strFileName文件的函数阿

    S***

    2006-04-09 21:02:32

类似问题

换一换
  • VB 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 171-190
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):