⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 win32api.bas

📁 大恒摄像机开发范例程序 有利于大家二次开发
💻 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 + -