📄 winuser.h
字号:
#define GW_HWNDLAST 1#define GW_HWNDNEXT 2#define GW_HWNDPREV 3#define GW_OWNER 4#define GW_CHILD 5 /* WM_GETMINMAXINFO struct */typedef struct{ POINT ptReserved; POINT ptMaxSize; POINT ptMaxPosition; POINT ptMinTrackSize; POINT ptMaxTrackSize;} MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO; /* RedrawWindow() flags */#define RDW_INVALIDATE 0x0001#define RDW_INTERNALPAINT 0x0002#define RDW_ERASE 0x0004#define RDW_VALIDATE 0x0008#define RDW_NOINTERNALPAINT 0x0010#define RDW_NOERASE 0x0020#define RDW_NOCHILDREN 0x0040#define RDW_ALLCHILDREN 0x0080#define RDW_UPDATENOW 0x0100#define RDW_ERASENOW 0x0200#define RDW_FRAME 0x0400#define RDW_NOFRAME 0x0800/* debug flags */#define DBGFILL_ALLOC 0xfd#define DBGFILL_FREE 0xfb#define DBGFILL_BUFFER 0xf9#define DBGFILL_STACK 0xf7 /* WM_WINDOWPOSCHANGING/CHANGED struct */typedef struct tagWINDOWPOS{ HWND hwnd; HWND hwndInsertAfter; INT x; INT y; INT cx; INT cy; UINT flags;} WINDOWPOS, *PWINDOWPOS, *LPWINDOWPOS; /* WM_MOUSEACTIVATE return values */#define MA_ACTIVATE 1#define MA_ACTIVATEANDEAT 2#define MA_NOACTIVATE 3#define MA_NOACTIVATEANDEAT 4 /* WM_ACTIVATE wParam values */#define WA_INACTIVE 0#define WA_ACTIVE 1#define WA_CLICKACTIVE 2/* WM_GETICON/WM_SETICON params values */#define ICON_SMALL 0#define ICON_BIG 1 /* WM_NCCALCSIZE parameter structure */typedef struct{ RECT rgrc[3]; WINDOWPOS *lppos;} NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS; /* WM_NCCALCSIZE return flags */#define WVR_ALIGNTOP 0x0010#define WVR_ALIGNLEFT 0x0020#define WVR_ALIGNBOTTOM 0x0040#define WVR_ALIGNRIGHT 0x0080#define WVR_HREDRAW 0x0100#define WVR_VREDRAW 0x0200#define WVR_REDRAW (WVR_HREDRAW | WVR_VREDRAW)#define WVR_VALIDRECTS 0x0400 /* WM_NCHITTEST return codes */#define HTERROR (-2)#define HTTRANSPARENT (-1)#define HTNOWHERE 0#define HTCLIENT 1#define HTCAPTION 2#define HTSYSMENU 3#define HTSIZE 4#define HTMENU 5#define HTHSCROLL 6#define HTVSCROLL 7#define HTMINBUTTON 8#define HTMAXBUTTON 9#define HTLEFT 10#define HTRIGHT 11#define HTTOP 12#define HTTOPLEFT 13#define HTTOPRIGHT 14#define HTBOTTOM 15#define HTBOTTOMLEFT 16#define HTBOTTOMRIGHT 17#define HTBORDER 18#define HTGROWBOX HTSIZE#define HTREDUCE HTMINBUTTON#define HTZOOM HTMAXBUTTON#define HTOBJECT 19#define HTCLOSE 20#define HTHELP 21#define HTSIZEFIRST HTLEFT#define HTSIZELAST HTBOTTOMRIGHT /* WM_SYSCOMMAND parameters */#ifdef SC_SIZE /* at least HP-UX: already defined in /usr/include/sys/signal.h */#undef SC_SIZE#endif#define SC_SIZE 0xf000#define SC_MOVE 0xf010#define SC_MINIMIZE 0xf020#define SC_MAXIMIZE 0xf030#define SC_NEXTWINDOW 0xf040#define SC_PREVWINDOW 0xf050#define SC_CLOSE 0xf060#define SC_VSCROLL 0xf070#define SC_HSCROLL 0xf080#define SC_MOUSEMENU 0xf090#define SC_KEYMENU 0xf100#define SC_ARRANGE 0xf110#define SC_RESTORE 0xf120#define SC_TASKLIST 0xf130#define SC_SCREENSAVE 0xf140#define SC_HOTKEY 0xf150#define CS_VREDRAW 0x0001#define CS_HREDRAW 0x0002#define CS_KEYCVTWINDOW 0x0004#define CS_DBLCLKS 0x0008#define CS_OWNDC 0x0020#define CS_CLASSDC 0x0040#define CS_PARENTDC 0x0080#define CS_NOKEYCVT 0x0100#define CS_NOCLOSE 0x0200#define CS_SAVEBITS 0x0800#define CS_BYTEALIGNCLIENT 0x1000#define CS_BYTEALIGNWINDOW 0x2000#define CS_GLOBALCLASS 0x4000#define CS_IME 0x00010000#define PRF_CHECKVISIBLE 0x00000001L#define PRF_NONCLIENT 0x00000002L#define PRF_CLIENT 0x00000004L#define PRF_ERASEBKGND 0x00000008L#define PRF_CHILDREN 0x00000010L#define PRF_OWNED 0x00000020L /* Offsets for GetClassLong() and GetClassWord() */#define GCL_MENUNAME (-8)#define GCW_HBRBACKGROUND (-10)#define GCL_HBRBACKGROUND GCW_HBRBACKGROUND#define GCW_HCURSOR (-12)#define GCL_HCURSOR GCW_HCURSOR#define GCW_HICON (-14)#define GCL_HICON GCW_HICON#define GCW_HMODULE (-16)#define GCL_HMODULE GCW_HMODULE#define GCW_CBWNDEXTRA (-18)#define GCL_CBWNDEXTRA GCW_CBWNDEXTRA#define GCW_CBCLSEXTRA (-20)#define GCL_CBCLSEXTRA GCW_CBCLSEXTRA#define GCL_WNDPROC (-24)#define GCW_STYLE (-26)#define GCL_STYLE GCW_STYLE#define GCW_ATOM (-32)#define GCW_HICONSM (-34)#define GCL_HICONSM GCW_HICONSM/***** Window hooks *****/ /* Hook values */#define WH_MIN (-1)#define WH_MSGFILTER (-1)#define WH_JOURNALRECORD 0#define WH_JOURNALPLAYBACK 1#define WH_KEYBOARD 2#define WH_GETMESSAGE 3#define WH_CALLWNDPROC 4#define WH_CBT 5#define WH_SYSMSGFILTER 6#define WH_MOUSE 7#define WH_HARDWARE 8#define WH_DEBUG 9#define WH_SHELL 10#define WH_FOREGROUNDIDLE 11#define WH_CALLWNDPROCRET 12#define WH_MAX 12#define WH_MINHOOK WH_MIN#define WH_MAXHOOK WH_MAX#define WH_NB_HOOKS (WH_MAXHOOK-WH_MINHOOK+1) /* Hook action codes */#define HC_ACTION 0#define HC_GETNEXT 1#define HC_SKIP 2#define HC_NOREMOVE 3#define HC_NOREM HC_NOREMOVE#define HC_SYSMODALON 4#define HC_SYSMODALOFF 5 /* CallMsgFilter() values */#define MSGF_DIALOGBOX 0#define MSGF_MESSAGEBOX 1#define MSGF_MENU 2#define MSGF_MOVE 3#define MSGF_SIZE 4#define MSGF_SCROLLBAR 5#define MSGF_NEXTWINDOW 6#define MSGF_MAINLOOP 8#define MSGF_USER 4096typedef struct{ UINT style; WNDPROC lpfnWndProc; INT cbClsExtra; INT cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCSTR lpszMenuName; LPCSTR lpszClassName;} WNDCLASSA, *LPWNDCLASSA;typedef struct{ UINT style; WNDPROC lpfnWndProc; INT cbClsExtra; INT cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCWSTR lpszMenuName; LPCWSTR lpszClassName;} WNDCLASSW, *LPWNDCLASSW;DECL_WINELIB_TYPE_AW(WNDCLASS)DECL_WINELIB_TYPE_AW(LPWNDCLASS)typedef struct { DWORD dwData; DWORD cbData; LPVOID lpData;} COPYDATASTRUCT, *PCOPYDATASTRUCT, *LPCOPYDATASTRUCT;typedef struct { HMENU hmenuIn; HMENU hmenuNext; HWND hwndNext;} MDINEXTMENU, *PMDINEXTMENU, *LPMDINEXTMENU;/* WinHelp internal structure */typedef struct { WORD size; WORD command; LONG data; LONG reserved; WORD ofsFilename; WORD ofsData;} WINHELP,*LPWINHELP;typedef struct{ UINT16 mkSize; BYTE mkKeyList; BYTE szKeyphrase[1];} MULTIKEYHELP, *LPMULTIKEYHELP;typedef struct { WORD wStructSize; WORD x; WORD y; WORD dx; WORD dy; WORD wMax; char rgchMember[2];} HELPWININFO, *LPHELPWININFO;#define HELP_CONTEXT 0x0001#define HELP_QUIT 0x0002#define HELP_INDEX 0x0003#define HELP_CONTENTS 0x0003#define HELP_HELPONHELP 0x0004#define HELP_SETINDEX 0x0005#define HELP_SETCONTENTS 0x0005#define HELP_CONTEXTPOPUP 0x0008#define HELP_FORCEFILE 0x0009#define HELP_KEY 0x0101#define HELP_COMMAND 0x0102#define HELP_PARTIALKEY 0x0105#define HELP_MULTIKEY 0x0201#define HELP_SETWINPOS 0x0203#define HELP_CONTEXTMENU 0x000a#define HELP_FINDER 0x000b#define HELP_WM_HELP 0x000c#define HELP_SETPOPUP_POS 0x000d#define HELP_TCARD 0x8000#define HELP_TCARD_DATA 0x0010#define HELP_TCARD_OTHER_CALLER 0x0011 /* ChangeDisplaySettings return codes */#define DISP_CHANGE_SUCCESSFUL 0#define DISP_CHANGE_RESTART 1#define DISP_CHANGE_FAILED (-1)#define DISP_CHANGE_BADMODE (-2)#define DISP_CHANGE_NOTUPDATED (-3)#define DISP_CHANGE_BADFLAGS (-4)#define DISP_CHANGE_BADPARAM (-5)/* ChangeDisplaySettings.dwFlags */#define CDS_UPDATEREGISTRY 0x00000001#define CDS_TEST 0x00000002#define CDS_FULLSCREEN 0x00000004#define CDS_GLOBAL 0x00000008#define CDS_SET_PRIMARY 0x00000010#define CDS_RESET 0x40000000#define CDS_SETRECT 0x20000000#define CDS_NORESET 0x10000000/* flags to FormatMessage */#define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100#define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200#define FORMAT_MESSAGE_FROM_STRING 0x00000400#define FORMAT_MESSAGE_FROM_HMODULE 0x00000800#define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000#define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000#define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FFtypedef struct{ UINT cbSize; UINT style; WNDPROC lpfnWndProc; INT cbClsExtra; INT cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCSTR lpszMenuName; LPCSTR lpszClassName; HICON hIconSm;} WNDCLASSEXA, *LPWNDCLASSEXA;typedef struct{ UINT cbSize; UINT style; WNDPROC lpfnWndProc; INT cbClsExtra; INT cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCWSTR lpszMenuName; LPCWSTR lpszClassName; HICON hIconSm;} WNDCLASSEXW, *LPWNDCLASSEXW;DECL_WINELIB_TYPE_AW(WNDCLASSEX)DECL_WINELIB_TYPE_AW(LPWNDCLASSEX)typedef struct tagMSG{ HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt;} MSG, *LPMSG;#define POINTSTOPOINT(pt, pts) \ { (pt).x = (LONG)(SHORT)LOWORD(*(LONG*)&pts); \ (pt).y = (LONG)(SHORT)HIWORD(*(LONG*)&pts); } #define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x), (short)((pt).y)))/* Cursors / Icons */typedef struct { WIN_BOOL fIcon; DWORD xHotspot; DWORD yHotspot; HBITMAP hbmMask; HBITMAP hbmColor;} ICONINFO,*LPICONINFO;/* this is the 6 byte accel struct used in Win32 when presented to the user */typedef struct{ BYTE fVirt; BYTE pad0; WORD key; WORD cmd;} ACCEL, *LPACCEL;/* this is the 8 byte accel struct used in Win32 resources (internal only) */typedef struct{ BYTE fVirt; BYTE pad0; WORD key; WORD cmd; WORD pad1;} PE_ACCEL, *LPPE_ACCEL;/* Flags for TrackPopupMenu */#define TPM_LEFTBUTTON 0x0000#define TPM_RIGHTBUTTON 0x0002#define TPM_LEFTALIGN 0x0000#define TPM_CENTERALIGN 0x0004#define TPM_RIGHTALIGN 0x0008#define TPM_TOPALIGN 0x0000#define TPM_VCENTERALIGN 0x0010#define TPM_BOTTOMALIGN 0x0020#define TPM_HORIZONTAL 0x0000#define TPM_VERTICAL 0x0040#define TPM_NONOTIFY 0x0080#define TPM_RETURNCMD 0x0100typedef struct { UINT cbSize; RECT rcExclude;} TPMPARAMS, *LPTPMPARAMS;/* FIXME: not sure this one is correct */typedef struct { UINT cbSize;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -