📄 win32n.inc
字号:
%ifndef INCLUDED_WIN32N_INC
%define INCLUDED_WIN32N_INC
; Win32n.inc
; ===========
;
; ProcDump Task/Handler Structures definitions
;
; ----- Some constants -----
MAX_PATH EQU 260 ; maximum path length
MAX_MODULE_NAME32 EQU 256 ; Leave room for the zero and padding
; ----- Module list walking -----
;MODULEENTRY_ EQU 4+4+4+4+4+4+4+4+MAX_MODULE_NAME32+MAX_PATH
STRUC MODULEENTRY
.me_dwSize RESD 1
.me_th32ModuleID RESD 1 ; This module
.me_th32ProcessID RESD 1 ; owning process
.me_GlblcntUsage RESD 1 ; Global usage count on the module
.me_ProccntUsage RESD 1 ; Module usage count in th32ProcessID's context
.me_modBaseAddr RESD 1 ; Base address of module in th32ProcessID's context
.me_modBaseSize RESD 1 ; Size in bytes of module starting at modBaseAddr
.me_hModule RESD 1 ; The hModule of this module in th32ProcessID's context
.me_ModuleName RESB MAX_MODULE_NAME32
.me_ExePath RESB MAX_PATH
ENDSTRUC
; ----- Task list walking -----
;TASKENTRY_ EQU 4+4+4+4+4+4+4+4+4+MAX_PATH
STRUC TASKENTRY
.te_dwSize RESD 1
.te_linkedAPP RESD 1
.te_hTask RESD 1
.te_heapID RESD 1
.te_moduleID RESD 1
.te_nbofthread RESD 1
.te_hOwner RESD 1
.te_priority RESD 1
.te_zero RESD 1
.te_ProcName RESB MAX_PATH
ENDSTRUC
; ----- NT PSAPI stuff -----
;NTMODULEINFO_ EQU 4+4+4
STRUC NTMODULEINFO
.mi_BaseModule RESD 1
.mi_SizeOfImage RESD 1
.mi_EntryPoint RESD 1
ENDSTRUC
;==============================================================================
;
; BASIC TYPES
;
;==============================================================================
%define ATOM DWORD ;string atom
%define BOOL DWORD ;boolean variable
%define COLORREF DWORD ;rgb color
%define DWORDLONG QWORD ;long double word
%define HACCEL DWORD ;accelerator handle
%define HANDLE DWORD ;unspecified handle
%define HBITMAP DWORD ;bitmap handle
%define HBRUSH DWORD ;brush handle
%define HCOLORSPACE DWORD ;color space handle
%define HCURSOR DWORD ;cursor handle
%define HDC DWORD ;device context handle
%define HDWP DWORD ;defer win pos handle
%define HENHMETAFILE DWORD ;enh. metafile handle
%define HFILE DWORD ;file handle
%define HFONT DWORD ;font handle
%define HGLOBAL DWORD ;global handle
%define HHOOK DWORD ;hook handle
%define HICON DWORD ;icon handle
%define HINSTANCE DWORD ;instance handle
%define HINTERNET DWORD ;internet handle
%define HLOCAL DWORD ;local handle
%define HMENU DWORD ;menu handle
%define HMETAFILE DWORD ;metafile handle
%define HPALETTE DWORD ;palette handle
%define HPEN DWORD ;pen handle
%define HRGN DWORD ;region handle
%define HRSRC DWORD ;resource handle
%define HSTR DWORD ;string handle
%define HTASK DWORD ;task handle
%define HTREEITEM DWORD ;tree view item handle
%define HWND DWORD ;window handle
%define INTEGER DWORD ;standard integer
%define LOCALHANDLE DWORD ;local handle
%define LONG DWORD ;long integer
%define LONGINT DWORD ;long integer
%define LPARAM DWORD ;long parameter
%define LPBOOL DWORD ;long ptr to boolean
%define LPBYTE DWORD ;long ptr to byte
%define LPCSTR DWORD ;long ptr to string
%define LPCTSTR DWORD ;long ptr to string
%define LPCVOID DWORD ;long ptr to buffer
%define LPDWORD DWORD ;long ptr to dword
%define LPFN DWORD ;long ptr to function
%define LPINT DWORD ;long ptr to integer
%define LPLONG DWORD ;long ptr to long int
%define LPSTR DWORD ;long ptr to string
%define LPTSTR DWORD ;long ptr to string
%define LPVOID DWORD ;long ptr to buffer
%define LPWORD DWORD ;long ptr to word
%define LRESULT DWORD ;long result
%define LPMSG DWORD
%define LPRECT DWORD
%define POINTER DWORD ;pointer to anything
%define PVOID DWORD ;pointer to buffer
%define UINT DWORD ;unsigned integer
%define WNDPROC DWORD ;window procedure
%define WPARAM DWORD ;dword parameter
; The following equates allow direct access to the incoming parms from
; stack level 0 of a callback procedure such as a WinProc.
; These textequ are only valid if and when NOTHING has been pushed to
; the stack. This supposes that no "enter" sequence (push EBP/mov EBP,ESP)
; has been executed, and thus that the PROC declaration doesn't mention any
; parm.
; If the PROC does declare parms, you don't need these equates anyway.
%define ESPhWnd [esp+04] ;window handle
%define ESPhDlg [esp+04] ;dialog handle
%define ESPwMsg [esp+08] ;message id
%define ESPwParam [esp+12] ;additional parameter
%define ESPlParam [esp+16] ;additional parameter
;==============================================================================
;
; BASIC CONSTANTS
;
;==============================================================================
NULL EQU 0 ;null
FALSE EQU 0 ;boolean false
TRUE EQU 1 ;boolean true
;------------------------------------------------------------------------------
BUTTON EQU 0080h ;button class
EDIT EQU 0081h ;edit class
STATIC EQU 0082h ;static class
LISTBOX EQU 0083h ;list box class
SCROLLBAR EQU 0084h ;scroll bar class
COMBOBOX EQU 0085h ;combo box class
;------------------------------------------------------------------------------
OFS_MAXPATHNAME EQU 128 ;max OFSTRUCT path len
;------------------------------------------------------------------------------
INVALID_HANDLE_VALUE EQU 0FFFFFFFFh ;invalid handle
INVALID_FILE_SIZE EQU 0FFFFFFFFh ;invalid file size
INVALID_FILE_POINTER EQU 0FFFFFFFFh ;invalid file pointer
;==============================================================================
;
; WIN32 CONSTANTS
;
;==============================================================================
; ========================
; bitmap compression types
; ========================
BI_RGB EQU 0
BI_RLE8 EQU 1
BI_RLE4 EQU 2
BI_BITFIELDS EQU 3
;------------------------------------------------------------------------------
; =======================
; button control messages
; =======================
BM_GETCHECK EQU 00F0h
BM_SETCHECK EQU 00F1h
BM_GETSTATE EQU 00F2h
BM_SETSTATE EQU 00F3h
BM_SETSTYLE EQU 00F4h
BM_CLICK EQU 00F5h
BM_GETIMAGE EQU 00F6h
BM_SETIMAGE EQU 00F7h
;------------------------------------------------------------------------------
; ============================
; button control notifications
; ============================
BN_CLICKED EQU 0000h
BN_PAINT EQU 0001h
BN_HILITE EQU 0002h
BN_UNHILITE EQU 0003h
BN_DISABLE EQU 0004h
BN_DOUBLECLICKED EQU 0005h
BN_SETFOCUS EQU 0006h
BN_KILLFOCUS EQU 0007h
BN_PUSHED EQU BN_HILITE
BN_UNPUSHED EQU BN_UNHILITE
BN_DBLCLK EQU BN_DOUBLECLICKED
;------------------------------------------------------------------------------
;
; ==================
; combo box messages
; ==================
;
CB_GETEDITSEL EQU 0140h
CB_LIMITTEXT EQU 0141h
CB_SETEDITSEL EQU 0142h
CB_ADDSTRING EQU 0143h
CB_DELETESTRING EQU 0144h
CB_DIR EQU 0145h
CB_GETCOUNT EQU 0146h
CB_GETCURSEL EQU 0147h
CB_GETLBTEXT EQU 0148h
CB_GETLBTEXTLEN EQU 0149h
CB_INSERTSTRING EQU 014Ah
CB_RESETCONTENT EQU 014Bh
CB_FINDSTRING EQU 014Ch
CB_SELECTSTRING EQU 014Dh
CB_SETCURSEL EQU 014Eh
CB_SHOWDROPDOWN EQU 014Fh
CB_GETITEMDATA EQU 0150h
CB_SETITEMDATA EQU 0151h
CB_GETDROPPEDCONTROLRECT EQU 0152h
CB_SETITEMHEIGHT EQU 0153h
CB_GETITEMHEIGHT EQU 0154h
CB_SETEXTENDEDUI EQU 0155h
CB_GETEXTENDEDUI EQU 0156h
CB_GETDROPPEDSTATE EQU 0157h
CB_FINDSTRINGEXACT EQU 0158h
CB_SETLOCALE EQU 0159h
CB_GETLOCALE EQU 015Ah
CB_GETTOPINDEX EQU 015Bh
CB_SETTOPINDEX EQU 015Ch
CB_GETHORIZONTALEXTENT EQU 015Dh
CB_SETHORIZONTALEXTENT EQU 015Eh
CB_GETDROPPEDWIDTH EQU 015Fh
CB_SETDROPPEDWIDTH EQU 0160h
CB_INITSTORAGE EQU 0161h
CB_MSGMAX EQU 0162h
;------------------------------------------------------------------------------
; =======================
; combo box return values
; =======================
CB_OKAY EQU 0
CB_ERR EQU -1
CB_ERRSPACE EQU -2
;------------------------------------------------------------------------------
; ======================
; CreateDIBitmap() codes
; ======================
CBM_INIT EQU 4
;------------------------------------------------------------------------------
; ============================
; combo box notification codes
; ============================
CBN_ERRSPACE EQU -1
CBN_SELCHANGE EQU 1
CBN_DBLCLK EQU 2
CBN_SETFOCUS EQU 3
CBN_KILLFOCUS EQU 4
CBN_EDITCHANGE EQU 5
CBN_EDITUPDATE EQU 6
CBN_DROPDOWN EQU 7
CBN_CLOSEUP EQU 8
CBN_SELENDOK EQU 9
CBN_SELENDCANCEL EQU 10
;------------------------------------------------------------------------------
; =================
; clipboard formats
; =================
CF_TEXT EQU 0001h
CF_BITMAP EQU 0002h
CF_METAFILEPICT EQU 0003h
CF_SYLK EQU 0004h
CF_DIF EQU 0005h
CF_TIFF EQU 0006h
CF_OEMTEXT EQU 0007h
CF_DIB EQU 0008h
CF_PALETTE EQU 0009h
CF_PENDATA EQU 000Ah
CF_RIFF EQU 000Bh
CF_WAVE EQU 000Ch
CF_UNICODETEXT EQU 000Dh
CF_ENHMETAFILE EQU 000Eh
CF_HDROP EQU 000Fh
CF_LOCALE EQU 0010h
CF_MAX EQU 0011h
CF_OWNERDISPLAY EQU 0080h
CF_DSPTEXT EQU 0081h
CF_DSPBITMAP EQU 0082h
CF_DSPMETAFILEPICT EQU 0083h
CF_DSPENHMETAFILE EQU 008Eh
CF_PRIVATEFIRST EQU 0200h
CF_PRIVATELAST EQU 02FFh
;
CF_GDIOBJFIRST EQU 0300h
CF_GDIOBJLAST EQU 03FFh
;------------------------------------------------------------------------------
; ===========
; color types
; ===========
COLOR_SCROLLBAR EQU 0
COLOR_BACKGROUND EQU 1
COLOR_ACTIVECAPTION EQU 2
COLOR_INACTIVECAPTION EQU 3
COLOR_MENU EQU 4
COLOR_WINDOW EQU 5
COLOR_WINDOWFRAME EQU 6
COLOR_MENUTEXT EQU 7
COLOR_WINDOWTEXT EQU 8
COLOR_CAPTIONTEXT EQU 9
COLOR_ACTIVEBORDER EQU 10
COLOR_INACTIVEBORDER EQU 11
COLOR_APPWORKSPACE EQU 12
COLOR_HIGHLIGHT EQU 13
COLOR_HIGHLIGHTTEXT EQU 14
COLOR_BTNFACE EQU 15
COLOR_BTNSHADOW EQU 16
COLOR_GRAYTEXT EQU 17
COLOR_BTNTEXT EQU 18
COLOR_INACTIVECAPTIONTEXT EQU 19
COLOR_BTNHIGHLIGHT EQU 20
COLOR_3DDKSHADOW EQU 21
COLOR_3DLIGHT EQU 22
COLOR_INFOTEXT EQU 23
COLOR_INFOBK EQU 24
COLOR_DESKTOP EQU COLOR_BACKGROUND
COLOR_3DFACE EQU COLOR_BTNFACE
COLOR_3DSHADOW EQU COLOR_BTNSHADOW
COLOR_3DHIGHLIGHT EQU COLOR_BTNHIGHLIGHT
COLOR_3DHILIGHT EQU COLOR_BTNHIGHLIGHT
COLOR_BTNHILIGHT EQU COLOR_BTNHIGHLIGHT
;------------------------------------------------------------------------------
; ===================
; network connections
; ===================
CONNECT_UPDATE_PROFILE EQU 00000001h
CONNECT_UPDATE_RECENT EQU 00000002h
CONNECT_TEMPORARY EQU 00000004h
CONNECT_INTERACTIVE EQU 00000008h
CONNECT_PROMPT EQU 00000010h
CONNECT_NEED_DRIVE EQU 00000020h
CONNECT_REFCOUNT EQU 00000040h
CONNECT_REDIRECT EQU 00000080h
CONNECT_LOCALDRIVE EQU 00000100h
CONNECT_CURRENT_MEDIA EQU 00000200h
NETPROPERTY_PERSISTENT EQU 1
;------------------------------------------------------------------------------
; ====================
; thread context flags
; ====================
CONTEXT_i386 EQU 00010000h
CONTEXT_i486 EQU 00010000h
CONTEXT_CONTROL EQU CONTEXT_i386|00000001h
CONTEXT_INTEGER EQU CONTEXT_i386|00000002h
CONTEXT_SEGMENTS EQU CONTEXT_i386|00000004h
CONTEXT_FLOATING_POINT EQU CONTEXT_i386|00000008h
CONTEXT_DEBUG_REGISTERS EQU CONTEXT_i386|00000010h
CONTEXT_FULL EQU CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS
SIZE_OF_80387_REGISTERS EQU 80
;------------------------------------------------------------------------------
; ==========
; code pages
; ==========
CP_ACP EQU 0
CP_OEMCP EQU 1
CP_MACCP EQU 2
;------------------------------------------------------------------------------
; ============
; class styles
; ============
CS_VREDRAW EQU 00000001h
CS_HREDRAW EQU 00000002h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -