亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? mtkunrar.bas

?? VB調(diào)用UNRAR.DLL解壓RAR壓縮包 UNRAR.DLL在包里
?? BAS
字號(hào):
Attribute VB_Name = "MTKUnrar"
Option Explicit

Const RAR_DLL_VERSION As Integer = 2
Const RAR_CONTINUE As Integer = 1
Const RAR_ABORT As Integer = -1

Public Enum ERAR
    ERAR_END_ARCHIVE = 10
    ERAR_NO_MEMORY
    ERAR_BAD_DATA
    ERAR_BAD_ARCHIVE
    ERAR_UNKNOWN_FORMAT
    ERAR_EOPEN
    ERAR_ECREATE
    ERAR_ECLOSE
    ERAR_EREAD
    ERAR_EWRITE
    ERAR_SMALL_BUF
    ' Private error definitions
    ERAR_DEST_ARR_TO_SMALL = 5000
    ERAR_UNKNOWN_DESTINATION
    ERAR_UNKNOWN_ERROR
End Enum

Public Enum RAR_OM
    RAR_OM_LIST = 0
    RAR_OM_EXTRACT
End Enum
 
Public Enum RAR
    RAR_SKIP = 0
    RAR_TEST
    RAR_EXTRACT
End Enum

Public Enum UCM
    UCM_CHANGEVOLUME = 0
    UCM_PROCESSDATA
    UCM_NEEDPASSWORD
End Enum

Public Enum RAR_VOL
    RAR_VOL_ASK = 0
    RAR_VOL_NOTIFY
End Enum

Public Enum RarOperations
    OP_EXTRACT = 0
    OP_TEST
    OP_LIST
End Enum

Public Type RARHeaderData
    ArcName As String * 260
    FileName As String * 260
    flags As Long
    PackSize As Long
    UnpSize As Long
    HostOS As Long
    FileCRC As Long
    FileTime As Long
    UnpVer As Long
    Method As Long
    FileAttr As Long
    CmtBuf As String
    CmtBufSize As Long
    CmtSize As Long
    CmtState As Long
End Type

Public Type RARHeaderDataEx
    ArcName As String * 1024
    ArcNameW As String * 2048
    FileName As String * 1024
    FileNameW As String * 2048
    flags As Long
    PackSize As Long
    PackSizeHigh As Long
    UnpSize As Long
    UnpSizeHigh As Long
    HostOS As Long
    FileCRC As Long
    FileTime As Long
    UnpVer As Long
    Method As Long
    FileAttr As Long
    CmtBuf As String
    CmtBufSize As Long
    CmtSize As Long
    CmtState As Long
    Reserved(1024) As Integer
End Type

Public Type RAROpenArchiveData
    ArcName As String
    OpenMode As Long
    OpenResult As Long
    CmtBuf As String
    CmtBufSize As Long
    CmtSize As Long
    CmtState As Long
End Type

Public Declare Function RAROpenArchive Lib "unrar.dll" (ByRef ArchiveData As RAROpenArchiveData) As Long
Public Declare Function RARCloseArchive Lib "unrar.dll" (ByVal hArcData As Long) As Long
Public Declare Function RARReadHeader Lib "unrar.dll" (ByVal hArcData As Long, ByRef HeaderData As RARHeaderData) As Long
Public Declare Function RARReadHeaderEx Lib "unrar.dll" (ByVal hArcData As Long, ByRef HeaderData As RARHeaderDataEx) As Long
Public Declare Function RARProcessFile Lib "unrar.dll" (ByVal hArcData As Long, ByVal Operation As Long, ByVal DestPath As String, ByVal DestName As String) As Long
Public Declare Sub RARSetCallback Lib "unrar.dll" (ByVal hArcData As Long, ByVal CallbackProc As Long, ByVal UserData As Long)
Public Declare Sub RARSetPassword Lib "unrar.dll" (ByVal hArcData As Long, ByVal Password As String)
Public Declare Function RARGetDllVersion Lib "unrar.dll" () As Long

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpDest As Any, lpSource As Any, ByVal cBytes As Long)
Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long
Private Declare Function lstrlenA Lib "kernel32" (ByVal lpString As Long) As Long
'

Public Function MakeDouble(ByVal HiWord As Long, ByVal LoWord As Long) As Double
    MakeDouble = CDbl(LoWord) + CDbl(HiWord) * 4294967296#
End Function

Public Function MyCallBack(ByVal msg As Long, ByVal UserData As Long, ByVal P1 As Long, ByVal P2 As Long) As Integer
    Dim strPassword As String
    Dim strNewVolume As String

    If msg = UCM_CHANGEVOLUME Then
        If P2 = RAR_VOL_ASK Then
            strNewVolume = CallFunctionFromUserdata(UserData).FindMissingFile(PointerToStringA(P1)) & Chr(0)
            If Len(strNewVolume) > 1 Then
                CopyMemory ByVal P1, ByVal StrPtr(StrConv(strNewVolume, vbFromUnicode)), Len(strNewVolume)
                MyCallBack = RAR_CONTINUE
            Else
                MyCallBack = RAR_ABORT
            End If
        ElseIf P2 = RAR_VOL_NOTIFY Then
            If CallFunctionFromUserdata(UserData).NextVolume(PointerToStringA(P1)) Then
                MyCallBack = RAR_CONTINUE
            Else
                MyCallBack = RAR_ABORT
            End If
        End If

    ElseIf msg = UCM_PROCESSDATA Then
        Call CallFunctionFromUserdata(UserData).ProcessingLength(P2)
'        Debug.Print "Size of data = " & P2
'        Debug.Print HexDump(P1, P2)
        MyCallBack = RAR_CONTINUE

    ElseIf msg = UCM_NEEDPASSWORD Then
        strPassword = CallFunctionFromUserdata(UserData).MissingPassword() & Chr(0)
        If Len(strPassword) = 1 Then
            ' If the user supplies an empty password, we have to generate a fake one, else we
            ' won't receieve a CRC error message from RARProcessFile. Bug?
            strPassword = "CTKUnrar" & Now() & Chr(0)
        End If
        CopyMemory ByVal P1, ByVal StrPtr(StrConv(strPassword, vbFromUnicode)), IIf(Len(strPassword) > P2, P2, Len(strPassword))
    Else
        Debug.Print "Unknown msg"
    End If
End Function

' resolve the passed object pointer into an object reference.
' DO NOT PRESS THE "STOP" BUTTON WHILE IN THIS PROCEDURE!
Private Function CallFunctionFromUserdata(ByVal UserData As Long) As CTKUnrar
    Dim CwdEx As CTKUnrar

    CopyMemory CwdEx, UserData, 4&
    Set CallFunctionFromUserdata = CwdEx
    CopyMemory CwdEx, 0&, 4&
End Function

Public Function PointerToStringW(ByVal lpString As Long) As String
   Dim sText As String
   Dim lLength As Long

   If lpString Then
      lLength = lstrlenW(lpString)
      If lLength Then
         sText = Space$(lLength)
         CopyMemory ByVal StrPtr(sText), ByVal lpString, lLength * 2
      End If
   End If
   PointerToStringW = sText
End Function

Public Function IsUnicode(s As String) As Boolean
    IsUnicode = Not (Len(s) = LenB(s))
End Function

Public Function PointerToStringA(lpStringA As Long) As String
   Dim Buffer() As Byte
   Dim nLen As Long

   If lpStringA Then
      nLen = lstrlenA(ByVal lpStringA)
      If nLen Then
         ReDim Buffer(0 To (nLen - 1)) As Byte
         CopyMemory Buffer(0), ByVal lpStringA, nLen
         PointerToStringA = StrConv(Buffer, vbUnicode)
      End If
   End If
End Function

Public Function PointerToDWord(ByVal lpDWord As Long) As Long
   Dim nRet As Long
   If lpDWord Then
      CopyMemory nRet, ByVal lpDWord, 4
      PointerToDWord = nRet
   End If
End Function

Private Function HexDump(ByVal lpBuffer As Long, ByVal nBytes As Long) As String
   Dim i As Long, j As Long
   Dim ba() As Byte
   Dim sRet As String
   Dim dBytes As Long
   
   ' Size recieving buffer as requested,
   ' then sling memory block to buffer.
   ReDim ba(0 To nBytes - 1) As Byte
   Call CopyMemory(ba(0), ByVal lpBuffer, nBytes)
   sRet = String(81, "=") & vbCrLf & _
          "lpBuffer = &h" & Hex$(lpBuffer) & _
          "   nBytes = " & nBytes
   
   ' Buffer may well not be even multiple of 16.
   ' If not, we need to round up.
   If nBytes Mod 16 = 0 Then
      dBytes = nBytes
   Else
      dBytes = ((nBytes \ 16) + 1) * 16
   End If
   
   ' Loop through buffer, displaying 16 bytes per
   ' row. Preface with offset, trail with ASCII.
   For i = 0 To (dBytes - 1)
      ' Add address and offset from beginning
      ' if at the start of new row.
      If (i Mod 16) = 0 Then
         sRet = sRet & vbCrLf & Right$("00000000" _
                & Hex$(lpBuffer + i), 8) & "  " & _
                Right$("0000" & Hex$(i), 4) & "  "
      End If
      
      ' Append this byte.
      If i < nBytes Then
         sRet = sRet & Right$("0" & Hex(ba(i)), 2)
      Else
         sRet = sRet & "  "
      End If
      
      ' Special handling...
      If (i Mod 16) = 15 Then
         ' Display last 16 characters in
         ' ASCII if at end of row.
         sRet = sRet & "  "
         For j = (i - 15) To i
            If j < nBytes Then
               If ba(j) >= 32 And ba(j) <= 126 Then
                  sRet = sRet & Chr$(ba(j))
               Else
                  sRet = sRet & "."
               End If
            End If
         Next j
      ElseIf (i Mod 8) = 7 Then
         ' Insert hyphen between 8th and
         ' 9th bytes of hex display.
         sRet = sRet & "-"
      Else
         ' Insert space between other bytes.
         sRet = sRet & " "
      End If
   Next i
   HexDump = sRet & vbCrLf & String(81, "=") & vbCrLf
End Function

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝袜诱惑制服诱惑色一区在线观看| 国产乱子伦视频一区二区三区| 午夜电影久久久| 国产精品 日产精品 欧美精品| 日韩欧美一级二级三级| 亚洲视频中文字幕| 国产成人免费在线视频| 7777精品伊人久久久大香线蕉超级流畅 | 国产一区二区三区在线观看免费视频 | 欧美专区在线观看一区| 久久亚洲一区二区三区明星换脸| 亚洲国产精品一区二区www| 风间由美一区二区av101| 日韩精品中文字幕一区二区三区 | 国产精品视频观看| 美美哒免费高清在线观看视频一区二区 | 亚洲天堂a在线| 国产露脸91国语对白| 日韩视频在线永久播放| 亚洲国产精品久久久久婷婷884 | 在线播放一区二区三区| 亚洲精选视频免费看| 成人av在线一区二区三区| 亚洲精品一区二区三区影院| 婷婷综合五月天| 在线观看网站黄不卡| 亚洲天堂a在线| 97久久久精品综合88久久| 国产欧美一区二区三区在线看蜜臀| 激情五月婷婷综合网| 欧美tickling挠脚心丨vk| 热久久一区二区| 精品剧情在线观看| 六月丁香婷婷久久| 欧美大片一区二区三区| 麻豆一区二区三| 久久综合九色综合欧美亚洲| 韩国一区二区三区| 欧美成人综合网站| 韩国成人精品a∨在线观看| 久久亚洲一级片| voyeur盗摄精品| 亚洲欧美一区二区三区孕妇| 日本高清成人免费播放| 亚洲成人动漫精品| 日韩欧美的一区二区| 国产成人亚洲综合a∨婷婷图片 | 精品国产免费一区二区三区四区| 久久精品理论片| 欧美极品少妇xxxxⅹ高跟鞋 | 国产精品久久久久aaaa樱花| 日韩三级电影网址| 视频一区欧美日韩| 欧美成人激情免费网| 国产河南妇女毛片精品久久久 | 成人精品一区二区三区四区| 国产精品三级在线观看| 欧美在线免费观看视频| 青青草精品视频| 国产视频一区在线播放| 色综合欧美在线视频区| 日韩国产欧美一区二区三区| 久久久99精品免费观看| 91久久一区二区| 经典三级在线一区| 亚洲欧洲性图库| 日韩欧美精品在线视频| 成人国产亚洲欧美成人综合网 | 欧美精品精品一区| 国产另类ts人妖一区二区| 亚洲人吸女人奶水| 精品成人a区在线观看| av电影在线观看不卡| 日韩av成人高清| 亚洲图片你懂的| 精品美女一区二区三区| 在线观看av一区二区| 国产一区二区精品久久99| 一区二区三区免费观看| 久久先锋影音av鲁色资源| 色欧美片视频在线观看| 久久电影网站中文字幕| 亚洲精品一二三| 中文字幕乱码日本亚洲一区二区| 欧美日韩午夜影院| 99久久精品久久久久久清纯| 国产综合久久久久久久久久久久| 亚洲激情自拍视频| 国产精品你懂的在线| 精品人在线二区三区| 欧美日韩日日摸| 一道本成人在线| 国产.欧美.日韩| 精品一区二区国语对白| 丝袜亚洲另类欧美综合| 一区二区三区中文字幕在线观看| 国产欧美一区二区三区网站| 精品国产一区久久| 欧美久久久一区| 欧美性猛片xxxx免费看久爱| 99国内精品久久| 盗摄精品av一区二区三区| 韩国女主播成人在线| 毛片不卡一区二区| 日韩高清一级片| 午夜伦理一区二区| 亚洲影视在线播放| 亚洲黄色录像片| 亚洲一区二区三区中文字幕在线 | 91精品1区2区| 色综合中文字幕国产 | 国产精品丝袜一区| 欧美激情综合五月色丁香小说| 久久久电影一区二区三区| 久久久亚洲精品石原莉奈| 亚洲精品一区二区三区在线观看 | 91精品国产综合久久精品性色| 91国产福利在线| 欧美三级日韩在线| 欧美另类变人与禽xxxxx| 欧美日韩国产免费| 91麻豆精品国产自产在线观看一区 | av电影在线观看完整版一区二区| 成人一级片在线观看| 成人精品视频一区二区三区 | 中文字幕日本不卡| 综合欧美亚洲日本| 亚洲一区二区三区三| 日韩一区精品视频| 激情亚洲综合在线| 波多野结衣的一区二区三区| 色婷婷精品大在线视频| 色婷婷av久久久久久久| 欧美日本一区二区| 欧美变态tickle挠乳网站| 国产欧美一区二区精品仙草咪| 国产精品天天看| 亚洲一区日韩精品中文字幕| 午夜av区久久| 国产揄拍国内精品对白| 床上的激情91.| 欧美日韩国产经典色站一区二区三区| 欧美一区二区三区婷婷月色 | 成人精品在线视频观看| 色婷婷国产精品综合在线观看| 91超碰这里只有精品国产| 日韩三级电影网址| 国产精品久久久久久久久果冻传媒| 中文字幕亚洲不卡| 天天综合色天天| 成人免费av资源| 欧美一区2区视频在线观看| 国产欧美精品一区| 天天色综合天天| 国产成人无遮挡在线视频| 在线观看一区二区精品视频| 精品欧美一区二区在线观看| 日韩一区在线播放| 久久精品国产99国产精品| 91美女片黄在线观看91美女| 日韩一区二区三区免费看 | 国产亚洲精品中文字幕| 樱花草国产18久久久久| 久久精品免费观看| 色综合天天做天天爱| 久久久精品国产99久久精品芒果| 亚洲国产综合色| av不卡免费在线观看| 欧美成人乱码一区二区三区| 亚洲综合激情小说| 成人中文字幕电影| 26uuu国产电影一区二区| 亚洲mv大片欧洲mv大片精品| 波多野结衣亚洲| 国产无人区一区二区三区| 免费高清在线一区| 欧美日韩一区 二区 三区 久久精品| 国产精品区一区二区三区| 激情综合亚洲精品| 日韩一级免费观看| 视频一区视频二区中文| 色狠狠av一区二区三区| 欧美国产日韩精品免费观看| 老司机精品视频在线| 91精品国产91久久综合桃花| 一二三四区精品视频| 波多野结衣中文一区| 欧美经典三级视频一区二区三区| 久久精品国产澳门| 精品国产乱码久久久久久浪潮 | 国产大陆a不卡| 日韩女优制服丝袜电影| 天天综合网 天天综合色| 欧洲av一区二区嗯嗯嗯啊| 亚洲女同ⅹxx女同tv| av电影在线不卡| 亚洲另类在线一区| 在线观看国产一区二区| 亚洲与欧洲av电影| 欧美日韩免费不卡视频一区二区三区 |