📄 win32api.bas
字号:
Attribute VB_Name = "Win32API"
'************************************************************************
'* *
'* VB file: Win32API... by Sonic Wu *
'* Created: 11/2001 by Sonic Wu *
'* Modified: 2004.3.15 by hujun *
'* *
'* Description: The Function in Win32SDK *
'* *
'* *
'* *
'* Copyright (C) 1999 - 2001 Daheng Imavision. All rights reserved. *
'* Latest version can be downloaded from http://www.daheng-image.com *
'* *
'************************************************************************
Option Explicit
'this is equivalent to ascii string "BM"
Global Const BMP_MAGIC_COOKIE As Integer = 19778
'//BITMAP DEFINES (from mmsystem.h)
Type BITMAPFILEHEADER '14 bytes
bfType As Integer '"magic cookie" - must be "BM"
bfSize As Long
bfReserved1 As Integer
bfReserved2 As Integer
bfOffBits As Long
End Type
Type BITMAPINFOHEADER '40 bytes
biSize As Long
biWidth As Long
biHeight As Long
biPlanes As Integer
biBitCount As Integer
biCompression As Long
biSizeImage As Long
biXPelsPerMeter As Long
biYPelsPerMeter As Long
biClrUsed As Long
biClrImportant As Long
End Type
Type RGBQUAD
Red As Byte
Green As Byte
Blue As Byte
reserved As Byte
End Type
Type BITMAPINFO
header As BITMAPINFOHEADER
bmiColors(0 To 255) As RGBQUAD
End Type
' Type BitMap
' bmType As Long
' bmWidth As Long
' bmHeight As Long
' bmWidthBytes As Long
' bmPlanes As Integer
' bmBitsPixel As Integer
' bmBits As Long
' End Type
'
Type LOGPALETTE
palVersion As Integer
palNumEntries As Integer
palPalEntry(0 To 255) As RGBQUAD
End Type
'delete by hujun,because there is already one in the moudle of mAVIDecs
Global Const BI_RGB As Long = 0&
'*********************************************************************************************
'''''''''''''''''''''''''''''''''''''
'BitBlt Consts
Global Const SRCCOPY = &HCC0020
Global Const SRCINVERT = &H660046
''''''''''''''''''''''''''''''''''''''
' Copy bitmaps from one area to another
Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, _
ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, _
ByVal XSrc As Long, ByVal YSrc As Long, ByVal dwRop As Long) As Long
'*********************************************************************************************
'SetDIBitsToDevice Consts
Global Const DIB_RGB_COLORS = 0
Global Const DIB_PAL_COLORS = 1
'The SetDIBitsToDevice function sets the pixels in the specified rectangle
'on the device that is associated with the destination device context using color data
'from a device-independent bitmap (DIB).
Declare Function SetDIBitsToDevice Lib "gdi32" (ByVal hdc As Long, ByVal _
x As Long, ByVal y As Long, ByVal dx As Long, ByVal dy As Long, ByVal _
SrcX As Long, ByVal SrcY As Long, ByVal Scan As Long, ByVal NumScans As _
Long, Bits As Any, BitsInfo As BITMAPINFO, ByVal wUsage As Long) As Long
'**********************************************************************************************
'
Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, hdc As Long) As Long
'**********************************************************************************************
Global Const BITSPIXEL = 12
Global Const SIZEPALETTE = 104
Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal Index As Long) As Long
'**********************************************************************************************
Declare Function SelectPalette Lib "gdi32" (ByVal hdc As Long, ByVal hPalette As Long, _
ByVal bForceBackground As Long) As Long
Declare Function RealizePalette Lib "gdi32" (ByVal hdc As Long) As Long
Declare Function CreatePalette Lib "gdi32" (pPal As LOGPALETTE) As Long
Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
'**********************************************************************************************
Type TPoint
x As Long
y As Long
End Type
Type TRect
left As Long
top As Long
right As Long
bottom As Long
End Type
Declare Function ClientToScreen Lib "user32" (ByVal hWnd As Long, p As TPoint) As Long
Declare Function GetClientRect Lib "user32" (ByVal hWnd As Long, ByRef lpRect As TRect) As Long
'**********************************************************************************************
Global Const RDW_INVALIDATE = 1
Global Const RDW_INTERNALPAINT = 2
Global Const RDW_ERASE = 4
Global Const RDW_VALIDATE = 8
Global Const RDW_NOINTERNALPAINT = &H10
Global Const RDW_NOERASE = &H20
Global Const RDW_NOCHILDREN = &H40
Global Const RDW_ALLCHILDREN = &H80
Global Const RDW_UPDATENOW = &H100
Global Const RDW_ERASENOW = &H200
Global Const RDW_FRAME = &H400
Global Const RDW_NOFRAME = &H800
Declare Function RedrawWindow Lib "user32" (ByVal hWnd As Long, ByVal lprcUpdate As Long, _
ByVal hrgnUpdate As Long, ByVal Flags As Long) As Long
'**********************************************************************************************
Declare Function GetDesktopWindow Lib "user32" () As Long
'**********************************************************************************************
Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hWnd As Long, ByVal lpText As Long, ByVal lpCaption As Long, ByVal uType As Long) As Long
Public Const GWL_WNDPROC = -4
Public Const WM_SIZE = &H5
Public Const WM_MOVE = &H3
Public Const WM_NCACTIVATE = &H86
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal pDestination As Long, ByVal Source As Long, ByVal Length As Long)
Public Declare Function StretchDIBits Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal dx As Long, ByVal dy As Long, ByVal SrcX As Long, ByVal SrcY As Long, ByVal wSrcWidth As Long, ByVal wSrcHeight As Long, lpBits As Any, lpBitsInfo As BITMAPINFO, ByVal wUsage As Long, ByVal dwRop As Long) As Long
'StretchDIBits consts
Global Const SRCAND = &H8800C6 ' (DWORD) dest = source AND dest
'Global Const SRCCOPY = &HCC0020 ' (DWORD) dest = source
Global Const SRCERASE = &H440328 ' (DWORD) dest = source AND (NOT dest )
'Global Const SRCINVERT = &H660046 ' (DWORD) dest = source XOR dest
Global Const SRCPAINT = &HEE0086 ' (DWORD) dest = source OR dest
'Added by hujun
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -