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

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

?? mdeclares.bas

?? 一個很好的界面編程,,適合初學(xué)者學(xué)習(xí)和開發(fā)所用,內(nèi)容齊全.可做為畢業(yè)論文和課程設(shè)計所用.
?? BAS
字號:
Attribute VB_Name = "mDeclares"
Option Explicit

Public Type POINTAPI
   x As Long
   y As Long
End Type
Public Type RECT
   left As Long
   top As Long
   right As Long
   bottom As Long
End Type
Public Type Msg
    hwnd As Long
    message As Long
    wParam As Long
    lParam As Long
    time As Long
    pt As POINTAPI
End Type
Public Type TPMPARAMS
    cbSize As Long
    rcExclude As RECT
End Type

Public Const TPM_CENTERALIGN = &H4&
Public Const TPM_LEFTALIGN = &H0&
Public Const TPM_LEFTBUTTON = &H0&
Public Const TPM_RIGHTALIGN = &H8&
Public Const TPM_RIGHTBUTTON = &H2&

Public Const TPM_NONOTIFY = &H80&           '/* Don't send any notification msgs */
Public Const TPM_RETURNCMD = &H100
Public Const TPM_HORIZONTAL = &H0          '/* Horz alignment matters more */
Public Const TPM_VERTICAL = &H40           '/* Vert alignment matters more */

   ' Win98/2000 menu animation and menu within menu options:
Public Const TPM_RECURSE = &H1&
Public Const TPM_HORPOSANIMATION = &H400&
Public Const TPM_HORNEGANIMATION = &H800&
Public Const TPM_VERPOSANIMATION = &H1000&
Public Const TPM_VERNEGANIMATION = &H2000&
   ' Win2000 only:
Public Const TPM_NOANIMATION = &H4000&

Public Declare Function TrackPopupMenu Lib "user32" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal nReserved As Long, ByVal hwnd As Long, lprc As RECT) As Long
Public Declare Function TrackPopupMenuByLong Lib "user32" Alias "TrackPopupMenu" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal nReserved As Long, ByVal hwnd As Long, ByVal lprc As Long) As Long
Public Declare Function TrackPopupMenuEx Lib "user32" (ByVal hMenu As Long, ByVal un As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal hwnd As Long, lpTPMParams As TPMPARAMS) As Long

' Window MEssages
Public Const WM_DESTROY = &H2
Public Const WM_SIZE = &H5
Public Const WM_SETTEXT = &HC
Public Const WM_ACTIVATEAPP = &H1C
Public Const WM_CANCELMODE = &H1F
Public Const WM_SETCURSOR = &H20
Public Const WM_MEASUREITEM = &H2C
Public Const WM_DRAWITEM = &H2B
Public Const WM_STYLECHANGING = &H7C
Public Const WM_STYLECHANGED = &H7D
Public Const WM_NCCALCSIZE = &H83
Public Const WM_NCHITTEST = &H84
Public Const WM_NCPAINT = &H85
Public Const WM_NCACTIVATE = &H86
Public Const WM_NCLBUTTONDOWN = &HA1
Public Const WM_NCLBUTTONUP = &HA2
Public Const WM_NCLBUTTONDBLCLK = &HA3
Public Const WM_KEYDOWN = &H100
Public Const WM_COMMAND = &H111
Public Const WM_SYSCOMMAND = &H112
Public Const WM_INITMENUPOPUP = &H117
Public Const WM_MENUSELECT = &H11F
Public Const WM_MENUCHAR = &H120
Public Const WM_MOUSEMOVE = &H200
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_RBUTTONUP = &H205
Public Const WM_MDIGETACTIVE = &H229
Public Const WM_ENTERMENULOOP = &H211
Public Const WM_EXITMENULOOP = &H212

Public Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Public Declare Function GetProp Lib "user32" Alias "GetPropA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Public Declare Function SetProp Lib "user32" Alias "SetPropA" (ByVal hwnd As Long, ByVal lpString As String, ByVal hData As Long) As Long
Public Declare Function RemoveProp Lib "user32" Alias "RemovePropA" (ByVal hwnd As Long, ByVal lpString As String) As Long

Public Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long

Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpFn As Long, ByVal hMod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
Private Const WH_KEYBOARD As Long = 2
Private Const WH_MSGFILTER As Long = (-1)
Private Const MSGF_MENU = 2
Private Const HC_ACTION = 0

Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, pSrc As Any, ByVal ByteLen As Long)

' Message filter hook:
Private m_hMsgHook As Long
Private m_lMsgHookPtr As Long

' Keyboard Hook:
Private m_hKeyHook As Long
Private m_lKeyHookPtr() As Long
Private m_lKeyHookCount As Long

Public Sub AttachKeyboardHook(cN As cNCCalcSize)

Dim lpFn As Long
Dim lPtr As Long
Dim i As Long
   If m_hKeyHook = 0 Then
      lpFn = HookAddress(AddressOf KeyboardFilter)
      m_hKeyHook = SetWindowsHookEx(WH_KEYBOARD, lpFn, 0&, GetCurrentThreadId())
      Debug.Assert (m_hKeyHook <> 0)
   End If
   
   lPtr = ObjPtr(cN)
   If GetKeyHookPtrIndex(lPtr) = 0 Then
      m_lKeyHookCount = m_lKeyHookCount + 1
      ReDim Preserve m_lKeyHookPtr(1 To m_lKeyHookCount) As Long
      m_lKeyHookPtr(m_lKeyHookCount) = lPtr
   End If
   
End Sub
Private Function GetKeyHookPtrIndex(ByVal lPtr As Long) As Long
Dim i As Long
   For i = 1 To m_lKeyHookCount
      If m_lKeyHookPtr(i) = lPtr Then
         GetKeyHookPtrIndex = i
         Exit For
      End If
   Next i
End Function
Public Sub DetachKeyboardHook(cN As cNCCalcSize)
Dim lPtr As Long
Dim i As Long
Dim lIdx As Long
      
   lPtr = ObjPtr(cN)
   lIdx = GetKeyHookPtrIndex(lPtr)
   
   If lIdx > 0 Then
      If m_lKeyHookCount > 1 Then
         For i = lIdx To m_lKeyHookCount - 1
            m_lKeyHookPtr(i) = m_lKeyHookPtr(i + 1)
         Next i
         m_lKeyHookCount = m_lKeyHookCount - 1
         ReDim Preserve m_lKeyHookPtr(1 To m_lKeyHookCount) As Long
      Else
         m_lKeyHookCount = 0
         Erase m_lKeyHookPtr
      End If
   End If
   
   If m_lKeyHookCount <= 0 Then
      If (m_hKeyHook <> 0) Then
         UnhookWindowsHookEx m_hKeyHook
         m_hKeyHook = 0
      End If
   End If
   
End Sub
Private Function GetActiveConsumer(ByRef cM As cNCCalcSize) As Boolean
Dim i As Long
   For i = 1 To m_lKeyHookCount
      If Not m_lKeyHookPtr(i) = 0 Then
         Set cM = ObjectFromPtr(m_lKeyHookPtr(i))
         If cM.WindowActive Then
            GetActiveConsumer = True
            Exit Function
         End If
      End If
   Next i
End Function
Private Function KeyboardFilter(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Dim bKeyUp As Boolean
Dim bAlt As Boolean, bCtrl As Boolean, bShift As Boolean
Dim bFKey As Boolean, bEscape As Boolean, bDelete As Boolean
Dim wMask As KeyCodeConstants
Dim i As Long
Dim lPtr As Long
Dim cM As cNCCalcSize

On Error GoTo ErrorHandler

   If nCode = HC_ACTION And m_hKeyHook > 0 Then
      ' Key up or down:
      bAlt = ((lParam And &H20000000) = &H20000000)
      If bAlt And (wParam > 0) And (wParam <> vbKeyMenu) Then
         bKeyUp = ((lParam And &H80000000) = &H80000000)
         If Not bKeyUp Then
            bShift = (GetAsyncKeyState(vbKeyShift) <> 0)
            bCtrl = (GetAsyncKeyState(vbKeyControl) <> 0)
            bFKey = ((wParam >= vbKeyF1) And (wParam <= vbKeyF12))
            bEscape = (wParam = vbKeyEscape)
            bDelete = (wParam = vbKeyDelete)
            If Not (bCtrl Or bFKey Or bEscape Or bDelete) Then
               If GetActiveConsumer(cM) Then
                  If cM.AltKeyAccelerator(wParam) Then
                     ' Don't pass accelerator on...
                     KeyboardFilter = 1
                     Exit Function
                  End If
               End If
            End If
         End If
      End If
   End If
   KeyboardFilter = CallNextHookEx(m_hKeyHook, nCode, wParam, lParam)

   Exit Function
   
ErrorHandler:
   Debug.Print "Keyboard Hook Error!"
   Exit Function
   Resume 0
End Function

Public Sub AttachMsgHook(cThis As cToolbarMenu)
Dim lpFn As Long
   DetachMsgHook
   m_lMsgHookPtr = ObjPtr(cThis)
   lpFn = HookAddress(AddressOf MenuInputFilter)
   m_hMsgHook = SetWindowsHookEx(WH_MSGFILTER, lpFn, 0&, GetCurrentThreadId())
   Debug.Assert (m_hMsgHook <> 0)
End Sub
Public Sub DetachMsgHook()
   If (m_hMsgHook <> 0) Then
      UnhookWindowsHookEx m_hMsgHook
      m_hMsgHook = 0
   End If
End Sub

'////////////////
'// Menu filter hook just passes to virtual CMenuBar function
'//
Private Function MenuInputFilter(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Dim cM As cToolbarMenu
Dim lpMsg As Msg
   If nCode = MSGF_MENU Then
      If Not m_lMsgHookPtr = 0 Then
         Set cM = ObjectFromPtr(m_lMsgHookPtr)
         CopyMemory lpMsg, ByVal lParam, Len(lpMsg)
         If (cM.MenuInput(lpMsg)) Then
            MenuInputFilter = 1
            Exit Function
         End If
      End If
   End If
   MenuInputFilter = CallNextHookEx(m_hMsgHook, nCode, wParam, lParam)
End Function


Private Function HookAddress(ByVal lPtr As Long) As Long
   HookAddress = lPtr
End Function

Public Property Get ObjectFromPtr(ByVal lPtr As Long) As Object
Dim objT As Object
   If Not (lPtr = 0) Then
      ' Turn the pointer into an illegal, uncounted interface
      CopyMemory objT, lPtr, 4
      ' Do NOT hit the End button here! You will crash!
      ' Assign to legal reference
      Set ObjectFromPtr = objT
      ' Still do NOT hit the End button here! You will still crash!
      ' Destroy the illegal reference
      CopyMemory objT, 0&, 4
   End If
End Property


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成av人片一区二区| 色婷婷综合久久久久中文 | 久久只精品国产| 亚洲三级电影网站| 另类小说综合欧美亚洲| 色视频欧美一区二区三区| 亚洲精品一线二线三线无人区| 一区二区三区四区不卡视频| 国产99久久久精品| 精品国产成人在线影院 | 日本美女一区二区三区视频| 99re在线精品| 国产午夜精品一区二区三区视频| 日韩精品电影在线观看| 在线观看免费成人| 亚洲少妇屁股交4| 成人涩涩免费视频| 久久精品水蜜桃av综合天堂| 久久成人羞羞网站| 欧美一区二区三区系列电影| 亚洲午夜激情网页| 在线精品视频小说1| 日韩美女视频19| 丰满白嫩尤物一区二区| 精品国产一区二区亚洲人成毛片| 日韩专区欧美专区| 欧美精品电影在线播放| 午夜天堂影视香蕉久久| 欧美丝袜丝交足nylons| 亚洲一区二区三区中文字幕| 日本精品免费观看高清观看| 亚洲男人的天堂在线aⅴ视频| 99久久久无码国产精品| 亚洲欧美自拍偷拍| 色999日韩国产欧美一区二区| 亚洲人吸女人奶水| 在线欧美一区二区| 亚洲国产wwwccc36天堂| 欧美另类一区二区三区| 日韩福利电影在线观看| 欧美一级生活片| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩一区二区中文字幕| 精品在线免费视频| 国产欧美精品一区二区三区四区| 国产成人av影院| 亚洲欧洲性图库| 欧洲人成人精品| 免费看黄色91| 久久久久久久综合| www.日韩精品| 亚洲成人av资源| 久久亚洲精精品中文字幕早川悠里| 久久99九九99精品| 国产精品网站在线播放| 久久久久久97三级| 丁香另类激情小说| 亚洲男同1069视频| 欧美大片一区二区| 不卡的av电影| 视频在线观看一区二区三区| 精品国产免费视频| 99re热这里只有精品免费视频| 亚洲国产日韩a在线播放性色| 日韩一区二区三区在线| 成人爽a毛片一区二区免费| 亚洲精品日日夜夜| 精品国产污网站| 色婷婷av一区二区| 国产麻豆精品在线观看| 亚洲黄色免费网站| 精品乱码亚洲一区二区不卡| 91免费观看视频| 九一九一国产精品| 一二三四区精品视频| 精品欧美一区二区在线观看| 在线一区二区视频| 福利电影一区二区| 免费在线观看精品| 亚洲日本在线a| 久久久精品综合| 欧美喷水一区二区| 91在线精品秘密一区二区| 久久国产三级精品| 五月天亚洲精品| 亚洲男人天堂av网| 久久精品男人天堂av| 欧美福利一区二区| 在线视频综合导航| 成人av网址在线| 国产精品自拍网站| 美女视频免费一区| 香蕉影视欧美成人| 亚洲综合一区二区三区| 国产精品情趣视频| 2023国产精品视频| 欧美xingq一区二区| 欧美美女喷水视频| 欧美日韩视频在线一区二区 | 99久久精品国产网站| 精品写真视频在线观看| 天堂成人免费av电影一区| 一区二区三区在线免费视频| 国产精品国产精品国产专区不蜜 | 一区二区三区在线视频免费| 中文字幕的久久| 欧美国产综合一区二区| 久久久综合九色合综国产精品| 精品久久久久久久久久久久包黑料 | 亚洲欧美日韩一区二区三区在线观看| 26uuu久久天堂性欧美| 欧美不卡一区二区| 精品国产sm最大网站免费看| 欧美xxxxxxxx| 久久精品亚洲国产奇米99| 久久免费美女视频| 久久免费看少妇高潮| 26uuuu精品一区二区| 久久久91精品国产一区二区三区| 久久久综合精品| 欧美高清在线一区二区| 国产精品久久久久三级| 亚洲免费观看高清完整版在线观看熊| 亚洲男人的天堂网| 亚洲国产成人va在线观看天堂 | 亚洲精品精品亚洲| 亚洲图片欧美视频| 视频一区欧美精品| 狠狠色丁香婷综合久久| 国产99久久久久| 欧美大片一区二区| 亚洲国产精品ⅴa在线观看| 国产精品久久毛片a| 亚洲尤物在线视频观看| 日韩av一区二区三区四区| 国产一区在线观看麻豆| 成人精品国产免费网站| 欧美自拍偷拍午夜视频| 欧美成人伊人久久综合网| 久久精品一区二区三区四区| 自拍av一区二区三区| 亚洲国产精品视频| 极品少妇一区二区| 99精品久久99久久久久| 欧美精品99久久久**| 久久婷婷国产综合精品青草| 1024国产精品| 免费观看成人av| 成人av资源在线观看| 欧美男同性恋视频网站| 久久久美女毛片| 一区二区三区欧美| 精品一区精品二区高清| 成人app网站| 日韩午夜电影av| 亚洲色图欧洲色图婷婷| 久久91精品久久久久久秒播| 92精品国产成人观看免费| 日韩视频一区在线观看| 亚洲日本va在线观看| 激情综合网激情| 欧美最新大片在线看| 国产情人综合久久777777| 亚洲小少妇裸体bbw| 成人免费福利片| 欧美电影免费观看高清完整版在线观看| 中文字幕国产一区二区| 奇米色一区二区| 日本高清不卡一区| 国产色91在线| 久久精品国产色蜜蜜麻豆| 欧美性xxxxxxxx| 亚洲欧洲日韩在线| 欧美一区二区三区啪啪| 中文字幕中文字幕一区| 国产一区美女在线| 91精品国产欧美一区二区18| 亚洲欧美日韩电影| 国产98色在线|日韩| 精品国产乱码久久久久久夜甘婷婷| 亚洲大尺度视频在线观看| 99r精品视频| 国产精品久久久久影院老司| 国产乱色国产精品免费视频| 日韩欧美色综合| 日本一不卡视频| 欧美视频在线一区二区三区 | 亚洲成人在线观看视频| 一本到三区不卡视频| 椎名由奈av一区二区三区| 成人免费视频app| 亚洲国产成人私人影院tom| 国产一区二区网址| 2020国产精品| 国产精品12区| 久久色视频免费观看| 国产自产高清不卡| 久久无码av三级| 国产99久久精品| 中文字幕在线观看一区|