Public Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" _
(ByVal hInternetSession As Long, ByVal sServerName As String, _
 ByVal nServerPort As Integer, ByVal sUsername As String, _
 ByVal sPassword As String, ByVal lService As Long, _
 ByVal lFlags As Long, ByVal lContext As Long) As Long
请问该函数的每一部分申明是什么意思,谢谢!!

解决方案 »

  1.   

    InternetConnect函数用于打开一个FTP、Gopher或HTTP站点。如果成功,将返回该FTP、Gopher或HTTP会话的句柄;如果不成功,返回NULL。InternetConnect的函数原型为: HINTERNET InternetConnect( IN HINTERNET hInternetSession, IN LPCSTR 
            lpszServerName, IN INTERNET_PORT nServerPort, IN LPCSTR lpszUsername, 
            IN LPCSTR lpszPassword, IN DWORD dwService, IN DWORD dwFlags, IN DWORD 
            dwContext ); 
    ---- 这里需要设置8个参数,其中: 
    hInternetSession为目前会话的句柄。该句柄必须是上一个InternetOpen函数的返回值; lpszServerName指向包含Internet服务器的主机名称(如http://www.mit.edu)或IP地址(如202.102.13.141)的字符串; nServerPort是将要连结到的TCP/IP的端口号,可以使用一些预定的常量,详见表1; 
    ---- 表1:预定义的TCP/IP端口值 
    名称 端口值  
    INTERNET_DEFAULT_FTP_PORT 21  
    INTERNET_DEFAULT_GOPHER_PORT 70  
    INTERNET_DEFAULT_HTTP_PORT 80  
    INTERNET_DEFAULT_HTTPS_PORT 443  
    INTERNET_DEFAULT_SOCKS_PORT 1080  
    INTERNET_INVALID_PORT_NUMBER 使用由dwService指定的服务的默认端口值  
    ---- lpszUsername指向包含用户用于登录的名字的字符串。其默认值详见表2; ---- lpszPassword指向包含用户登录密码的字符串,其默认值详见表2; ---- 表2:lpszUsername和lpszPassword的默认值 lpszUsername的值 lpszPassword的值 lpszUsername的默认值 lpszPassword的默认值  
    NULL NULL "anonymous" 用户的电子邮件名称  
    NULL 非空字符串 错误 错误  
    非空字符串 NULL lpszUsername的值 ""  
    非空字符串 非空字符串 lpszUsername的值 lpszPassword的值  
    ---- l dwService是要访问的服务类型,其值详见表3; ---- 表3:Internet服务的预定义值 预定义名称 意义  
    INTERNET_SERVICE_FTP FTP服务  
    INTERNET_SERVICE_GOPHER Gopher服务  
    INTERNET_SERVICE_HTTP HTTP服务  
    ---- dwFlags为可选标记,此处设置为INTERNET_FLAG_SECURE,表示使用SSL/PCT协议完成事务; ---- dwContext为应用程序定义的值,用来为返回的句柄标识应用程序设备场境。 ---- 2. 对于HTTP,需要调用HttpOpenRequest函数。 ---- HttpOpenRequest函数用于打开HTTP申请,如果成功则返回该申请的句柄,否则返回NULL。该函数原型为: HINTERNET HttpOpenRequest( IN HINTERNET hHttpSession, IN LPCSTR lpszVerb, 
            IN LPCSTR lpszObjectName, IN LPCSTR lpszVersion, IN LPCSTR lpszReferer, 
            IN LPCSTR FAR * lpszAcceptTypes, IN DWORD dwFlags, IN DWORD dwContext 
            ); 
    ---- 该函数有8个参数需要设置,其中: 
    hHttpSession是由InternetConnect返回的HTTP会话句柄; lpszVerb指向在申请中使用的"动词"的字符串,如果设置为NULL,则使用"GET"; lpszObjectName指向包含动词的目标对象名称的字符串,通常是文件名称、可执行模块或搜索说明符; lpszVersion指向包含HTTP版本的字符串,如果为NULL,则默认为"HTTP/1.0"; lpszReferer指向包含文档地址(URL)的字符串,申请的URL必须是从该文档获取的; lpszAcceptTypes指向客户接收的内容的类型; dwFlags、dwContext与InternetConnect函数中的同名参数意义相同, 
      

  2.   

    括号最后的As Long是指的InternetConnect函数的返回值类型吗,谢谢!
      

  3.   

    请问要用VB实现FTP文件上传,除了InternetConnect,还需用到那些Windows API函数,
    谢谢!!
      

  4.   

    呵呵,最后一个问题,
    strTemp = Left(pData.cFileName, InStr(1, pData.cFileName, String(1, 0), vbBinaryCompare) - 1)
    这句话怎么理解呀,万份感谢!!!
      

  5.   

    InStr(1, pData.cFileName, String(1, 0), vbBinaryCompare)
    以二进制的形势寻找null值在pdata.cfilename最先出现的位置-1后的值string(1,0)返回null
    left(x,x)取左
    这样说明白否?
      

  6.   

    有两点不太明白:
     1.以二进制的形势寻找null值在pdata.cfilename最先出现的位置-1后的值这句话不好理解,
     2.left(x,x)取左,就是把pData.cFileName赋给strTemp,即strTemp=pData.cFileName就行了,
    为什么还要用到left(x,x)呢?
    谢谢!
      

  7.   

    MMHT000201 经销       200028     帐期                                  0.0           0
      

  8.   

    1、当null值第一次在pdata.cfilename出现的时,记录他的位置,如果是第5位出现null,则
       InStr(1, pData.cFileName, String(1, 0), vbBinaryCompare)=5,你不用管是什么进制了,反正你也不懂
    2、假如上面的为5,则left(pData.cFileName,5-1)的意思是将pData.cFileName的左边的前4位附值给strTemp,我没料到你无知到这种地步,是我的错
    3、强烈建议拿本vb的随便什么书或者msdn去闭关修炼1个月,然后再考虑来这问些问题,我不是歧视你无知,而是认为你现阶段的主要问题是你的水平还没到你能理解你在问什么的程度,你根本不知道你该问些什么...