📄 apifunctions.cls
字号:
Public Enum enCharFormatEffects
CFE_BOLD = &H1
CFE_ITALIC = &H2
CFE_UNDERLINE = &H4
CFE_STRIKEOUT = &H8
CFE_PROTECTED = &H10
CFE_LINK = &H20
CFE_AUTOCOLOR = &H40000000 '/* NOTE: this corresponds to CFM_COLOR*/
End Enum
Public Enum enSetCharFormatModifiers
SCF_SELECTION = &H1
SCF_WORD = &H2
SCF_DEFAULT = &H0 ' ## set the default charformat or paraformat
SCF_ALL = &H4 ' ## not valid with SCF_SELECTION or SCF_WORD
SCF_USEUIRULES = &H8 ' ## modifier for SCF_SELECTION; says that the format came from a toolbar
End Enum
'\\ Edit word break code constants
Public Enum enWordBreak
WB_ISDELIMITER = 2
WB_LEFT = 0
WB_RIGHT = 1
End Enum
Private Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Public Enum enDialogWindowLong
DWL_DLGPROC = 4
DWL_MSGRESULT = 0
DWL_USER = 8
End Enum
Private Declare Function EnumWindowStations Lib "user32" Alias "EnumWindowStationsA" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function EnumDesktops Lib "user32" Alias "EnumDesktopsA" (ByVal hwinsta As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function GetProcessWindowStation Lib "user32" () As Long
Private Declare Function EnumProps Lib "user32" Alias "EnumPropsA" (ByVal hwnd As Long, ByVal lpEnumFunc As Long) As Long
Private Declare Function EnumPropsEx Lib "user32" Alias "EnumPropsExA" (ByVal hwnd As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function EnumResourceLanguages Lib "kernel32" Alias "EnumResourceLanguagesA" (ByVal hModule As Long, ByVal lpType As String, ByVal lpName As String, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function EnumResourceNames Lib "kernel32" Alias "EnumResourceNamesA" (ByVal hModule As Long, ByVal lpType As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function EnumResourceTypes Lib "kernel32" Alias "EnumResourceTypesA" (ByVal hModule As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function LoadResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
Private Declare Function LoadLibraryEx Lib "kernel32" Alias "LoadLibraryExA" (ByVal lpLibFileName As String, ByVal hFile As Long, ByVal dwFlags As Long) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Declare Function EnumDesktopWindows Lib "user32" (ByVal hDesktop As Long, ByVal lpfn As Long, ByVal lParam As Long) As Long
Private Declare Function GetThreadDesktop Lib "user32" (ByVal dwThread As Long) As Long
'Public Const LOAD_LIBRARY_AS_DATAFILE = &H2
Public Enum enResourceTypes
RT_ACCELERATOR = 9&
RT_BITMAP = 2&
RT_CURSOR = 1&
RT_DIALOG = 5&
RT_FONT = 8&
RT_FONTDIR = 7&
RT_ICON = 3&
RT_MENU = 4&
RT_RCDATA = 10&
RT_STRING = 6&
End Enum
'Private Declare Function SendMessageMove Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As RECT) As Long
Private Declare Function SendMessageProc Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
Private Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function SendMessageRepaint Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
'Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As POINTAPI, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
'Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Public Enum enWindowActive
WA_ACTIVE = 1
WA_INACTIVE = 0
WA_CLICKACTIVE = 2
End Enum
Private Declare Function IsMenu Lib "user32" (ByVal hMenu As Long) As Long
'\\ Windows Menu related API calls
Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetMenuCheckMarkDimensions Lib "user32" () As Long
Private Declare Function GetMenuContextHelpId Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function GetMenuDefaultItem Lib "user32" (ByVal hMenu As Long, ByVal fByPos As Long, ByVal gmdiFlags As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Private Declare Function GetMenuState Lib "user32" (ByVal hMenu As Long, ByVal wID As Long, ByVal wFlags As Long) As Long
Private Declare Function GetMenuString Lib "user32" Alias "GetMenuStringA" (ByVal hMenu As Long, ByVal wIDItem As Long, ByVal lpString As String, ByVal nMaxCount As Long, ByVal wFlag As Long) As Long
Private Declare Function SetMenu Lib "user32" (ByVal hwnd As Long, ByVal hMenu As Long) As Long
Private Declare Function SetMenuContextHelpId Lib "user32" (ByVal hMenu As Long, ByVal dw As Long) As Long
Private Declare Function SetMenuDefaultItem Lib "user32" (ByVal hMenu As Long, ByVal uItem As Long, ByVal fByPos As Long) As Long
Private Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long
'\\ Sending messages to a window....
Private 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
Private Declare Function SendMessageString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lpstrParam As String) As Long
'\\ Shell execute - running external applications
'\\ Declaration
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
'\\ Scrollbar messages
Public Enum enScrollMessages
SB_ENDSCROLL = 8
SB_TOP = 6
SB_LINELEFT = 0
SB_LINERIGHT = 1
SB_LINEDOWN = 1
SB_LINEUP = 0
SB_PAGEDOWN = 3
SB_PAGELEFT = 2
SB_PAGERIGHT = 3
SB_PAGEUP = 2
SB_RIGHT = 7
SB_LEFT = 6
SB_THUMBPOSITION = 4
SB_THUMBTRACK = 5
End Enum
'\\ System command messages
Public Enum enSystemCommands
SC_ARRANGE = &HF110
SC_CLOSE = &HF060
SC_HOTKEY = &HF150
SC_HSCROLL = &HF080
SC_KEYMENU = &HF100
SC_MAXIMIZE = &HF030
SC_MINIMIZE = &HF020
SC_MOUSEMENU = &HF090
SC_MOVE = &HF010
SC_NEXTWINDOW = &HF040
SC_PREVWINDOW = &HF050
SC_RESTORE = &HF120
SC_SCREENSAVE = &HF140
SC_SIZE = &HF000
SC_TASKLIST = &HF130
SC_VSCROLL = &HF070
End Enum
'\\ ShowWindow constants
Public Enum enShowWindow
SW_HIDE = 0
SW_MAX = 10
SW_MAXIMIZE = 3
SW_MINIMIZE = 6
SW_NORMAL = 1
SW_OTHERUNZOOM = 4
SW_OTHERZOOM = 2
SW_PARENTCLOSING = 1
SW_PARENTOPENING = 3
SW_RESTORE = 9
SW_SHOW = 5
SW_SHOWDEFAULT = 10
SW_SHOWMAXIMIZED = 3
SW_SHOWMINIMIZED = 2
SW_SHOWMINNOACTIVE = 7
SW_SHOWNA = 8
SW_SHOWNOACTIVATE = 4
SW_SHOWNORMAL = 1
End Enum
Public Enum enHWND
HWND_BOTTOM = 1
HWND_BROADCAST = &HFFFF&
HWND_DESKTOP = 0
HWND_NOTOPMOST = -2
HWND_TOP = 0
HWND_TOPMOST = -1
End Enum
'\\ Module handles....
Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Public Enum enScrollWindow
SW_ERASE = &H4
SW_SCROLLCHILDREN = &H1
SW_INVALIDATE = &H2
End Enum
Public Enum enHitTestResult
HTBORDER = 18
HTBOTTOM = 15
HTBOTTOMLEFT = 16
HTBOTTOMRIGHT = 17
HTCAPTION = 2
HTCLIENT = 1
HTERROR = (-2)
HTGROWBOX = 4
HTHSCROLL = 6
HTLEFT = 10
HTMAXBUTTON = 9
HTMENU = 5
HTMINBUTTON = 8
HTNOWHERE = 0
HTRIGHT = 11
HTSYSMENU = 3
HTTOP = 12
HTTOPLEFT = 13
HTTOPRIGHT = 14
HTVSCROLL = 7
HTTRANSPARENT = (-1)
HTOBJECT = 19
HTCLOSE = 20
HTHELP = 21
End Enum
'\\ Events of this class
Event ApiError(ByVal Number As Long, ByVal Source As String, ByVal Description As String)
Public Enum enComboBoxMessages
CB_ADDSTRING = &H143
CB_DELETESTRING = &H144
CB_DIR = &H145
CB_FINDSTRING = &H14C
CB_FINDSTRINGEXACT = &H158
CB_GETCOUNT = &H146
CB_GETCURSEL = &H147
CB_GETDROPPEDCONTROLRECT = &H152
CB_GETDROPPEDSTATE = &H157
CB_GETEDITSEL = &H140
CB_GETEXTENDEDUI = &H156
CB_GETITEMDATA = &H150
CB_GETITEMHEIGHT = &H154
CB_GETLBTEXT = &H148
CB_GETLBTEXTLEN = &H149
CB_GETLOCALE = &H15A
CB_INSERTSTRING = &H14A
CB_LIMITTEXT = &H141
CB_RESETCONTENT = &H14B
CB_SELECTSTRING = &H14D
CB_SETCURSEL = &H14E
CB_SETEDITSEL = &H142
CB_SETEXTENDEDUI = &H155
CB_SETITEMDATA = &H151
CB_SETITEMHEIGHT = &H153
CB_SETLOCALE = &H159
CB_SHOWDROPDOWN = &H14F
End Enum
Public Enum enListboxMessages
LB_ADDFILE = &H196
LB_ADDSTRING = &H180
LB_CTLCODE = 0&
LB_DELETESTRING = &H182
LB_DIR = &H18D
LB_FINDSTRING = &H18F
LB_FINDSTRINGEXACT = &H1A2
LB_GETANCHORINDEX = &H19D
LB_GETCARETINDEX = &H19F
LB_GETCOUNT = &H18B
LB_GETCURSEL = &H188
LB_GETHORIZONTALEXTENT = &H193
LB_GETITEMDATA = &H199
LB_GETITEMHEIGHT = &H1A1
LB_GETITEMRECT = &H198
LB_GETLOCALE = &H1A6
LB_GETSEL = &H187
LB_GETSELCOUNT = &H190
LB_GETSELITEMS = &H191
LB_GETTEXT = &H189
LB_GETTEXTLEN = &H18A
LB_GETTOPINDEX = &H18E
LB_INSERTSTRING = &H181
LB_MSGMAX = &H1A8
LB_RESETCONTENT = &H184
LB_SELECTSTRING = &H18C
LB_SELITEMRANGE = &H19B
LB_SELITEMRANGEEX = &H183
LB_SETANCHORINDEX = &H19C
LB_SETCARETINDEX = &H19E
LB_SETCOLUMNWIDTH = &H195
LB_SETCOUNT = &H1A7
LB_SETCURSEL = &H186
LB_SETHORIZONTALEXTENT = &H194
LB_SETITEMDATA = &H19A
LB_SETITEMHEIGHT = &H1A0
LB_SETLOCALE = &H1A5
LB_SETSEL = &H185
LB_SETTABSTOPS = &H192
LB_SETTOPINDEX = &H197
End Enum
Public Enum enPrinterActions
PRINTACTION_OPEN = 0
PRINTACTION_PROPERTIES = 1
PRINTACTION_NETINSTALL = 2
PRINTACTION_NETINSTALLLINK = 3
PRINTACTION_TESTPAGE = 4
PRINTACTION_OPENNETPRN = 5
PRINTACTION_DOCUMENTDEFAULTS = 6
PRINTACTION_SERVERPROPERTIES = 7
End Enum
'SHSTDAPI_(BOOL) SHInvokePrinterCommandA(HWND hwnd, UINT uAction, LPCSTR lpBuf1, LPCSTR lpBuf2, BOOL fModal);
Private Declare Function SHInvokePrinterCommand Lib "shell32.dll" Alias "SHInvokePrinterCommandA" (ByVal hwnd As Long, ByVal uAction As enPrinterActions, ByVal Buffer1 As String, ByVal Buffer2 As String, ByVal Modal As Long) As Long
Private Declare Function InitCommonControlsExApi Lib "comctl32.dll" Alias "InitCommonControlsEx" (ByRef lpInitCtrls As INITCOMMONCONTROLSEX) As Long
Private Type INITCOMMONCONTROLSEX
dwSize As Long
dwICC As Long
End Type
Public Enum enInitCommonControlClasses
ICC_LISTVIEW_CLASSES = &H1 ' listview, header
ICC_TREEVIEW_CLASSES = &H2 ' treeview, tooltips
ICC_BAR_CLASSES = &H4 ' toolbar, statusbar, trackbar, tooltips
ICC_TAB_CLASSES = &H8 ' tab, tooltips
ICC_UPDOWN_CLASS = &H10 ' updown
ICC_PROGRESS_CLASS = &H20 ' progress
ICC_HOTKEY_CLASS = &H40 ' hotkey
ICC_ANIMATE_CLASS = &H80 ' animate
ICC_WIN95_CLASSES = &HFF
ICC_DATE_CLASSES = &H100 ' month picker, date picker, time picker, updown
ICC_USEREX_CLASSES = &H200 ' comboex
ICC_COOL_CLASSES = &H400 ' rebar (coolbar) control
ICC_INTERNET_CLASSES = &H800
ICC_PAGESCROLLER_CLASS = &H1000 ' page scroller
ICC_NATIVEFNTCTL_CLASS = &H2000 ' native font control
End Enum
Public Enum PowerBroadcastMessageTypes
PBT_APMQUERYSUSPEND = &H0
PBT_APMQUERYSTANDBY = &H1
PBT_APMQUERYSUSPENDFAILED = &H2
PBT_APMQUERYSTANDBYFAILED = &H3
PBT_APMSUSPEND = &H4
PBT_APMSTANDBY = &H5
PBT_APMRESUMECRITICAL = &H6
PBT_APMRESUMESUSPEND = &H7
PBT_APMRESUMESTANDBY = &H8
PBT_APMBATTERYLOW = &H9
PBT_APMPOWERSTATUSCHANGE = &HA
PBT_APMOEMEVENT = &HB
PBT_APMRESUMEAUTOMATIC = &H12
End Enum
Public Sub About()
frmAbout.Show
End Sub
Public Property Get CurrentThreadId() As Long
CurrentThreadId = App.ThreadId
End Property
Public Sub DisplayDocumentDefaults(ByVal PrinterName As String, ByVal hwnd As Long)
Dim lret As Long
'\\ Only version 4.71 and above have this :. jump over error
On Error Resume Next
lret = SHInvokePrinterCommand(hwnd, PRINTACTION_DOCUMENTDEFAULTS, PrinterName, "", 0)
End Sub
Public Sub EndLink()
'\\ Kill all internally created objects
If Not (AllSubclassedWindows Is Nothing) Then
Set AllSubclassedWindows = Nothing
End If
If Not (APIDispenser Is Nothing) Then
Set APIDispenser = Nothing
End If
If Not (Eventhandler Is Nothing) Then
Set Eventhandler = Nothing
End If
End Sub
Public Property Get EventhandlerLink() As EnumHandler
Set EventhandlerLink = Eventhandler
End Property
'\\ --[GetBits]---------------------------------------------------------------------------------------
'\\ Returns the requested bits of a long
'\\ Parameters:
'\\ lInput - The long we're splitting up
'\\ nStart (0-31) - The start bit to get
'\\ nEnd (0-31) - The end bit to get
'\\ ----------------------------------------------------------------------------------------
'\\ (c) 2001 - Merrion Computing. All rights to use, reproduce or publish this code reserved
'\\ Please check http://www.merrioncomputing.com for updates.
'\\ ----------------------------------------------------------------------------------------
Public Function GetBits(ByVal lInput As Long, ByVal nStart As Integer, ByVal nEnd As Integer) As Long
Dim lMask As Long
Dim lMaskPos As Long
If nEnd < nStart Then
nEnd = nStart
End If
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -