📄 apifunctions.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "APIFunctions"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Attribute VB_Ext_KEY = "SavedWithClassBuilder" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
Option Explicit
' ##MODULE_DESCRIPTION This class is the head class of the EventVB project. It _
provides a set of generic functions useful for dealing with the API and also the _
API error event which is raised whenever an internal error occurs when dealing with _
the API.
'\\ Window CLASS information....
Private Declare Function GetClassLong Lib "user32" Alias "GetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function GetClassInfoApi Lib "user32" Alias "GetClassInfoA" (ByVal hInstance As Long, ByVal lpClassName As String, ByVal lpWndClass As Long) As Long
'\\ Get Class Long Index constants....
Public Enum enGetClassLong
GCL_CBCLSEXTRA = (-20)
GCL_CBWNDEXTRA = (-18)
GCL_STYLE = (-26)
GCL_WNDPROC = (-24)
End Enum
'\\ Class style constants....
Public Enum ClassStyleConstants
CS_BYTEALIGNCLIENT = &H1000
CS_BYTEALIGNWINDOW = &H2000
CS_CLASSDC = &H40
CS_DBLCLKS = &H8
CS_HREDRAW = &H2
CS_INSERTCHAR = &H2000
CS_KEYCVTWINDOW = &H4
CS_NOCLOSE = &H200
CS_NOKEYCVT = &H100
CS_NOMOVECARET = &H4000
CS_OWNDC = &H20
CS_PARENTDC = &H80
CS_PUBLICCLASS = &H4000
CS_SAVEBITS = &H800
CS_VREDRAW = &H1
End Enum
'\\ Get the window text....
Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
'\\ Get Window Long Indexes...
Public Enum enGetWindowLong
GWL_EXSTYLE = (-20)
GWL_HINSTANCE = (-6)
GWL_HWNDPARENT = (-8)
GWL_ID = (-12)
GWL_STYLE = (-16)
GWL_USERDATA = (-21)
GWL_WNDPROC = (-4)
End Enum
'\\ Child window enumerations....
Private Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
'\\ Window message constants - for WndProc(wMsg).
Public Enum WindowMessages
WM_ACTIVATE = &H6 '(LOWORD) wp = WA_, (HIWORD) > 0 if minimized, lp =hwnd
WM_ACTIVATEAPP = &H1C
WM_ASKCBFORMATNAME = &H30C
WM_CANCELJOURNAL = &H4B
WM_CANCELMODE = &H1F
WM_CAPTURECHANGED = &H1F 'wParam = 0, lParam = New capture hWnd
WM_CAPTURECHANGED_R = &H215
WM_CHANGECBCHAIN = &H30D
WM_CHAR = &H102
WM_CHARTOITEM = &H2F
WM_CHILDACTIVATE = &H22
WM_CHOOSEFONT_GETLOGFONT = (&H400 + 1)
WM_CHOOSEFONT_SETFLAGS = (&H400 + 102)
WM_CHOOSEFONT_SETLOGFONT = (&H400 + 101)
WM_CLEAR = &H303
WM_CLOSE = &H10
WM_COMMAND = &H111
WM_COMPACTING = &H41
WM_COMPAREITEM = &H39
WM_CONVERTREQUESTEX = &H108
WM_COPY = &H301
WM_COPYDATA = &H4A
WM_CREATE = &H1
WM_CTLCOLORBTN = &H135
WM_CTLCOLORDLG = &H136
WM_CTLCOLOREDIT = &H133
WM_CTLCOLORLISTBOX = &H134
WM_CTLCOLORMSGBOX = &H132
WM_CTLCOLORSCROLLBAR = &H137
WM_CTLCOLORSTATIC = &H138
WM_CUT = &H300
WM_DDE_ACK = (&H3E0 + 4)
WM_DDE_ADVISE = (&H3E0 + 2)
WM_DDE_DATA = (&H3E0 + 5)
WM_DDE_EXECUTE = (&H3E0 + 8)
WM_DDE_FIRST = &H3E0
WM_DDE_INITIATE = &H3E0
WM_DDE_LAST = (&H3E0 + 8)
WM_DDE_POKE = (&H3E0 + 7)
WM_DDE_REQUEST = (&H3E0 + 6)
WM_DDE_TERMINATE = (&H3E0 + 1)
WM_DDE_UNADVISE = (&H3E0 + 3)
WM_DEADCHAR = &H103
WM_DELETEITEM = &H2D
WM_DESTROY = &H2
WM_DESTROYCLIPBOARD = &H307
WM_DEVICECHANGE = &H219 '\\ Version 4 and beyond
WM_DEVMODECHANGE = &H1B
WM_DRAWCLIPBOARD = &H308
WM_DRAWITEM = &H2B
WM_DROPFILES = &H233
WM_ENABLE = &HA
WM_ENDSESSION = &H16
WM_ENTERIDLE = &H121
WM_ENTERSIZEMOVE = &H231
WM_ENTERMENULOOP = &H211
WM_ERASEBKGND = &H14 'wParam = 0, lParam = hDC of window. Return 0 if intercepted...
WM_EXITMENULOOP = &H212
WM_EXITSIZEMOVE = &H232
WM_FONTCHANGE = &H1D
WM_GETDLGCODE = &H87
WM_GETFONT = &H31
WM_GETHOTKEY = &H33
WM_GETMINMAXINFO = &H24
WM_GETTEXT = &HD
WM_GETTEXTLENGTH = &HE
WM_HOTKEY = &H312
WM_HSCROLL = &H114
WM_HSCROLLCLIPBOARD = &H30E
WM_ICONERASEBKGND = &H27
WM_IME_CHAR = &H286
WM_IME_COMPOSITION = &H10F
WM_IME_COMPOSITIONFULL = &H284
WM_IME_CONTROL = &H283
WM_IME_ENDCOMPOSITION = &H10E
WM_IME_KEYDOWN = &H290
WM_IME_KEYLAST = &H10F
WM_IME_KEYUP = &H291
WM_IME_NOTIFY = &H282
WM_IME_SELECT = &H285
WM_IME_SETCONTEXT = &H281
WM_IME_STARTCOMPOSITION = &H10D
WM_INITDIALOG = &H110
WM_INITMENU = &H116
WM_INITMENUPOPUP = &H117
WM_KEYDOWN = &H100
WM_KEYUP = &H101
WM_KILLFOCUS = &H8 'wParam = hWnd of window about to lose focus.
WM_LBUTTONDBLCLK = &H203
WM_LBUTTONDOWN = &H201
WM_LBUTTONUP = &H202
WM_MBUTTONDBLCLK = &H209
WM_MBUTTONDOWN = &H207
WM_MBUTTONUP = &H208
WM_MDIACTIVATE = &H222
WM_MDICASCADE = &H227
WM_MDICREATE = &H220
WM_MDIDESTROY = &H221
WM_MDIGETACTIVE = &H229
WM_MDIICONARRANGE = &H228
WM_MDIMAXIMIZE = &H225
WM_MDINEXT = &H224
WM_MDIREFRESHMENU = &H234
WM_MDIRESTORE = &H223
WM_MDISETMENU = &H230
WM_MDITILE = &H226
WM_MEASUREITEM = &H2C
WM_MENUCHAR = &H120
WM_MENUSELECT = &H11F
WM_MENURBUTTONUP = &H122 '\\ Version 5 and beyond
WM_MENUDRAG = &H123 '\\ Version 5 and beyond
WM_MENUGETOBJECT = &H124 '\\ Version 5 and beyond
WM_MENUCOMMAND = &H126 '\\ Version 5 and beyond
WM_MOUSEACTIVATE = &H21
WM_MOUSEHOVER = &H2A1 '\\ Version 4 and beyond
WM_MOUSELEAVE = &H2A3 '\\ Version 4 and beyond
WM_MOUSEMOVE = &H200
WM_MOUSEWHEEL = &H20A '\\ Version 4 and beyond
WM_MOVE = &H3
WM_MOVING = &H216
WM_NCACTIVATE = &H86
WM_NCCALCSIZE = &H83
WM_NCCREATE = &H81
WM_NCDESTROY = &H82
WM_NCHITTEST = &H84
WM_NCLBUTTONDBLCLK = &HA3
WM_NCLBUTTONDOWN = &HA1
WM_NCLBUTTONUP = &HA2
WM_NCMBUTTONDBLCLK = &HA9
WM_NCMBUTTONDOWN = &HA7
WM_NCMBUTTONUP = &HA8
WM_NCMOUSEMOVE = &HA0
WM_NCPAINT = &H85
WM_NCRBUTTONDBLCLK = &HA6
WM_NCRBUTTONDOWN = &HA4
WM_NCRBUTTONUP = &HA5
WM_NEXTDLGCTL = &H28
WM_NEXTMENU = &H213
WM_NULL = &H0
WM_PAINT = &HF
WM_PAINTCLIPBOARD = &H309
WM_PAINTICON = &H26
WM_PALETTECHANGED = &H311
WM_PALETTEISCHANGING = &H310
WM_PARENTNOTIFY = &H210
WM_PASTE = &H302
WM_PENWINFIRST = &H380
WM_PENWINLAST = &H38F
WM_POWER = &H48
WM_POWERBROADCAST = &H218
WM_PRINT = &H317 '\\ Version 4 and beyond
WM_PRINTCLIENT = &H318 '\\ Version 4 and beyond
WM_PSD_ENVSTAMPRECT = (&H400 + 5)
WM_PSD_FULLPAGERECT = (&H400 + 1)
WM_PSD_GREEKTEXTRECT = (&H400 + 4)
WM_PSD_MARGINRECT = (&H400 + 3)
WM_PSD_MINMARGINRECT = (&H400 + 2)
WM_PSD_PAGESETUPDLG = (&H400)
WM_PSD_YAFULLPAGERECT = (&H400 + 6)
WM_QUERYDRAGICON = &H37
WM_QUERYENDSESSION = &H11
WM_QUERYNEWPALETTE = &H30F
WM_QUERYOPEN = &H13
WM_QUEUESYNC = &H23
WM_QUIT = &H12
WM_RBUTTONDBLCLK = &H206
WM_RBUTTONDOWN = &H204
WM_RBUTTONUP = &H205
WM_RENDERALLFORMATS = &H306
WM_RENDERFORMAT = &H305
WM_SETCURSOR = &H20
WM_SETFOCUS = &H7
WM_SETFONT = &H30
WM_SETHOTKEY = &H32
WM_SETREDRAW = &HB
WM_SETTEXT = &HC
WM_SETTINGCHANGE = &H1A
WM_SHOWWINDOW = &H18
WM_SIZE = &H5
WM_SIZING = &H214
WM_SIZECLIPBOARD = &H30B
WM_SPOOLERSTATUS = &H2A
WM_SYSCHAR = &H106
WM_SYSCOLORCHANGE = &H15
WM_SYSCOMMAND = &H112
WM_SYSDEADCHAR = &H107
WM_SYSKEYDOWN = &H104
WM_SYSKEYUP = &H105
WM_TIMECHANGE = &H1E
WM_TIMER = &H113
WM_UNDO = &H304
WM_USER = &H400
WM_VKEYTOITEM = &H2E
WM_VSCROLL = &H115
WM_VSCROLLCLIPBOARD = &H30A
WM_WINDOWPOSCHANGED = &H47
WM_WINDOWPOSCHANGING = &H46
WM_WININICHANGE = &H1A
End Enum
Public Enum EditMessages
EM_CANUNDO = &HC6
EM_EMPTYUNDOBUFFER = &HCD
EM_FMTLINES = &HC8
EM_GETFIRSTVISIBLELINE = &HCE
EM_GETHANDLE = &HBD
EM_GETLINE = &HC4
EM_GETLINECOUNT = &HBA
EM_GETMODIFY = &HB8
EM_GETPASSWORDCHAR = &HD2
EM_GETRECT = &HB2
EM_GETSEL = &HB0
EM_GETTHUMB = &HBE
EM_LIMITTEXT = &HC5
EM_LINEFROMCHAR = &HC9
EM_LINEINDEX = &HBB
EM_LINELENGTH = &HC1
EM_LINESCROLL = &HB6
EM_REPLACESEL = &HC2
EM_SCROLL = &HB5
EM_SCROLLCARET = &HB7
EM_SETHANDLE = &HBC
EM_SETMODIFY = &HB9
EM_SETPASSWORDCHAR = &HCC
EM_SETREADONLY = &HCF
EM_SETRECT = &HB3
EM_SETRECTNP = &HB4
EM_SETSEL = &HB1
EM_SETTABSTOPS = &HCB
EM_UNDO = &HC7
EM_GETWORDBREAKPROC = &HD1 'wp = 0L, lp = procaddress
EM_SETWORDBREAKPROC = &HD0 'wp = 0L, lp = procaddress
End Enum
Public Enum enExtendedEditMessages
'\\ RichEdit extended messages
EM_GETLIMITTEXT = (WM_USER + 37)
EM_POSFROMCHAR = (WM_USER + 38)
EM_CHARFROMPOS = (WM_USER + 39)
EM_CANPASTE = (WM_USER + 50)
EM_DISPLAYBAND = (WM_USER + 51)
EM_EXGETSEL = (WM_USER + 52)
EM_EXLIMITTEXT = (WM_USER + 53)
EM_EXLINEFROMCHAR = (WM_USER + 54)
EM_EXSETSEL = (WM_USER + 55)
EM_FINDTEXT = (WM_USER + 56)
EM_FORMATRANGE = (WM_USER + 57)
EM_GETCHARFORMAT = (WM_USER + 58)
EM_GETEVENTMASK = (WM_USER + 59)
EM_GETOLEINTERFACE = (WM_USER + 60)
EM_GETPARAFORMAT = (WM_USER + 61)
EM_GETSELTEXT = (WM_USER + 62)
EM_HIDESELECTION = (WM_USER + 63)
EM_PASTESPECIAL = (WM_USER + 64)
EM_REQUESTRESIZE = (WM_USER + 65)
EM_SELECTIONTYPE = (WM_USER + 66)
EM_SETBKGNDCOLOR = (WM_USER + 67)
EM_SETCHARFORMAT = (WM_USER + 68)
EM_SETEVENTMASK = (WM_USER + 69)
EM_SETOLECALLBACK = (WM_USER + 70)
EM_SETPARAFORMAT = (WM_USER + 71)
EM_SETTARGETDEVICE = (WM_USER + 72)
EM_STREAMIN = (WM_USER + 73)
EM_STREAMOUT = (WM_USER + 74)
EM_GETTEXTRANGE = (WM_USER + 75)
EM_FINDWORDBREAK = (WM_USER + 76)
EM_SETOPTIONS = (WM_USER + 77)
EM_GETOPTIONS = (WM_USER + 78)
EM_FINDTEXTEX = (WM_USER + 79)
EM_GETWORDBREAKPROCEX = (WM_USER + 80)
EM_SETWORDBREAKPROCEX = (WM_USER + 81)
'/* Richedit v2.0 messages */
EM_SETUNDOLIMIT = (WM_USER + 82)
EM_REDO = (WM_USER + 84)
EM_CANREDO = (WM_USER + 85)
EM_GETUNDONAME = (WM_USER + 86)
EM_GETREDONAME = (WM_USER + 87)
EM_STOPGROUPTYPING = (WM_USER + 88)
EM_SETTEXTMODE = (WM_USER + 89)
EM_GETTEXTMODE = (WM_USER + 90)
EM_AUTOURLDETECT = (WM_USER + 91)
EM_GETAUTOURLDETECT = (WM_USER + 92)
EM_SETPALETTE = (WM_USER + 93)
EM_GETTEXTEX = (WM_USER + 94)
EM_GETTEXTLENGTHEX = (WM_USER + 95)
'/* Far East specific messages */
EM_SETPUNCTUATION = (WM_USER + 100)
EM_GETPUNCTUATION = (WM_USER + 101)
EM_SETWORDWRAPMODE = (WM_USER + 102)
EM_GETWORDWRAPMODE = (WM_USER + 103)
EM_SETIMECOLOR = (WM_USER + 104)
EM_GETIMECOLOR = (WM_USER + 105)
EM_SETIMEOPTIONS = (WM_USER + 106)
EM_GETIMEOPTIONS = (WM_USER + 107)
EM_CONVPOSITION = (WM_USER + 108)
EM_SETLANGOPTIONS = (WM_USER + 120)
EM_GETLANGOPTIONS = (WM_USER + 121)
EM_GETIMECOMPMODE = (WM_USER + 122)
EM_FINDTEXTW = (WM_USER + 123)
EM_FINDTEXTEXW = (WM_USER + 124)
'/* BiDi specific messages */
EM_SETBIDIOPTIONS = (WM_USER + 200)
EM_GETBIDIOPTIONS = (WM_USER + 201)
End Enum
Public Enum enRichEditTextModes
TM_PLAINTEXT = 1
TM_RICHTEXT = 2 ' /* default behavior */
TM_SINGLELEVELUNDO = 4
TM_MULTILEVELUNDO = 8 ' /* default behavior */
TM_SINGLECODEPAGE = 16
TM_MULTICODEPAGE = 32 ' /* default behavior */
End Enum
Public Enum enEditControlOperations
ECO_AUTOWORDSELECTION = &H1
ECO_AUTOVSCROLL = &H40
ECO_AUTOHSCROLL = &H80
ECO_NOHIDESEL = &H100
ECO_READONLY = &H800
ECO_WANTRETURN = &H1000
ECO_SAVESEL = &H8000
ECO_SELECTIONBAR = &H1000000
ECO_VERTICAL = &H400000
End Enum
Public Enum enEditControlOperationOptions
ECOOP_SET = &H1
ECOOP_OR = &H2
ECOOP_AND = &H3
ECOOP_XOR = &H4
End Enum
Public Enum enCharformatMasks
CFM_BOLD = &H1
CFM_ITALIC = &H2
CFM_UNDERLINE = &H4
CFM_STRIKEOUT = &H8
CFM_PROTECTED = &H10
CFM_LINK = &H20 '/* Exchange hyperlink extension */
CFM_SIZE = &H80000000
CFM_COLOR = &H40000000
CFM_FACE = &H20000000
CFM_OFFSET = &H10000000
CFM_CHARSET = &H8000000
End Enum
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -