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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? typelib.bas

?? 利用windows的API來注冊自動OCX
?? BAS
字號:
Attribute VB_Name = "mTypeLib"
Option Explicit
'
' Brad Martinez, http://www.mvps.org
'
Declare Function LoadTypeLib Lib "oleaut32" _
                              (ByVal szFileName As String, _
                              lplptlib As Any) As Long   ' lplptlib As Long

Declare Function RegisterTypeLib Lib "oleaut32" _
                              (ByVal ptlib As Any, _
                              ByVal szFullPath As String, _
                              ByVal szHelpDir As String) As Long

Declare Function UnRegisterTypeLib Lib "oleaut32" _
                              (GUID As GUID, _
                              ByVal wVerMajor As Long, _
                              ByVal wVerMinor As Long, _
                              ByVal lcid As Long, _
                              ByVal SYSKIND As SYSKIND) As Long

Public Const S_OK = 0   ' indicates successful HRESULT

' "Error accessing the OLE registry." Typically means that
' the GUID passed to UnRegisterTypeLib wasn't found in
' the registry (i.e the typelib was already unregistered)
Public Const TYPE_E_REGISTRYACCESS = &H8002801C

Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, pSource As Any, ByVal dwLength As Long)
Declare Function LocalAlloc Lib "kernel32" (ByVal uFlags As Long, ByVal uBytes As Long) As Long
Declare Function LocalSize Lib "kernel32" (ByVal hMem As Long) As Long
Declare Function LocalFree Lib "kernel32" (ByVal hMem As Long) As Long

' LocalAlloc uFlags values
Public Const LMEM_FIXED = &H0
Public Const LMEM_ZEROINIT = &H40
Public Const LPTR = (LMEM_FIXED Or LMEM_ZEROINIT)

Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" _
                            (ByVal dwFlags As FM_dwFlags, _
                            lpSource As Any, _
                            ByVal dwMessageId As Long, _
                            ByVal dwLanguageId As Long, _
                            ByVal lpBuffer As String, _
                            ByVal nSize As Long, _
                            Arguments As Any) As Long
  
Public Enum FM_dwFlags
'  FORMAT_MESSAGE_ALLOCATE_BUFFER = &H100
'  FORMAT_MESSAGE_ARGUMENT_ARRAY = &H2000
'  FORMAT_MESSAGE_FROM_HMODULE = &H800
'  FORMAT_MESSAGE_FROM_STRING = &H400
  FORMAT_MESSAGE_FROM_SYSTEM = &H1000
  FORMAT_MESSAGE_IGNORE_INSERTS = &H200
  FORMAT_MESSAGE_MAX_WIDTH_MASK = &HFF
End Enum

' FormatMessage dwLanguageId value
Public Const LANG_USER_DEFAULT = &H400&
'

' Registers the specified typelib.

'   sTypelibPath  - typelib's path, either explicit, or relative if the system can find it
'   sHelpPath      - typelib's help file path, should be explicit
'   fSilent            - specifies that a messagebox will not be shown indicating the result of the function

' Returns True on success, False otherwise.

Public Function RegTypelib(sTypelibPath As String, _
                                            Optional sHelpPath As String = vbNullChar, _
                                            Optional fSilent As Boolean = False) As Boolean
On Error GoTo myerr
  Dim hr As Long
'  Dim lptlb As Long
  Dim itlb As ITypeLib
  'If Dir(sTypelibPath) = "" Then Exit Function
  hr = LoadTypeLib(StrConv(sTypelibPath, vbUnicode), itlb)
  If (hr = S_OK) Then
    hr = RegisterTypeLib(itlb, StrConv(sTypelibPath, vbUnicode), _
                                              StrConv(sHelpPath, vbUnicode))
  End If
    
  If (fSilent = False) Then
    If (hr = S_OK) Then
      'MsgBox "Successfully registered " & sTypelibPath
      RegTypelib = True
    Else
      'MsgBox "Failed to register " & sTypelibPath & _
                    vbCrLf & vbCrLf & GetAPIErrStr(hr), vbExclamation
    End If
  End If
myerr:
End Function

' Unregisters the specified typelib.
'   sTypelibPath  - typelib's path, either explicit, or relative if the system can find it
'   fSilent            - specifies that a messagebox will not be shown indicating the result of the function

' Returns True on success, False otherwise.

Public Function UnregTypelib(sTypelibPath As String, _
                                               Optional fSilent As Boolean = False) As Boolean
On Error GoTo myerr
  Dim hr As Long
  Dim itlb As ITypeLib
  Dim lptlba As Long
  Dim tlba As TLIBATTR
  'If Dir(sTypelibPath) = "" Then Exit Function
  hr = LoadTypeLib(StrConv(sTypelibPath, vbUnicode), itlb)
  If (hr = S_OK) Then

' can't do this since VB DWORD aligns the struct !!! (it has 3 WORD members)
'    If itlb.GetLibAttr(tlba) = S_OK Then
    
    ' allocate memory for the TLIBATTR struct
    lptlba = LocalAlloc(LPTR, Len(tlba))
    hr = Err.LastDllError
    If lptlba Then
      
      ' Fill the struct's pointer
      hr = itlb.GetLibAttr(lptlba)
      If (hr = S_OK) Then
        
        ' Fill the struct from its pointer
        ' VB doesn't DWORD align the struct on this call... (?)
        MoveMemory tlba, ByVal lptlba, Len(tlba)
        
        ' Unregister the typelib using the info from the TLIBATTR struct
        With tlba
          hr = UnRegisterTypeLib(.GUID, .wMajorVerNum, .wMinorVerNum, .lcid, .SYSKIND)
        End With

        ' Don't do this since we're de-allocating
        ' below what we allocated above
'        Call itlb.ReleaseTLibAttr(tlba)
'        Set itlb = Nothing
      End If
      
      Call LocalFree(lptlba)
    
    End If   ' lptlba
  End If   ' LoadTypeLib
  
  If (fSilent = False) Then
    If (hr = S_OK) Then
      'MsgBox "Successfully unregistered " & sTypelibPath
      UnregTypelib = True
    ElseIf (hr = TYPE_E_REGISTRYACCESS) Then
      'MsgBox "Type library is not registered: " & sTypelibPath
      UnregTypelib = True
    Else
      'MsgBox "Failed to unregister " & sTypelibPath & _
                    vbCrLf & vbCrLf & GetAPIErrStr(hr), vbExclamation
    End If
  End If
  
  UnregTypelib = (hr = S_OK)
myerr:
End Function

' Returns the system-defined description of an API error code

Public Function GetAPIErrStr(dwErrCode As Long) As String
  Dim sErrDesc As String * 256   ' max string resource len
  
  If FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM Or _
                                FORMAT_MESSAGE_IGNORE_INSERTS Or _
                                FORMAT_MESSAGE_MAX_WIDTH_MASK, _
                                ByVal 0&, dwErrCode, LANG_USER_DEFAULT, _
                                ByVal sErrDesc, 256, 0) Then
  
    GetAPIErrStr = Left$(sErrDesc, InStr(sErrDesc, vbNullChar) - 1)
  End If
End Function

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合九色欧美综合狠狠| 午夜视频在线观看一区| 亚洲第一激情av| 国产suv精品一区二区883| 91精品国产色综合久久不卡蜜臀| 国产亚洲欧美色| 美国欧美日韩国产在线播放| 91在线免费看| 国产欧美视频一区二区三区| 免费高清视频精品| 在线欧美日韩精品| 国产精品入口麻豆九色| 久久国产精品一区二区| 51精品秘密在线观看| 亚洲欧洲综合另类在线| 国产乱对白刺激视频不卡| 日韩欧美国产精品一区| 五月综合激情日本mⅴ| 一本一道波多野结衣一区二区 | 国产精品理论在线观看| 毛片av一区二区三区| 欧美系列一区二区| 亚洲精品国产无套在线观| 99视频超级精品| 国产精品久久久久影院| 成人丝袜视频网| 欧美国产精品v| 国产成人一级电影| 国产亚洲精品bt天堂精选| 国产乱对白刺激视频不卡| 久久综合99re88久久爱| 久久av资源站| 精品福利在线导航| 狠狠狠色丁香婷婷综合激情| 精品福利一区二区三区免费视频| 麻豆精品在线视频| 精品欧美久久久| 国产一区二区电影| 中文av一区特黄| 99久久精品国产导航| 亚洲激情自拍偷拍| 欧美自拍偷拍午夜视频| 亚洲国产成人av| 欧美一二三区在线观看| 激情综合五月婷婷| 日本一区免费视频| 99精品久久99久久久久| 一区二区三区日韩精品视频| 欧洲亚洲国产日韩| 免费在线视频一区| 26uuu国产一区二区三区| 国产99久久久国产精品潘金| 国产精品久久久久婷婷 | 国产福利一区二区三区| 国产视频一区不卡| 91同城在线观看| 亚洲国产日韩av| 欧美mv日韩mv国产网站| 风流少妇一区二区| 亚洲国产精品一区二区久久恐怖片| 7799精品视频| 高清久久久久久| 亚洲国产成人91porn| www一区二区| 色综合久久久久综合| 美女网站一区二区| 亚洲欧美影音先锋| 91精品国产综合久久久久久久| 精品夜夜嗨av一区二区三区| 亚洲人精品午夜| 欧美一区二区精品久久911| 成人在线一区二区三区| 偷拍自拍另类欧美| 国产精品久线在线观看| 日韩女优毛片在线| 91原创在线视频| 极品尤物av久久免费看| 亚洲综合清纯丝袜自拍| 国产午夜精品一区二区三区视频| 欧美日韩亚洲综合| 成人美女视频在线观看18| 日韩av中文字幕一区二区三区| 国产精品国产成人国产三级| 日韩一区二区中文字幕| 欧美最猛黑人xxxxx猛交| 国产成人在线免费| 肉丝袜脚交视频一区二区| 国产精品乱码妇女bbbb| 精品国精品国产| 在线播放91灌醉迷j高跟美女 | 欧美视频一区在线观看| 成人综合婷婷国产精品久久| 麻豆国产一区二区| 亚洲午夜精品在线| 洋洋av久久久久久久一区| 中文字幕第一区二区| 精品国产91九色蝌蚪| 在线不卡一区二区| 欧美影院一区二区三区| 色狠狠一区二区| 97se亚洲国产综合自在线| 国产·精品毛片| 国产精品一区二区在线观看不卡| 日韩精品1区2区3区| 玉足女爽爽91| 亚洲人成影院在线观看| 日韩理论电影院| 中文字幕综合网| 国产精品欧美极品| 中文字幕在线观看一区| 中文字幕免费观看一区| 欧美激情在线看| 欧美国产1区2区| 中文字幕av免费专区久久| 国产日韩欧美激情| 国产午夜亚洲精品理论片色戒 | 成人激情小说网站| 国产高清一区日本| 懂色一区二区三区免费观看| 成人亚洲一区二区一| av在线一区二区三区| 91丨九色丨蝌蚪富婆spa| 91在线无精精品入口| 在线观看日韩电影| 欧美日韩的一区二区| 日韩无一区二区| 精品国产伦一区二区三区观看方式 | 激情欧美日韩一区二区| 狠狠色丁香久久婷婷综| 国产不卡一区视频| 99国产欧美另类久久久精品| 在线视频亚洲一区| 欧美一区二区在线观看| 欧美精品一区视频| 国产精品精品国产色婷婷| 中文欧美字幕免费| 亚洲在线视频网站| 日韩精品免费专区| 成人亚洲一区二区一| 欧美性生交片4| 精品久久久久av影院 | 欧美a级一区二区| 国产在线精品国自产拍免费| 成人av在线播放网址| 欧美视频在线观看一区| 久久久三级国产网站| 樱桃视频在线观看一区| 老色鬼精品视频在线观看播放| 久久99久久久欧美国产| 99热在这里有精品免费| 日韩欧美精品三级| 国产精品成人网| 欧美a级理论片| 色综合久久九月婷婷色综合| 日韩美女在线视频| 亚洲美女免费在线| 国产精品自在欧美一区| 欧美无砖专区一中文字| 精品久久人人做人人爰| 亚洲国产一二三| 成人一区二区三区在线观看| 欧美一区二区三区白人| 中文字幕一区二区三区四区| 全国精品久久少妇| 色综合网色综合| 久久久美女毛片| 日韩一区精品视频| caoporen国产精品视频| 精品国产乱码久久久久久影片| 亚洲综合精品自拍| 99久久综合狠狠综合久久| 日韩视频中午一区| 亚洲成人中文在线| 91视频在线观看| 国产人成亚洲第一网站在线播放| 天天影视网天天综合色在线播放| 91在线免费播放| 国产精品理论在线观看| 国产一区二区三区最好精华液| 91精品黄色片免费大全| 亚洲自拍偷拍九九九| 91啪九色porn原创视频在线观看| 久久久午夜精品| 国产一区二区三区最好精华液| 91精品国产乱| 午夜久久久久久久久| 欧美丝袜丝nylons| 亚洲精品视频观看| www.视频一区| 国产丝袜在线精品| 精品亚洲免费视频| 日韩午夜小视频| 日本欧美一区二区| 欧美一区二区视频网站| 午夜精品久久久久久不卡8050| 欧美日韩一区二区三区在线| 亚洲国产精品欧美一二99| 欧美亚洲丝袜传媒另类| 亚洲狠狠爱一区二区三区| 欧美日韩综合在线免费观看|