<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>VB模块</title><link>http://blog.yesky.com/Blog/yedeyingzi/category/119.html</link><description>我找到的一些模块和类，以及关于这些模块的文章...</description><managingEditor>夜的影子</managingEditor><dc:language>zh-CHS</dc:language><generator>.Text Version 0.958.2004.214</generator><item><dc:creator>夜的影子</dc:creator><title>WININET.Bas</title><link>http://blog.yesky.com/blog/yedeyingzi/archive/2004/11/21/42502.html</link><pubDate>Sun, 21 Nov 2004 06:02:00 GMT</pubDate><guid /><wfw:comment>http://blog.yesky.com/Blog/yedeyingzi/comments/42502.html</wfw:comment><comments>#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.yesky.com/Blog/yedeyingzi/comments/commentRss/42502.html</wfw:commentRss><trackback:ping>http://blog.yesky.com/Blog/yedeyingzi/services/trackbacks/42502.html</trackback:ping><description>&lt;PRE&gt;&lt;CODE&gt;&lt;FONT face=Fixedsys size=3&gt;&lt;FONT color=#0000ff&gt;Attribute &lt;/FONT&gt;VB_Name &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800000&gt;"modWinInet"
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Option Explicit
&lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;GetProcessHeap Lib &lt;FONT color=#800000&gt;"kernel32" &lt;/FONT&gt;&lt;FONT color=#000080&gt;() &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Long
&lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;HeapAlloc Lib &lt;FONT color=#800000&gt;"kernel32" &lt;/FONT&gt;&lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hHeap &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal dwFlags &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal dwBytes &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Long
&lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;HeapFree Lib &lt;FONT color=#800000&gt;"kernel32" &lt;/FONT&gt;&lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hHeap &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal dwFlags &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;lpMem &lt;FONT color=#0000ff&gt;As &lt;/FONT&gt;Any&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Long
Public Const &lt;/FONT&gt;HEAP_ZERO_MEMORY &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H8
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HEAP_GENERATE_EXCEPTIONS &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H4
Declare &lt;FONT color=#0000ff&gt;Sub &lt;/FONT&gt;CopyMemory1 Lib &lt;FONT color=#800000&gt;"kernel32" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"RtlMoveMemory" &lt;/FONT&gt;&lt;FONT color=#000080&gt;( &lt;/FONT&gt;_
    hpvDest &lt;FONT color=#0000ff&gt;As &lt;/FONT&gt;Any&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal hpvSource &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal cbCopy &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;)
&lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Sub &lt;/FONT&gt;CopyMemory2 Lib &lt;FONT color=#800000&gt;"kernel32" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"RtlMoveMemory" &lt;/FONT&gt;&lt;FONT color=#000080&gt;( &lt;/FONT&gt;_
    hpvDest &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;hpvSource &lt;FONT color=#0000ff&gt;As &lt;/FONT&gt;Any&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal cbCopy &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;)
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;MAX_PATH &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;260
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;NO_ERROR &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;0
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;FILE_ATTRIBUTE_READONLY &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H1
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;FILE_ATTRIBUTE_HIDDEN &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H2
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;FILE_ATTRIBUTE_SYSTEM &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H4
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;FILE_ATTRIBUTE_DIRECTORY &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H10
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;FILE_ATTRIBUTE_ARCHIVE &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H20
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;FILE_ATTRIBUTE_NORMAL &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H80
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;FILE_ATTRIBUTE_TEMPORARY &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H100
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;FILE_ATTRIBUTE_COMPRESSED &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H800
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;FILE_ATTRIBUTE_OFFLINE &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H1000

Type FILETIME
    dwLowDateTime &lt;FONT color=#0000ff&gt;As Long
    &lt;/FONT&gt;dwHighDateTime &lt;FONT color=#0000ff&gt;As Long
End &lt;/FONT&gt;Type
Type WIN32_FIND_DATA
    dwFileAttributes &lt;FONT color=#0000ff&gt;As Long
    &lt;/FONT&gt;ftCreationTime &lt;FONT color=#0000ff&gt;As &lt;/FONT&gt;FILETIME
    ftLastAccessTime &lt;FONT color=#0000ff&gt;As &lt;/FONT&gt;FILETIME
    ftLastWriteTime &lt;FONT color=#0000ff&gt;As &lt;/FONT&gt;FILETIME
    nFileSizeHigh &lt;FONT color=#0000ff&gt;As Long
    &lt;/FONT&gt;nFileSizeLow &lt;FONT color=#0000ff&gt;As Long
    &lt;/FONT&gt;dwReserved0 &lt;FONT color=#0000ff&gt;As Long
    &lt;/FONT&gt;dwReserved1 &lt;FONT color=#0000ff&gt;As Long
    &lt;/FONT&gt;cFileName &lt;FONT color=#0000ff&gt;As String &lt;/FONT&gt;&lt;FONT color=#000080&gt;* &lt;/FONT&gt;MAX_PATH
    cAlternate &lt;FONT color=#0000ff&gt;As String &lt;/FONT&gt;&lt;FONT color=#000080&gt;* &lt;/FONT&gt;&lt;FONT color=#800080&gt;14
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;End &lt;/FONT&gt;Type

&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;ERROR_NO_MORE_FILES &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;18
&lt;/FONT&gt;&lt;FONT color=#008000&gt;'调用 FtpFindFirstFile()后在目录中连续查找
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;InternetFindNextFile Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"InternetFindNextFileA" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hFind &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;lpvFindData &lt;FONT color=#0000ff&gt;As &lt;/FONT&gt;WIN32_FIND_DATA&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Long
&lt;/FONT&gt;&lt;FONT color=#008000&gt;'返回文件信息。放在 WIN32_FIND_DATA 结构中
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;FtpFindFirstFile Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"FtpFindFirstFileA" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hFtpSession &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lpszSearchFile &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    lpFindFileData &lt;FONT color=#0000ff&gt;As &lt;/FONT&gt;WIN32_FIND_DATA&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal dwFlags &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal dwContent &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Long
&lt;/FONT&gt;&lt;FONT color=#008000&gt;'接收指定的文件并且在本地建立它
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;FtpGetFile Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"FtpGetFileA" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hFtpSession &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lpszRemoteFile &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByVal lpszNewFile &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal fFailIfExists &lt;FONT color=#0000ff&gt;As Boolean&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal dwFlagsAndAttributes &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByVal dwFlags &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal dwContext &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Boolean
&lt;/FONT&gt;&lt;FONT color=#008000&gt;'发送指定文件到服务器
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;FtpPutFile Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"FtpPutFileA" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hFtpSession &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lpszLocalFile &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByVal lpszRemoteFile &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByVal dwFlags &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal dwContext &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Boolean
&lt;/FONT&gt;&lt;FONT color=#008000&gt;'设置服务器上当前的工作目录
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;FtpSetCurrentDirectory Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"FtpSetCurrentDirectoryA" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hFtpSession &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lpszDirectory &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Boolean
&lt;/FONT&gt;&lt;FONT color=#008000&gt;' Initializes an application's use of the Win32 Internet functions
'初始化 Win32 internet
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;InternetOpen Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"InternetOpenA" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal sAgent &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lAccessType &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal sProxyName &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByVal sProxyBypass &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lFlags &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Long
&lt;/FONT&gt;&lt;FONT color=#008000&gt;' User agent constant.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;scUserAgent &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800000&gt;"vb wininet"
&lt;/FONT&gt;&lt;FONT color=#008000&gt;' Use registry access settings.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_OPEN_TYPE_PRECONFIG &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;0
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_OPEN_TYPE_DIRECT &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;1
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_OPEN_TYPE_PROXY &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;3
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_INVALID_PORT_NUMBER &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;0
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;FTP_TRANSFER_TYPE_ASCII &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H1
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;FTP_TRANSFER_TYPE_BINARY &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H1
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_FLAG_PASSIVE &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H8000000
&lt;FONT color=#008000&gt;' Opens a HTTP session for a given site.
'打开一个FTP, HTTP, or Gopher 应用会话
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;InternetConnect Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"InternetConnectA" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hInternetSession &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal sServerName &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal nServerPort &lt;FONT color=#0000ff&gt;As Integer&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByVal sUsername &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal sPassword &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lService &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByVal lFlags &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lContext &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Long
Public Const &lt;/FONT&gt;ERROR_INTERNET_EXTENDED_ERROR &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;12003
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;InternetGetLastResponseInfo Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"InternetGetLastResponseInfoA" &lt;/FONT&gt;&lt;FONT color=#000080&gt;( &lt;/FONT&gt;_
    lpdwError &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByVal lpszBuffer &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    lpdwBufferLength &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Boolean
&lt;/FONT&gt;&lt;FONT color=#008000&gt;' Number of the TCP/IP port on the server to connect to.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_DEFAULT_FTP_PORT &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;21
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_DEFAULT_GOPHER_PORT &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;70
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_DEFAULT_HTTP_PORT &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;80
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_DEFAULT_HTTPS_PORT &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;443
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_DEFAULT_SOCKS_PORT &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;1080
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_OPTION_CONNECT_TIMEOUT &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;2
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_OPTION_RECEIVE_TIMEOUT &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;6
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_OPTION_SEND_TIMEOUT &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;5
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_OPTION_USERNAME &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;28
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_OPTION_PASSWORD &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;29
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_OPTION_PROXY_USERNAME &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;43
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_OPTION_PROXY_PASSWORD &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;44
&lt;/FONT&gt;&lt;FONT color=#008000&gt;' Type of service to access.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_SERVICE_FTP &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;1
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_SERVICE_GOPHER &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;2
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_SERVICE_HTTP &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;3
&lt;/FONT&gt;&lt;FONT color=#008000&gt;' Opens an HTTP request handle.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;HttpOpenRequest Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"HttpOpenRequestA" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hHttpSession &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal sVerb &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal sObjectName &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal sVersion &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByVal sReferer &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal something &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lFlags &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lContext &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Long
&lt;/FONT&gt;&lt;FONT color=#008000&gt;' Brings the data across the wire even if it locally cached.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_FLAG_RELOAD &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H80000000
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_FLAG_KEEP_CONNECTION &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H400000
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_FLAG_MULTIPART &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H200000
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;GENERIC_READ &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H80000000
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;GENERIC_WRITE &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H40000000
&lt;FONT color=#008000&gt;' Sends the specified request to the HTTP server.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;HttpSendRequest Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"HttpSendRequestA" &lt;/FONT&gt;&lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal _
    hHttpRequest &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal sHeaders &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lHeadersLength &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal sOptional &lt;FONT color=#0000ff&gt;As &lt;/FONT&gt;_
    &lt;FONT color=#0000ff&gt;String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lOptionalLength &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Integer

&lt;/FONT&gt;&lt;FONT color=#008000&gt;' Queries for information about an HTTP request.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;HttpQueryInfo Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"HttpQueryInfoA" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hHttpRequest &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lInfoLevel &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByRef sBuffer &lt;FONT color=#0000ff&gt;As &lt;/FONT&gt;Any&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByRef lBufferLength &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByRef lIndex &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Integer
&lt;/FONT&gt;&lt;FONT color=#008000&gt;' The possible values for the lInfoLevel parameter include:
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_CONTENT_TYPE &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;1
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_CONTENT_LENGTH &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;5
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_EXPIRES &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;10
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_LAST_MODIFIED &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;11
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_PRAGMA &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;17
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_VERSION &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;18
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_STATUS_CODE &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;19
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_STATUS_TEXT &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;20
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_RAW_HEADERS &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;21
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_RAW_HEADERS_CRLF &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;22
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_FORWARDED &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;30
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_SERVER &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;37
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_USER_AGENT &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;39
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_SET_COOKIE &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;43
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_REQUEST_METHOD &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;45
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_STATUS_DENIED &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;401
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_STATUS_PROXY_AUTH_REQ &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;407
&lt;/FONT&gt;&lt;FONT color=#008000&gt;' Add this flag to the about flags to get request header.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_FLAG_REQUEST_HEADERS &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H80000000
&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_QUERY_FLAG_NUMBER &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H20000000
&lt;FONT color=#008000&gt;' Reads data from a handle opened by the HttpOpenRequest function.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;InternetReadFile Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hFile &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal sBuffer &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lNumBytesToRead &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    lNumberOfBytesRead &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Integer
Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;InternetWriteFile Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hFile &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal sBuffer &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByVal lNumberOfBytesToRead &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    lNumberOfBytesRead &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Integer
&lt;/FONT&gt;&lt;FONT color=#008000&gt;'打开服务器上的一个文件进行读写
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;FtpOpenFile Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias _
    &lt;FONT color=#800000&gt;"FtpOpenFileA" &lt;/FONT&gt;&lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hFtpSession &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByVal sFileName &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lAccess &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByVal lFlags &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lContext &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Long
&lt;/FONT&gt;&lt;FONT color=#008000&gt;'删除服务器上一个指定的文件
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;FtpDeleteFile Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;_
    Alias &lt;FONT color=#800000&gt;"FtpDeleteFileA" &lt;/FONT&gt;&lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hFtpSession &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByVal lpszFileName &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Boolean
Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;InternetSetOption Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"InternetSetOptionA" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hInternet &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lOption &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByRef sBuffer &lt;FONT color=#0000ff&gt;As &lt;/FONT&gt;Any&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lBufferLength &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Integer
Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;InternetSetOptionStr Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"InternetSetOptionA" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hInternet &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lOption &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal sBuffer &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lBufferLength &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Integer
&lt;/FONT&gt;&lt;FONT color=#008000&gt;' Closes a single Internet handle or a subtree of Internet handles.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;InternetCloseHandle Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hInet &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Integer
&lt;/FONT&gt;&lt;FONT color=#008000&gt;' Queries an Internet option on the specified handle
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;InternetQueryOption Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"InternetQueryOptionA" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hInternet &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lOption &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByRef sBuffer &lt;FONT color=#0000ff&gt;As &lt;/FONT&gt;Any&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByRef lBufferLength &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Integer
&lt;/FONT&gt;&lt;FONT color=#008000&gt;' Returns the version number of Wininet.dll.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;INTERNET_OPTION_VERSION &lt;FONT color=#000080&gt;= &lt;/FONT&gt;&lt;FONT color=#800080&gt;40
&lt;/FONT&gt;&lt;FONT color=#008000&gt;' Contains the version number of the DLL that contains the Windows Internet
' functions (Wininet.dll). This structure is used when passing the
' INTERNET_OPTION_VERSION flag to the InternetQueryOption function.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Type tWinInetDLLVersion
    lMajorVersion &lt;FONT color=#0000ff&gt;As Long
    &lt;/FONT&gt;lMinorVersion &lt;FONT color=#0000ff&gt;As Long
End &lt;/FONT&gt;Type
&lt;FONT color=#008000&gt;' Adds one or more HTTP request headers to the HTTP request handle.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public &lt;/FONT&gt;Declare &lt;FONT color=#0000ff&gt;Function &lt;/FONT&gt;HttpAddRequestHeaders Lib &lt;FONT color=#800000&gt;"wininet.dll" &lt;/FONT&gt;Alias &lt;FONT color=#800000&gt;"HttpAddRequestHeadersA" &lt;/FONT&gt;_
    &lt;FONT color=#000080&gt;(&lt;/FONT&gt;ByVal hHttpRequest &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal sHeaders &lt;FONT color=#0000ff&gt;As String&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;ByVal lHeadersLength &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;, &lt;/FONT&gt;_
    ByVal lModifiers &lt;FONT color=#0000ff&gt;As Long&lt;/FONT&gt;&lt;FONT color=#000080&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;As Integer
&lt;/FONT&gt;&lt;FONT color=#008000&gt;' Flags to modify the semantics of this function. Can be a combination of these values:
' Adds the header only if it does not already exist; otherwise, an error is returned.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_ADDREQ_FLAG_ADD_IF_NEW &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H10000000
&lt;FONT color=#008000&gt;' Adds the header if it does not exist. Used with REPLACE.
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_ADDREQ_FLAG_ADD &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H20000000
&lt;FONT color=#008000&gt;' Replaces or removes a header. If the header value is empty and the header is found,
' it is removed. If not empty, the header value is replaced
&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Public Const &lt;/FONT&gt;HTTP_ADDREQ_FLAG_REPLACE &lt;FONT color=#000080&gt;= &amp;amp;&lt;/FONT&gt;H80000000
&lt;/FONT&gt;
&lt;/CODE&gt;&lt;/PRE&gt;&lt;img src ="http://blog.yesky.com/Blog/yedeyingzi/aggbug/42502.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>夜的影子</dc:creator><title>Base64加密类，刚下载的</title><link>http://blog.yesky.com/blog/yedeyingzi/archive/2004/11/05/40659.html</link><pubDate>Fri, 05 Nov 2004 04:40:00 GMT</pubDate><guid /><wfw:comment>http://blog.yesky.com/Blog/yedeyingzi/comments/40659.html</wfw:comment><comments>#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.yesky.com/Blog/yedeyingzi/comments/commentRss/40659.html</wfw:commentRss><trackback:ping>http://blog.yesky.com/Blog/yedeyingzi/services/trackbacks/40659.html</trackback:ping><description>&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT color=#808080&gt;&lt;FONT color=#006400&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#808080&gt;&lt;FONT color=#006400&gt;'把所有的字符，二进制数据转换为64个可打印字符&lt;BR&gt;&lt;/FONT&gt;VERSION 1.0 CLASS&lt;BR&gt;BEGIN&lt;BR&gt;&amp;nbsp; MultiUse = -1&amp;nbsp; 'True&lt;BR&gt;&amp;nbsp; Persistable = 0&amp;nbsp; 'NotPersistable&lt;BR&gt;&amp;nbsp; DataBindingBehavior = 0&amp;nbsp; 'vbNone&lt;BR&gt;&amp;nbsp; DataSourceBehavior&amp;nbsp; = 0&amp;nbsp; 'vbNone&lt;BR&gt;&amp;nbsp; MTSTransactionMode&amp;nbsp; = 0&amp;nbsp; 'NotAnMTSObject&lt;BR&gt;END&lt;BR&gt;Attribute VB_Name = "CBase64"&lt;BR&gt;Attribute VB_GlobalNameSpace = False&lt;BR&gt;Attribute VB_Creatable = True&lt;BR&gt;Attribute VB_PredeclaredId = False&lt;BR&gt;Attribute VB_Exposed = False&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;Private Const BASE64CHR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="&lt;BR&gt;Private psBase64Chr(0 To 63)&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, ByVal hpvSource As Any, ByVal cbCopy As Long)&lt;BR&gt;Private Declare Sub ZeroMemory Lib "kernel32" Alias _&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "RtlZeroMemory" (dest As Any, ByVal numBytes As Long)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'=============================================================================&lt;BR&gt;'〖名　　称〗:DecodeBase64String&lt;BR&gt;'〖作　　者〗:ttyp&lt;BR&gt;'〖创建日期〗:2004-7-15 20:58:51&lt;BR&gt;'〖备　　注〗:&lt;BR&gt;'〖功　　能〗:解压BASE64字符串&lt;BR&gt;'〖返　　回〗:&lt;BR&gt;'〖参　　数〗:&lt;BR&gt;'=============================================================================&lt;/FONT&gt;&lt;BR&gt;Friend Function DecodeBase64String(str2Decode As String) As String&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lPtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iValue&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iLen&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iCtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Bits(1 To 4)&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strDecode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Output()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iIndex&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lFrom As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lTo As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//除去回车&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; str = Replace(str2Decode, vbCrLf, "")&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//每4个字符一组（4个字符表示3个字）&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For lPtr = 1 To Len(str) Step 4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iLen = 4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For iCtr = 0 To 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//查找字符在BASE64字符串中的位置&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iValue = InStr(1, BASE64CHR, Mid$(str, lPtr + iCtr, 1), vbBinaryCompare)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case iValue&amp;nbsp; 'A~Za~z0~9+/&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 1 To 64:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(iCtr + 1) = iValue - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 65&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '=&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iLen = iCtr&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit For&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//没有发现&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 0: Exit Function&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//转换4个6比特数成为3个8比特数&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(1) = Bits(1) * &amp;amp;H4 + (Bits(2) And &amp;amp;H30) \ &amp;amp;H10&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(2) = (Bits(2) And &amp;amp;HF) * &amp;amp;H10 + (Bits(3) And &amp;amp;H3C) \ &amp;amp;H4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(3) = (Bits(3) And &amp;amp;H3) * &amp;amp;H40 + Bits(4)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt; '//计算数组的起始位置&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lFrom = lTo&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lTo = lTo + (iLen - 1) - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//重新定义输出数组&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReDim Preserve Output(0 To lTo)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For iIndex = lFrom To lTo&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output(iIndex) = Bits(iIndex - lFrom + 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lTo = lTo + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DecodeBase64String = StrConv(Output, vbUnicode)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;End Function&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'=============================================================================&lt;BR&gt;'〖名　　称〗:DecodeBase64Byte&lt;BR&gt;'〖作　　者〗:ttyp&lt;BR&gt;'〖创建日期〗:2004-7-18 21:07:44&lt;BR&gt;'〖备　　注〗:&lt;BR&gt;'〖功　　能〗:解压BASE64字符串为数组&lt;BR&gt;'〖返　　回〗:&lt;BR&gt;'〖参　　数〗:&lt;BR&gt;'=============================================================================&lt;BR&gt;&lt;/FONT&gt;Public Function DecodeBase64Byte(str2Decode As String) As Byte()&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lPtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iValue&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iLen&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iCtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Bits(1 To 4)&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strDecode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Output()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iIndex&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lFrom As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lTo As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//除去回车&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; str = Replace(str2Decode, vbCrLf, "")&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//每4个字符一组（4个字符表示3个字）&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For lPtr = 1 To Len(str) Step 4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iLen = 4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For iCtr = 0 To 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//查找字符在BASE64字符串中的位置&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iValue = InStr(1, BASE64CHR, Mid$(str, lPtr + iCtr, 1), vbBinaryCompare)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case iValue&amp;nbsp; 'A~Za~z0~9+/&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 1 To 64:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(iCtr + 1) = iValue - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 65&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '=&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iLen = iCtr&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit For&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//没有发现&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 0: Exit Function&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//转换4个6比特数成为3个8比特数&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(1) = Bits(1) * &amp;amp;H4 + (Bits(2) And &amp;amp;H30) \ &amp;amp;H10&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(2) = (Bits(2) And &amp;amp;HF) * &amp;amp;H10 + (Bits(3) And &amp;amp;H3C) \ &amp;amp;H4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(3) = (Bits(3) And &amp;amp;H3) * &amp;amp;H40 + Bits(4)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//计算数组的起始位置&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lFrom = lTo&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lTo = lTo + (iLen - 1) - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//重新定义输出数组&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReDim Preserve Output(0 To lTo)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For iIndex = lFrom To lTo&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output(iIndex) = Bits(iIndex - lFrom + 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lTo = lTo + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DecodeBase64Byte = Output&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;End Function&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'=============================================================================&lt;BR&gt;'〖名　　称〗:EncodeBase64Byte&lt;BR&gt;'〖作　　者〗:ttyp&lt;BR&gt;'〖创建日期〗:2004-7-15 21:39:17&lt;BR&gt;'〖备　　注〗:&lt;BR&gt;'〖功　　能〗:转换数组为BASE64的数组&lt;BR&gt;'〖返　　回〗:&lt;BR&gt;'〖参　　数〗:&lt;BR&gt;'=============================================================================&lt;BR&gt;&lt;/FONT&gt;Public Function EncodeBase64Byte(sValue() As Byte) As String&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lCtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lPtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lLen&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim sEncoded&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Bits8(1 To 3)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Bits6(1 To 4)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i As Integer&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//获得3个字符&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sValue = StrConv(str2Encode, vbFromUnicode)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For lCtr = 1 To UBound(sValue) + 1 Step 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If lCtr + i - 2 &amp;lt;= UBound(sValue) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits8(i) = sValue(lCtr + i - 2)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lLen = 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits8(i) = 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lLen = lLen - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//转换字符串为数组，然后转换为4个6位(0-63)&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(1) = (Bits8(1) And &amp;amp;HFC) \ 4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(2) = (Bits8(1) And &amp;amp;H3) * &amp;amp;H10 + (Bits8(2) And &amp;amp;HF0) \ &amp;amp;H10&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(3) = (Bits8(2) And &amp;amp;HF) * 4 + (Bits8(3) And &amp;amp;HC0) \ &amp;amp;H40&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(4) = Bits8(3) And &amp;amp;H3F&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//添加4个新字符&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For lPtr = 1 To lLen + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sEncoded = sEncoded &amp;amp; psBase64Chr(Bits6(lPtr))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '//不足4位，以=填充&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case lLen + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 2: sEncoded = sEncoded &amp;amp; "=="&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 3: sEncoded = sEncoded &amp;amp; "="&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 4:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EncodeBase64Byte = sEncoded&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;End Function&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'=============================================================================&lt;BR&gt;'〖名　　称〗:EncodeBase64String&lt;BR&gt;'〖作　　者〗:ttyp&lt;BR&gt;'〖创建日期〗:2004-7-15 21:24:47&lt;BR&gt;'〖备　　注〗:&lt;BR&gt;'〖功　　能〗:转换字符串为BASE64字符串，转换3个8比特(0 to 255)的字符成为4个6比特(0 to 63),不足以=填充&lt;BR&gt;'〖返　　回〗:&lt;BR&gt;'〖参　　数〗:&lt;BR&gt;'=============================================================================&lt;BR&gt;&lt;/FONT&gt;Friend Function EncodeBase64String(str2Encode As String) As String&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lCtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lPtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lLen&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim sValue()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim sEncoded&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Bits8(1 To 3)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Bits6(1 To 4)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i As Integer&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//获得3个字符&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sValue = StrConv(str2Encode, vbFromUnicode)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For lCtr = 1 To UBound(sValue) + 1 Step 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If lCtr + i - 2 &amp;lt;= UBound(sValue) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits8(i) = sValue(lCtr + i - 2)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lLen = 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits8(i) = 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lLen = lLen - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//转换字符串为数组，然后转换为4个6位(0-63)&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(1) = (Bits8(1) And &amp;amp;HFC) \ 4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(2) = (Bits8(1) And &amp;amp;H3) * &amp;amp;H10 + (Bits8(2) And &amp;amp;HF0) \ &amp;amp;H10&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(3) = (Bits8(2) And &amp;amp;HF) * 4 + (Bits8(3) And &amp;amp;HC0) \ &amp;amp;H40&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(4) = Bits8(3) And &amp;amp;H3F&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//添加4个新字符&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For lPtr = 1 To lLen + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sEncoded = sEncoded &amp;amp; psBase64Chr(Bits6(lPtr))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//不足4位，以=填充&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case lLen + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 2: sEncoded = sEncoded &amp;amp; "=="&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 3: sEncoded = sEncoded &amp;amp; "="&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 4:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EncodeBase64String = sEncoded&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;End Function&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;Private Sub Class_Initialize()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iPtr&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'/////////初始化 BASE64数组&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For iPtr = 0 To 63&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; psBase64Chr(iPtr) = Mid$(BASE64CHR, iPtr + 1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR&gt;End Sub&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#808080&gt;&lt;FONT color=#006400&gt;'把所有的字符，二进制数据转换为64个可打印字符&lt;BR&gt;&lt;/FONT&gt;VERSION 1.0 CLASS&lt;BR&gt;BEGIN&lt;BR&gt;&amp;nbsp; MultiUse = -1&amp;nbsp; 'True&lt;BR&gt;&amp;nbsp; Persistable = 0&amp;nbsp; 'NotPersistable&lt;BR&gt;&amp;nbsp; DataBindingBehavior = 0&amp;nbsp; 'vbNone&lt;BR&gt;&amp;nbsp; DataSourceBehavior&amp;nbsp; = 0&amp;nbsp; 'vbNone&lt;BR&gt;&amp;nbsp; MTSTransactionMode&amp;nbsp; = 0&amp;nbsp; 'NotAnMTSObject&lt;BR&gt;END&lt;BR&gt;Attribute VB_Name = "CBase64"&lt;BR&gt;Attribute VB_GlobalNameSpace = False&lt;BR&gt;Attribute VB_Creatable = True&lt;BR&gt;Attribute VB_PredeclaredId = False&lt;BR&gt;Attribute VB_Exposed = False&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;Private Const BASE64CHR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="&lt;BR&gt;Private psBase64Chr(0 To 63)&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, ByVal hpvSource As Any, ByVal cbCopy As Long)&lt;BR&gt;Private Declare Sub ZeroMemory Lib "kernel32" Alias _&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "RtlZeroMemory" (dest As Any, ByVal numBytes As Long)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'=============================================================================&lt;BR&gt;'〖名　　称〗:DecodeBase64String&lt;BR&gt;'〖作　　者〗:ttyp&lt;BR&gt;'〖创建日期〗:2004-7-15 20:58:51&lt;BR&gt;'〖备　　注〗:&lt;BR&gt;'〖功　　能〗:解压BASE64字符串&lt;BR&gt;'〖返　　回〗:&lt;BR&gt;'〖参　　数〗:&lt;BR&gt;'=============================================================================&lt;/FONT&gt;&lt;BR&gt;Friend Function DecodeBase64String(str2Decode As String) As String&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lPtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iValue&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iLen&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iCtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Bits(1 To 4)&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strDecode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Output()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iIndex&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lFrom As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lTo As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//除去回车&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; str = Replace(str2Decode, vbCrLf, "")&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//每4个字符一组（4个字符表示3个字）&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For lPtr = 1 To Len(str) Step 4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iLen = 4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For iCtr = 0 To 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//查找字符在BASE64字符串中的位置&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iValue = InStr(1, BASE64CHR, Mid$(str, lPtr + iCtr, 1), vbBinaryCompare)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case iValue&amp;nbsp; 'A~Za~z0~9+/&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 1 To 64:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(iCtr + 1) = iValue - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 65&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '=&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iLen = iCtr&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit For&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//没有发现&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 0: Exit Function&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//转换4个6比特数成为3个8比特数&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(1) = Bits(1) * &amp;amp;H4 + (Bits(2) And &amp;amp;H30) \ &amp;amp;H10&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(2) = (Bits(2) And &amp;amp;HF) * &amp;amp;H10 + (Bits(3) And &amp;amp;H3C) \ &amp;amp;H4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(3) = (Bits(3) And &amp;amp;H3) * &amp;amp;H40 + Bits(4)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt; '//计算数组的起始位置&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lFrom = lTo&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lTo = lTo + (iLen - 1) - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//重新定义输出数组&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReDim Preserve Output(0 To lTo)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For iIndex = lFrom To lTo&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output(iIndex) = Bits(iIndex - lFrom + 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lTo = lTo + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DecodeBase64String = StrConv(Output, vbUnicode)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;End Function&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'=============================================================================&lt;BR&gt;'〖名　　称〗:DecodeBase64Byte&lt;BR&gt;'〖作　　者〗:ttyp&lt;BR&gt;'〖创建日期〗:2004-7-18 21:07:44&lt;BR&gt;'〖备　　注〗:&lt;BR&gt;'〖功　　能〗:解压BASE64字符串为数组&lt;BR&gt;'〖返　　回〗:&lt;BR&gt;'〖参　　数〗:&lt;BR&gt;'=============================================================================&lt;BR&gt;&lt;/FONT&gt;Public Function DecodeBase64Byte(str2Decode As String) As Byte()&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lPtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iValue&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iLen&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iCtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Bits(1 To 4)&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strDecode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Output()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iIndex&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lFrom As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lTo As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//除去回车&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; str = Replace(str2Decode, vbCrLf, "")&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//每4个字符一组（4个字符表示3个字）&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For lPtr = 1 To Len(str) Step 4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iLen = 4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For iCtr = 0 To 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//查找字符在BASE64字符串中的位置&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iValue = InStr(1, BASE64CHR, Mid$(str, lPtr + iCtr, 1), vbBinaryCompare)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case iValue&amp;nbsp; 'A~Za~z0~9+/&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 1 To 64:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(iCtr + 1) = iValue - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 65&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '=&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iLen = iCtr&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit For&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//没有发现&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 0: Exit Function&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//转换4个6比特数成为3个8比特数&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(1) = Bits(1) * &amp;amp;H4 + (Bits(2) And &amp;amp;H30) \ &amp;amp;H10&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(2) = (Bits(2) And &amp;amp;HF) * &amp;amp;H10 + (Bits(3) And &amp;amp;H3C) \ &amp;amp;H4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits(3) = (Bits(3) And &amp;amp;H3) * &amp;amp;H40 + Bits(4)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//计算数组的起始位置&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lFrom = lTo&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lTo = lTo + (iLen - 1) - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//重新定义输出数组&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReDim Preserve Output(0 To lTo)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For iIndex = lFrom To lTo&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output(iIndex) = Bits(iIndex - lFrom + 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lTo = lTo + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DecodeBase64Byte = Output&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;End Function&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'=============================================================================&lt;BR&gt;'〖名　　称〗:EncodeBase64Byte&lt;BR&gt;'〖作　　者〗:ttyp&lt;BR&gt;'〖创建日期〗:2004-7-15 21:39:17&lt;BR&gt;'〖备　　注〗:&lt;BR&gt;'〖功　　能〗:转换数组为BASE64的数组&lt;BR&gt;'〖返　　回〗:&lt;BR&gt;'〖参　　数〗:&lt;BR&gt;'=============================================================================&lt;BR&gt;&lt;/FONT&gt;Public Function EncodeBase64Byte(sValue() As Byte) As String&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lCtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lPtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lLen&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim sEncoded&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Bits8(1 To 3)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Bits6(1 To 4)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i As Integer&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//获得3个字符&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sValue = StrConv(str2Encode, vbFromUnicode)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For lCtr = 1 To UBound(sValue) + 1 Step 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If lCtr + i - 2 &amp;lt;= UBound(sValue) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits8(i) = sValue(lCtr + i - 2)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lLen = 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits8(i) = 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lLen = lLen - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//转换字符串为数组，然后转换为4个6位(0-63)&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(1) = (Bits8(1) And &amp;amp;HFC) \ 4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(2) = (Bits8(1) And &amp;amp;H3) * &amp;amp;H10 + (Bits8(2) And &amp;amp;HF0) \ &amp;amp;H10&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(3) = (Bits8(2) And &amp;amp;HF) * 4 + (Bits8(3) And &amp;amp;HC0) \ &amp;amp;H40&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(4) = Bits8(3) And &amp;amp;H3F&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//添加4个新字符&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For lPtr = 1 To lLen + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sEncoded = sEncoded &amp;amp; psBase64Chr(Bits6(lPtr))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '//不足4位，以=填充&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case lLen + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 2: sEncoded = sEncoded &amp;amp; "=="&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 3: sEncoded = sEncoded &amp;amp; "="&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 4:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EncodeBase64Byte = sEncoded&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;End Function&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'=============================================================================&lt;BR&gt;'〖名　　称〗:EncodeBase64String&lt;BR&gt;'〖作　　者〗:ttyp&lt;BR&gt;'〖创建日期〗:2004-7-15 21:24:47&lt;BR&gt;'〖备　　注〗:&lt;BR&gt;'〖功　　能〗:转换字符串为BASE64字符串，转换3个8比特(0 to 255)的字符成为4个6比特(0 to 63),不足以=填充&lt;BR&gt;'〖返　　回〗:&lt;BR&gt;'〖参　　数〗:&lt;BR&gt;'=============================================================================&lt;BR&gt;&lt;/FONT&gt;Friend Function EncodeBase64String(str2Encode As String) As String&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lCtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lPtr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lLen&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim sValue()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim sEncoded&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Bits8(1 To 3)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Bits6(1 To 4)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As Byte&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i As Integer&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//获得3个字符&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sValue = StrConv(str2Encode, vbFromUnicode)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For lCtr = 1 To UBound(sValue) + 1 Step 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If lCtr + i - 2 &amp;lt;= UBound(sValue) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits8(i) = sValue(lCtr + i - 2)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lLen = 3&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits8(i) = 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lLen = lLen - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'//转换字符串为数组，然后转换为4个6位(0-63)&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(1) = (Bits8(1) And &amp;amp;HFC) \ 4&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(2) = (Bits8(1) And &amp;amp;H3) * &amp;amp;H10 + (Bits8(2) And &amp;amp;HF0) \ &amp;amp;H10&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(3) = (Bits8(2) And &amp;amp;HF) * 4 + (Bits8(3) And &amp;amp;HC0) \ &amp;amp;H40&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bits6(4) = Bits8(3) And &amp;amp;H3F&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//添加4个新字符&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For lPtr = 1 To lLen + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sEncoded = sEncoded &amp;amp; psBase64Chr(Bits6(lPtr))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'//不足4位，以=填充&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case lLen + 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 2: sEncoded = sEncoded &amp;amp; "=="&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 3: sEncoded = sEncoded &amp;amp; "="&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 4:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EncodeBase64String = sEncoded&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=宋体 color=#000080 size=2&gt;End Function&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;Private Sub Class_Initialize()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iPtr&amp;nbsp;&amp;nbsp;&amp;nbsp; As Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#006400&gt;'/////////初始化 BASE64数组&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For iPtr = 0 To 63&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; psBase64Chr(iPtr) = Mid$(BASE64CHR, iPtr + 1, 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR&gt;End Sub&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src ="http://blog.yesky.com/Blog/yedeyingzi/aggbug/40659.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>夜的影子</dc:creator><title>Ini操作的类，经常用的</title><link>http://blog.yesky.com/blog/yedeyingzi/archive/2004/11/05/40658.html</link><pubDate>Fri, 05 Nov 2004 04:33:00 GMT</pubDate><guid /><wfw:comment>http://blog.yesky.com/Blog/yedeyingzi/comments/40658.html</wfw:comment><comments>#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.yesky.com/Blog/yedeyingzi/comments/commentRss/40658.html</wfw:commentRss><trackback:ping>http://blog.yesky.com/Blog/yedeyingzi/services/trackbacks/40658.html</trackback:ping><description>&lt;P&gt;&lt;FONT face=宋体 size=2&gt;&lt;FONT color=#006400&gt;'本来是点睛工作室的BAS模块，我给封装成了类，也没有仔细研究，简单修改了一下，增加了两个删除的方法&lt;BR&gt;'但是没有仔细测试,有知道的帮忙改改,谢谢~~~&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT color=#000080&gt;Option Explicit&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#006400&gt;'点睛工作室（主页：llf.126.com）（E-Mail：&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="mailto:llfhome@126.com"&gt;&lt;FONT face=宋体 color=#006400 size=2&gt;llfhome@126.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=宋体 size=2&gt;&lt;FONT color=#006400&gt;）&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#000080&gt;Private Declare Function GetPrivateProfileString Lib "KERNEL32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As Any, ByVal lpKeyName As Any, ByVal lpDefault As Any, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long&lt;BR&gt;Private Declare Function WritePrivateProfileString Lib "KERNEL32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long&lt;BR&gt;Private Declare Function GetWindowsDirectory Lib "KERNEL32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long&lt;BR&gt;Private Declare Function WritePrivateProfileSection Lib "KERNEL32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;Private mvar路径文件名 As String&lt;BR&gt;Private mvar分类 As String&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;
&lt;HR id=null&gt;
&lt;FONT face=宋体 color=#000080 size=2&gt;Public Property Let 分类(ByVal vData As String)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mvar分类 = vData&lt;BR&gt;End Property&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;Public Property Get 分类() As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 分类 = mvar分类&lt;BR&gt;End Property&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face=宋体 size=2&gt;&lt;FONT color=#000080&gt;Public Property Let 路径文件名(ByVal vData As String)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mvar路径文件名 = vData&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#000080&gt;End Property&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;Public Property Get 路径文件名() As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 路径文件名 = mvar路径文件名&lt;BR&gt;End Property&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;
&lt;HR id=null&gt;
&lt;BR&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;Private Function Api字符串还原(原字符串 As String) As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim 长度 As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 长度 = InStr(1, 原字符串, vbNullChar) - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If 长度 &amp;lt; 0 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Api字符串还原 = 原字符串&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Api字符串还原 = Left$(原字符串, 长度)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;End Function&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;
&lt;HR id=null&gt;
&lt;BR&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;Public Function 属性读(属性 As String, Optional ByVal 分类名 As String = "", Optional ByVal 缺省值 As String = "") As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 属性读 = Space(256)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim length As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim C As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If 分类名 = "" Then C = mvar分类 Else C = 分类名: mvar分类 = 分类名&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; length = GetPrivateProfileString(C, 属性, 缺省值, 属性读, 255, mvar路径文件名)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If length &amp;lt;&amp;gt; 0 Then 属性读 = Api字符串还原(属性读) Else 属性读 = 缺省值&lt;BR&gt;End Function&lt;BR&gt;
&lt;HR id=null&gt;
&lt;/FONT&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;Public Sub 属性写(属性 As String, ByVal 值 As String, Optional ByVal 分类名 As String = "")&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim C As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If 分类名 = "" Then C = mvar分类 Else C = 分类名: mvar分类 = 分类名&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If WritePrivateProfileString(C, 属性, 值, mvar路径文件名) = 0 Then Err.Raise vbObjectError + 3, , "INI模块.属性写.写入INI文件"&lt;BR&gt;End Sub&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;
&lt;HR id=null&gt;
&lt;BR&gt;&lt;FONT face=宋体 size=2&gt;&lt;FONT color=#000080&gt;Public Sub INISave窗口(窗口 As Form, Optional ByVal m分类名 As String = "SYSTEM")&lt;BR&gt;&amp;nbsp;&amp;nbsp; Dim sSaveKey As String&lt;BR&gt;&amp;nbsp;&amp;nbsp; Dim sSaveDefault As String&lt;BR&gt;&amp;nbsp;&amp;nbsp; On Error GoTo SaveError&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;BR&gt;With 窗口&lt;BR&gt;&amp;nbsp;&amp;nbsp; If Not (窗口.WindowState = vbMinimized) Then&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'如果窗体没有最小化&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#000080&gt;Call 属性写("Maximised", ((窗口.WindowState = vbMaximized) * -1), m分类名)&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#000080&gt;If (窗口.WindowState &amp;lt;&amp;gt; vbMaximized) Then&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'如果没有最大化&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#000080&gt;Call 属性写("Left", .Left)&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'键&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#000080&gt;Call 属性写("Top", .Top)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call 属性写("Width", .Width)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call 属性写("Height", .Height)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp; Exit Sub&lt;BR&gt;End With&lt;BR&gt;SaveError:&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'错误处理&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;End Sub&lt;BR&gt;
&lt;HR id=null&gt;
Public Sub INILoad窗口(窗口 As Form, Optional ByVal m分类名 As String = "SYSTEM")&lt;BR&gt;Dim L As Single, T As Single, H As Single, W As Single, Win As Long&lt;BR&gt;Win = 属性读("Maximised", m分类名)&lt;BR&gt;If Win = 0 Then&lt;BR&gt;&amp;nbsp; L = 属性读("Left", , 0)&lt;BR&gt;&amp;nbsp; T = 属性读("Top", , 0)&lt;BR&gt;&amp;nbsp; W = 属性读("Width", , 300)&lt;BR&gt;&amp;nbsp; H = 属性读("Height", , 1000)&lt;BR&gt;&amp;nbsp; 窗口.Move L, T, W, H&lt;BR&gt;&amp;nbsp;Else&lt;BR&gt;&amp;nbsp; 窗口.WindowState = Win&lt;BR&gt;End If&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 color=#000080 size=2&gt;End Sub&lt;BR&gt;
&lt;HR id=null&gt;
&lt;/FONT&gt;&lt;FONT face=宋体 size=2&gt;&lt;FONT color=#000080&gt;Public Sub 删除属性(属性 As String, ByVal 分类名 As String)&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'删除键&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#000080&gt;Dim m_lLastReturnCode As Long&lt;BR&gt;&amp;nbsp;m_lLastReturnCode = WritePrivateProfileString(分类名, 属性, 0&amp;amp;, mvar路径文件名)&lt;BR&gt;End Sub&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;
&lt;HR id=null&gt;
&lt;BR&gt;&lt;FONT face=宋体 size=2&gt;&lt;FONT color=#000080&gt;Public Sub 删除小节(ByVal 分类名 As String)&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#006400&gt;'删除小节&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#000080&gt;Dim m_lLastReturnCode As Long&lt;BR&gt;&amp;nbsp;&amp;nbsp; m_lLastReturnCode = WritePrivateProfileString(分类名, 0&amp;amp;, 0&amp;amp;, mvar路径文件名)&lt;BR&gt;End Sub&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=宋体 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://blog.yesky.com/Blog/yedeyingzi/aggbug/40658.html" width = "1" height = "1" /&gt;</description></item></channel></rss>