mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1712 lines
33 KiB
1712 lines
33 KiB
/****************************** Module Header ******************************\
|
|
* Module Name: globals.c
|
|
*
|
|
* Copyright (c) 1985-91, Microsoft Corporation
|
|
*
|
|
* This module contains all the server's global variables. One must be
|
|
* executing on the server's context to manipulate any of these variables.
|
|
* Serializing access to them is also a good idea.
|
|
*
|
|
* History:
|
|
* 10-15-90 DarrinM Created.
|
|
\***************************************************************************/
|
|
|
|
#include "precomp.h"
|
|
#pragma hdrstop
|
|
|
|
CAPTIONCACHE cachedCaptions[CCACHEDCAPTIONS];
|
|
|
|
BOOL gfAnimate = FALSE;
|
|
|
|
PTHREADINFO gptiCurrent = NULL;
|
|
|
|
/*
|
|
* Wallpaper globals.
|
|
*/
|
|
HBITMAP ghbmWallpaper = NULL;
|
|
HPALETTE ghpalWallpaper = NULL;
|
|
POINT gptDesktop = {0,0};
|
|
RECT grcWallpaper = {0,0,0,0};
|
|
UINT gwWPStyle = 0;
|
|
|
|
HBITMAP ghbmDesktop = NULL;
|
|
|
|
/*
|
|
* Full-Drag.
|
|
*/
|
|
BOOL gfDraggingFullWindow = FALSE;
|
|
HRGN ghrgnUpdateSave = NULL;
|
|
int gnUpdateSave = 0;
|
|
|
|
/*
|
|
* list of thread attachments
|
|
*/
|
|
PATTACHINFO gpai;
|
|
|
|
/*
|
|
* Pointer to shared SERVERINFO data.
|
|
*/
|
|
PSERVERINFO gpsi;
|
|
SHAREDINFO gSharedInfo;
|
|
PVOID ghheapSharedRO;
|
|
HANDLE ghReadOnlySharedSection;
|
|
PVOID gpReadOnlySharedSectionBase;
|
|
|
|
HANDLE CsrApiPort;
|
|
|
|
DWORD gdwDesktopSectionSize;
|
|
DWORD gdwNOIOSectionSize;
|
|
PDESKTOP gpdeskRecalcQueueAttach = NULL;
|
|
BOOL gfAllowForegroundActivate = FALSE;
|
|
|
|
/*
|
|
* Handle table globals.
|
|
*/
|
|
DWORD giheLast = 0; /* index to last allocated handle entry */
|
|
|
|
/*
|
|
* full screen globals
|
|
*/
|
|
PWND gspwndScreenCapture = NULL;
|
|
|
|
UINT guiActivateShellWindow = 0;
|
|
UINT guiOtherWindowCreated = 0;
|
|
UINT guiOtherWindowDestroyed = 0;
|
|
PWND gspwndInternalCapture = NULL;
|
|
PWND gspwndFullScreen = NULL;
|
|
BOOL gfLockFullScreen;
|
|
|
|
PCHAR gpFullscreenFrameBufPtr = NULL;
|
|
|
|
/*
|
|
* Static DESKTOPINFO
|
|
*
|
|
* This is allocated in (server.c) during initialization, and is set
|
|
* to the system-threads which do not have desktops. This is a temporary
|
|
* measure to prevent GPF's when a thread needs to have a valid pointer to
|
|
* a spdesk->pDeskInfo struct.
|
|
*/
|
|
PDESKTOPINFO gpdiStatic = NULL;
|
|
|
|
/*
|
|
* List of physical devices.
|
|
* entry zero is reserved for the vga device and handle.
|
|
*/
|
|
PHYSICAL_DEV_INFO gphysDevInfo[] = {
|
|
L"", NULL, NULL, USER_DEVICE_NOTOWNED, 0, 0, NULL, 0, NULL,
|
|
L"\\Device\\Video0", NULL, NULL, USER_DEVICE_NOTOWNED, 0, 0, NULL, 0, NULL,
|
|
L"\\Device\\Video1", NULL, NULL, USER_DEVICE_NOTOWNED, 0, 0, NULL, 0, NULL,
|
|
L"\\Device\\Video2", NULL, NULL, USER_DEVICE_NOTOWNED, 0, 0, NULL, 0, NULL,
|
|
L"\\Device\\Video3", NULL, NULL, USER_DEVICE_NOTOWNED, 0, 0, NULL, 0, NULL,
|
|
L"\\Device\\Video4", NULL, NULL, USER_DEVICE_NOTOWNED, 0, 0, NULL, 0, NULL,
|
|
L"\\Device\\Video5", NULL, NULL, USER_DEVICE_NOTOWNED, 0, 0, NULL, 0, NULL,
|
|
};
|
|
|
|
DWORD cphysDevInfo = sizeof(gphysDevInfo) / sizeof(PHYSICAL_DEV_INFO);
|
|
|
|
#if CHRISWIL
|
|
int gcxScreen;
|
|
int gcyScreen;
|
|
int gcxPrimaryScreen;
|
|
int gcyPrimaryScreen;
|
|
HDC ghdcScreen = (HDC)NULL;
|
|
HDC ghdcBits;
|
|
RECT rcScreen;
|
|
RECT rcPrimaryScreen;
|
|
HDC hdcGray = (HDC)NULL;
|
|
HBITMAP hbmGray;
|
|
int cxGray = 0;
|
|
int cyGray = 0;
|
|
DCE *pdceFirst; // Ptr to first entry in cache
|
|
SPB *pspbFirst = (SPB *)NULL;
|
|
HDEV ghdev = (HDEV)NULL;
|
|
PDEVICE_LOCK gpDevLock;
|
|
#else
|
|
PDISPLAYINFO gpDispInfo;
|
|
#endif
|
|
|
|
PTHREADINFO gptiTasklist = NULL;
|
|
PTHREADINFO gptiShutdownNotify = NULL;
|
|
PTHREADINFO gptiLockUpdate = NULL;
|
|
PTHREADINFO gptiForeground = NULL;
|
|
PTHREADINFO gptiRit;
|
|
PQ gpqForeground = NULL;
|
|
PQ gpqForegroundPrev = NULL;
|
|
PQ gpqCursor = NULL;
|
|
PCURSOR gpcurFirst = NULL;
|
|
PWND gspwndCursor;
|
|
PPROCESSINFO gppiStarting;
|
|
PPROCESSINFO gppiWantForegroundPriority = NULL;
|
|
PWOWPROCESSINFO gpwpiFirstWow = NULL;
|
|
PWOWTHREADINFO gpwtiFirst = NULL;
|
|
BOOL gbMasterTimerSet = FALSE;
|
|
PTIMER gptmrFirst;
|
|
UINT gtmridAniCursor = 0;
|
|
PCURSOR gpcurLogCurrent = NULL;
|
|
PCURSOR gpcurPhysCurrent = NULL;
|
|
PHOTKEY gphkFirst;
|
|
BOOL gbActiveWindowTracking = FALSE;
|
|
|
|
/*
|
|
* NOTE -- gcHotKey has nothing to do with the hotkey list started
|
|
* by gphkFirst.
|
|
*/
|
|
int gcHotKey = 0;
|
|
PKTIMER gptmrMaster;
|
|
INT gdmsNextTimer, gcmsLastTimer;
|
|
PCLS gpclsList = NULL;
|
|
PHUNGREDRAWLIST gphrl = NULL;
|
|
|
|
SECURITY_QUALITY_OF_SERVICE gqosDefault = {
|
|
sizeof(SECURITY_QUALITY_OF_SERVICE),
|
|
SecurityImpersonation,
|
|
SECURITY_STATIC_TRACKING,
|
|
TRUE
|
|
};
|
|
|
|
HARDERRORHANDLER gHardErrorHandler;
|
|
|
|
PERESOURCE gpresUser;
|
|
PERESOURCE gpresMouseEventQueue;
|
|
|
|
POINT gptCursorAsync;
|
|
|
|
PSMS gpsmsList;
|
|
|
|
/*
|
|
* Sys expunge control data.
|
|
*/
|
|
DWORD gdwSysExpungeMask; // hmods to be expunged
|
|
DWORD gcSysExpunge; // current count of expunges performed
|
|
|
|
PWINDOWSTATION grpwinstaList = NULL;
|
|
HANDLE gpidLogon = NULL;
|
|
PEPROCESS gpepSystem = NULL;
|
|
PEPROCESS gpepCSRSS = NULL;
|
|
|
|
PDESKTOP grpdeskRitInput = NULL;
|
|
|
|
/*
|
|
* Event set by mouse driver when input is available
|
|
*/
|
|
HANDLE ghevtMouseInput;
|
|
|
|
/*
|
|
* Accessibility globals
|
|
*/
|
|
FILTERKEYS gFilterKeys;
|
|
STICKYKEYS gStickyKeys;
|
|
MOUSEKEYS gMouseKeys;
|
|
ACCESSTIMEOUT gAccessTimeOut;
|
|
TOGGLEKEYS gToggleKeys;
|
|
SOUNDSENTRY gSoundSentry;
|
|
int fShowSoundsOn;
|
|
BOOL gfAccessEnabled;
|
|
int gPhysModifierState = 0;
|
|
int gCurrentModifierBit = 0;
|
|
|
|
|
|
/*
|
|
* Multilingual keyboard layout support.
|
|
*/
|
|
PKL gspklBaseLayout = (PKL)NULL;
|
|
PKBDFILE gpkfList = (PKBDFILE)NULL;
|
|
HKL LCIDSentToShell = (HKL)0;
|
|
DWORD gSystemCPB = 0; // System's input locale codepage bitfield
|
|
|
|
KBDLANGTOGGLE LangToggle[] = {
|
|
VK_MENU, 0, 1,
|
|
0, SCANCODE_LSHIFT, 2,
|
|
0, SCANCODE_RSHIFT, 4
|
|
};
|
|
|
|
DWORD cLangToggleKeys = sizeof(LangToggle) / sizeof(KBDLANGTOGGLE);
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// THIS STUFF WAS ALL COPIED VERBATIM FROM WIN 3.0'S INUSERDS.C. AS THESE
|
|
// VARIABLES ARE FINALIZED THEY SHOULD BE MOVED FROM THIS SECTION AND
|
|
// INTEGRATED WITH THE 'MAINSTREAM' GLOBALS.C (i.e. the stuff above here)
|
|
//
|
|
|
|
/*
|
|
* Points to currently active Keyboard Layer tables
|
|
*/
|
|
PKBDTABLES gpKbdTbl = &KbdTablesNull;
|
|
|
|
/*
|
|
* Async key state tables. gafAsyncKeyState holds the down bit and toggle
|
|
* bit, gafAsyncKeyStateRecentDown hold the bits indicates a key has gone
|
|
* down since the last read.
|
|
*/
|
|
BYTE gafAsyncKeyState[CBKEYSTATE];
|
|
BYTE gafAsyncKeyStateRecentDown[CBKEYSTATERECENTDOWN];
|
|
/*
|
|
* Physical Key state: this is the real, physical condition of the keyboard,
|
|
* (assuming Scancodes are correctly translated to Virtual Keys). It is used
|
|
* for modifying and processing key events as they are received in ntinput.c
|
|
* The Virtual Keys recorded here are obtained directly from the Virtual
|
|
* Scancode via the awVSCtoVK[] table: no shift-state, numlock or other
|
|
* conversions are applied.
|
|
* Left & right SHIFT, CTRL and ALT keys are distinct. (VK_RSHIFT etc.)
|
|
*/
|
|
BYTE gafPhysKeyState[CBKEYSTATE];
|
|
|
|
WCHAR szUSER32[] = TEXT("USER32");
|
|
|
|
WCHAR szNull[2] = { TEXT('\0'), TEXT('\015') };
|
|
|
|
WCHAR szWindowStationDirectory[] = WINSTA_DIR;
|
|
|
|
DWORD dwMouseMoveExtraInfo;
|
|
|
|
RECT rcCursorClip;
|
|
|
|
|
|
int MouseSpeed;
|
|
int MouseThresh1;
|
|
int MouseThresh2;
|
|
|
|
ATOM gatomConsoleClass;
|
|
ATOM gatomFirstPinned = 0;
|
|
ATOM gatomLastPinned = 0;
|
|
ATOM atomCheckpointProp;
|
|
ATOM atomDDETrack;
|
|
ATOM atomQOS;
|
|
ATOM atomDDEImp;
|
|
ATOM atomUSER32;
|
|
LPWSTR gpwszDDEMLEVENTCLASS;
|
|
UINT guDdeSendTimeout = 0;
|
|
|
|
/*
|
|
* !!! REVIEW !!! Take a careful look at everyone one of these globals.
|
|
* In Win3, they often indicated some temporary state that would make
|
|
* a critical section under Win32.
|
|
*/
|
|
|
|
BOOL fBeep = TRUE; /* Warning beeps allowed? */
|
|
BOOL gbExtendedSounds = FALSE; /* Extended sounds enabling */
|
|
|
|
BOOL fDragFullWindows=FALSE; /* Drag xor rect or full windows */
|
|
|
|
INT nFastAltTabRows=3; /* Rows of icons in quick switch window */
|
|
INT nFastAltTabColumns=7; /* Columns of icons in quick switch window */
|
|
|
|
DWORD dwThreadEndSession = 0; /* Shutting down system? */
|
|
|
|
BOOL fIconTitleWrap = FALSE; /* Wrap icon titles or just use single line */
|
|
|
|
BYTE *pState;
|
|
|
|
WCHAR szUNTITLED[15];
|
|
|
|
WCHAR szOneChar[] = TEXT("0");
|
|
WCHAR szY[] = TEXT("Y");
|
|
WCHAR szy[] = TEXT("y");
|
|
WCHAR szN[] = TEXT("N");
|
|
WCHAR sz1[] = TEXT("1");
|
|
|
|
#ifdef KANJI
|
|
|
|
WCHAR szKanjiMenu[] = TEXT("KanjiMenu");
|
|
WCHAR szM[] = TEXT("M");
|
|
WCHAR szR[] = TEXT("R");
|
|
WCHAR szK[] = TEXT("K");
|
|
|
|
#endif
|
|
|
|
#ifdef LATER
|
|
CURSORACCELINFO cursAccelInfo;
|
|
#endif //LATER
|
|
|
|
UNICODE_STRING strDisplayDriver;
|
|
|
|
HANDLE hModuleWin; // win32k.sys hmodule
|
|
HANDLE hModClient; // user32.dll hModule
|
|
|
|
|
|
HBITMAP hbmBits = NULL;
|
|
HBITMAP ghbmCaption = NULL;
|
|
|
|
HBRUSH ghbrGray;
|
|
HBRUSH ghbrWhite;
|
|
HBRUSH hbrHungApp; /* Brush used to redraw hung app windows. */
|
|
HBRUSH ghbrBlack;
|
|
|
|
CONST COLORREF gargbInitial[COLOR_MAX] = {
|
|
RGB(224, 224, 224), // COLOR_SCROLLBAR
|
|
RGB(000, 128, 128), // COLOR_BACKGROUND
|
|
RGB(000, 000, 128), // COLOR_ACTIVECAPTION
|
|
RGB(128, 128, 128), // COLOR_INACTIVECAPTION
|
|
RGB(192, 192, 192), // COLOR_MENU
|
|
RGB(255, 255, 255), // COLOR_WINDOW
|
|
RGB(000, 000, 000), // COLOR_WINDOWFRAME
|
|
RGB(000, 000, 000), // COLOR_MENUTEXT
|
|
RGB(000, 000, 000), // COLOR_WINDOWTEXT
|
|
RGB(255, 255, 255), // COLOR_CAPTIONTEXT
|
|
RGB(192, 192, 192), // COLOR_ACTIVEBORDER
|
|
RGB(192, 192, 192), // COLOR_INACTIVEBORDER
|
|
RGB(128, 128, 128), // COLOR_APPWORKSPACE
|
|
RGB(000, 000, 128), // COLOR_HIGHLIGHT
|
|
RGB(255, 255, 255), // COLOR_HIGHLIGHTTEXT
|
|
RGB(192, 192, 192), // COLOR_BTNFACE
|
|
RGB(128, 128, 128), // COLOR_BTNSHADOW
|
|
RGB(128, 128, 128), // COLOR_GRAYTEXT
|
|
RGB(000, 000, 000), // COLOR_BTNTEXT
|
|
RGB(000, 000, 000), // COLOR_INACTIVECAPTIONTEXT
|
|
RGB(255, 255, 255), // COLOR_BTNHIGHLIGHT
|
|
RGB(000, 000, 000), // COLOR_3DDKSHADOW
|
|
RGB(223, 223, 223), // COLOR_3DLIGHT
|
|
RGB(000, 000, 000), // COLOR_INFOTEXT
|
|
RGB(255, 255, 225), // COLOR_INFOBK
|
|
};
|
|
|
|
HBRUSH ahbrSystem[COLOR_MAX];
|
|
|
|
/*
|
|
* Configurable system icons and cursors - map default ids to stuff
|
|
*/
|
|
SYSCFGICO rgsyscur[COCR_CONFIGURABLE] =
|
|
{
|
|
{OCR_NORMAL, STR_CURSOR_ARROW , NULL }, // OCR_ARROW_DEFAULT
|
|
{OCR_IBEAM, STR_CURSOR_IBEAM , NULL }, // OCR_IBEAM_DEFAULT
|
|
{OCR_WAIT, STR_CURSOR_WAIT , NULL }, // OCR_WAIT_DEFAULT
|
|
{OCR_CROSS, STR_CURSOR_CROSSHAIR , NULL }, // OCR_CROSS_DEFAULT
|
|
{OCR_UP, STR_CURSOR_UPARROW , NULL }, // OCR_UPARROW_DEFAULT
|
|
{OCR_SIZENWSE, STR_CURSOR_SIZENWSE , NULL }, // OCR_SIZENWSE_DEFAULT
|
|
{OCR_SIZENESW, STR_CURSOR_SIZENESW , NULL }, // OCR_SIZENESW_DEFAULT
|
|
{OCR_SIZEWE, STR_CURSOR_SIZEWE , NULL }, // OCR_SIZEWE_DEFAULT
|
|
{OCR_SIZENS, STR_CURSOR_SIZENS , NULL }, // OCR_SIZENS_DEFAULT
|
|
{OCR_SIZEALL, STR_CURSOR_SIZEALL , NULL }, // OCR_SIZEALL_DEFAULT
|
|
{OCR_NO, STR_CURSOR_NO , NULL }, // OCR_NO_DEFAULT
|
|
{OCR_APPSTARTING, STR_CURSOR_APPSTARTING, NULL }, // OCR_APPSTARTING_DEFAULT
|
|
{OCR_HELP, STR_CURSOR_HELP , NULL }, // OCR_HELP_DEFAULT
|
|
{OCR_NWPEN, STR_CURSOR_NWPEN , NULL }, // OCR_NWPEN_DEFAULT
|
|
{OCR_ICON, STR_CURSOR_ICON , NULL }, // OCR_ICON_DEFAULT
|
|
};
|
|
|
|
SYSCFGICO rgsysico[COIC_CONFIGURABLE] =
|
|
{
|
|
{OIC_SAMPLE, STR_ICON_APPLICATION , NULL }, // OIC_APPLICATION_DEFAULT
|
|
{OIC_WARNING, STR_ICON_HAND , NULL }, // OIC_WARNING_DEFAULT
|
|
{OIC_QUES, STR_ICON_QUESTION , NULL }, // OIC_QUESTION_DEFAULT
|
|
{OIC_ERROR, STR_ICON_EXCLAMATION , NULL }, // OIC_ERROR_DEFAULT
|
|
{OIC_INFORMATION, STR_ICON_ASTERISK , NULL }, // OIC_INFORMATION_DEFAULT
|
|
{OIC_WINLOGO, STR_ICON_WINLOGO , NULL }, // OIC_WINLOGO_DEFAULT
|
|
};
|
|
|
|
|
|
HDC ghdcMem;
|
|
HDC ghdcMem2;
|
|
|
|
#ifdef MEMPHIS_MENU_ANIMATION
|
|
HDC ghdcBits2 = NULL; // Scratch DC for animated menus
|
|
HBITMAP ghbmSlide = NULL; // Scratch Bitmap for animated menus
|
|
#endif // MEMPHIS_MENU_ANIMATION
|
|
|
|
HFONT hIconTitleFont; /* Font used in icon titles */
|
|
LOGFONT iconTitleLogFont; /* LogFont struct for icon title font */
|
|
|
|
BOOL bFontsAreLoaded = FALSE;
|
|
|
|
HFONT ghFontSys;
|
|
HFONT ghFontSysFixed;
|
|
|
|
int cxCaptionFontChar,cyCaptionFontChar;
|
|
|
|
HFONT ghSmCaptionFont = NULL;
|
|
int cxSmCaptionFontChar,cySmCaptionFontChar;
|
|
|
|
HFONT ghMenuFont = NULL;
|
|
HFONT ghMenuFontDef = NULL;
|
|
int cxMenuFontChar,cyMenuFontChar,cxMenuFontOverhang,cyMenuFontExternLeading,cyMenuFontAscent;
|
|
UINT guMenuStateCount = 0;
|
|
|
|
HFONT ghStatusFont = NULL;
|
|
|
|
HFONT ghIconFont = NULL;
|
|
|
|
extern HFONT ghfontInfo;
|
|
|
|
/*
|
|
* SetWindowPos() related globals
|
|
*/
|
|
HRGN hrgnInvalidSum = NULL;
|
|
HRGN hrgnVisNew = NULL;
|
|
HRGN hrgnSWP1 = NULL;
|
|
HRGN hrgnValid = NULL;
|
|
HRGN hrgnValidSum = NULL;
|
|
HRGN hrgnInvalid = NULL;
|
|
|
|
/*
|
|
* DC Cache related globals
|
|
*/
|
|
HRGN hrgnGDC = NULL; // Temp used by GetCacheDC et al
|
|
|
|
/*
|
|
* SPB related globals
|
|
*/
|
|
HRGN hrgnSCR = NULL; // Temp used by SpbCheckRect()
|
|
HRGN hrgnSPB1 = NULL;
|
|
HRGN hrgnSPB2 = NULL;
|
|
|
|
HRGN hrgnInv0 = NULL; // Temp used by InternalInvalidate()
|
|
HRGN hrgnInv1 = NULL; // Temp used by InternalInvalidate()
|
|
HRGN hrgnInv2 = NULL; // Temp used by InternalInvalidate()
|
|
|
|
/*
|
|
* ScrollWindow/ScrollDC related globals
|
|
*/
|
|
HRGN hrgnSW = NULL; // Temps used by ScrollDC/ScrollWindow
|
|
HRGN hrgnScrl1 = NULL;
|
|
HRGN hrgnScrl2 = NULL;
|
|
HRGN hrgnScrlVis = NULL;
|
|
HRGN hrgnScrlSrc = NULL;
|
|
HRGN hrgnScrlDst = NULL;
|
|
HRGN hrgnScrlValid = NULL;
|
|
|
|
PWND gspwndActivate = NULL;
|
|
PWND gspwndLockUpdate = NULL;
|
|
PWND gspwndMouseOwner;
|
|
HWND ghwndSwitch = NULL;
|
|
|
|
UINT wMouseOwnerButton;
|
|
|
|
DWORD gtimeStartCursorHide = 0;
|
|
|
|
UINT dtMNDropDown = 0;
|
|
|
|
int gcountPWO = 0; /* count of pwo WNDOBJs in gdi */
|
|
int iwndStack = 0;
|
|
int nKeyboardSpeed = -1;
|
|
int iScreenSaveTimeOut = 0;
|
|
DWORD timeLastInputMessage = 0;
|
|
|
|
PBWL pbwlList = NULL;
|
|
|
|
|
|
UINT dtDblClk = 0;
|
|
|
|
UINT winOldAppHackoMaticFlags=0; /* Flags for doing special things for
|
|
winold app */
|
|
|
|
POINT rgptMinMaxWnd[5];
|
|
|
|
/*
|
|
* TrackMouseEvent related globals
|
|
*/
|
|
UINT gcxMouseHover = 0;
|
|
UINT gcyMouseHover = 0;
|
|
UINT gdtMouseHover = 0;
|
|
|
|
//
|
|
// Variable also used in GRE
|
|
// set to 1 on DBG build trace through display driver loading
|
|
// and other initialization in USER and GDI.
|
|
|
|
LONG TraceDisplayDriverLoad;
|
|
|
|
BYTE abfSyncOnlyMessage[(WM_USER + 7) / 8];
|
|
|
|
/*
|
|
* SPI_GET/SETUSERPREFENCES.
|
|
* Each SPI_UP_* define in winuser.w must have a corresponding entry here.
|
|
*/
|
|
PROFILEVALUEINFO gpviCPUserPreferences [SPI_UP_COUNT] = {
|
|
{ FALSE, PMAP_MOUSE, (LPCWSTR)STR_ACTIVEWINDOWTRACKING }, // SPI_UP_ACTIVEWINDOWTRACKING
|
|
} ;
|
|
|
|
|
|
/*
|
|
* Debug only globals
|
|
*/
|
|
#if DBG
|
|
|
|
BOOL bRITInitialized = FALSE; // Some debug checks only valid after
|
|
// the rit is initialized
|
|
|
|
DWORD dwCritSecUseCount = 0; // bumped for every enter and leave
|
|
|
|
|
|
LPCSTR gapszFNID[] = {
|
|
"FNID_SCROLLBAR",
|
|
"FNID_ICONTITLE",
|
|
"FNID_MENU",
|
|
"FNID_DEFWINDOWPROC",
|
|
"FNID_HKINLPCWPEXSTRUCT",
|
|
"FNID_HKINLPCWPRETEXSTRUCT",
|
|
"FNID_BUTTON",
|
|
"FNID_COMBOBOX",
|
|
"FNID_COMBOLISTBOX",
|
|
"FNID_DEFFRAMEPROC",
|
|
"FNID_DEFMDICHILDPROC",
|
|
"FNID_DIALOG",
|
|
"FNID_EDIT",
|
|
"FNID_LISTBOX",
|
|
"FNID_MB_DLGPROC",
|
|
"FNID_MDIACTIVATEDLGPROC",
|
|
"FNID_MDICLIENT",
|
|
"FNID_STATIC",
|
|
#ifdef FE_IME
|
|
"FNID_IME",
|
|
#endif
|
|
"FNID_SENDMESSAGE",
|
|
"FNID_UNUSED",
|
|
"FNID_CALLNEXTHOOKPROC",
|
|
"FNID_SENDMESSAGEFF",
|
|
"FNID_SENDMESSAGEEX",
|
|
"FNID_CALLWINDOWPROC",
|
|
"FNID_SENDMESSAGEBSM",
|
|
"FNID_SWITCH",
|
|
"FNID_DESKTOP"
|
|
};
|
|
|
|
LPCSTR gapszMessage[] = {
|
|
"WM_NULL",
|
|
"WM_CREATE",
|
|
"WM_DESTROY",
|
|
"WM_MOVE",
|
|
"WM_SIZEWAIT",
|
|
"WM_SIZE",
|
|
"WM_ACTIVATE",
|
|
"WM_SETFOCUS",
|
|
"WM_KILLFOCUS",
|
|
"WM_SETVISIBLE",
|
|
"WM_ENABLE",
|
|
"WM_SETREDRAW",
|
|
"WM_SETTEXT",
|
|
"WM_GETTEXT",
|
|
"WM_GETTEXTLENGTH",
|
|
"WM_PAINT",
|
|
|
|
"WM_CLOSE",
|
|
"WM_QUERYENDSESSION",
|
|
"WM_QUIT",
|
|
"WM_QUERYOPEN",
|
|
"WM_ERASEBKGND",
|
|
"WM_SYSCOLORCHANGE",
|
|
"WM_ENDSESSION",
|
|
"WM_SYSTEMERROR",
|
|
"WM_SHOWWINDOW",
|
|
"WM_CTLCOLOR",
|
|
"WM_WININICHANGE",
|
|
"WM_DEVMODECHANGE",
|
|
"WM_ACTIVATEAPP",
|
|
"WM_FONTCHANGE",
|
|
"WM_TIMECHANGE",
|
|
"WM_CANCELMODE",
|
|
|
|
"WM_SETCURSOR",
|
|
"WM_MOUSEACTIVATE",
|
|
"WM_CHILDACTIVATE",
|
|
"WM_QUEUESYNC",
|
|
"WM_GETMINMAXINFO",
|
|
"fnEmpty",
|
|
"WM_PAINTICON",
|
|
"WM_ICONERASEBKGND",
|
|
"WM_NEXTDLGCTL",
|
|
"WM_ALTTABACTIVE",
|
|
"WM_SPOOLERSTATUS",
|
|
"WM_DRAWITEM",
|
|
"WM_MEASUREITEM",
|
|
"WM_DELETEITEM",
|
|
"WM_VKEYTOITEM",
|
|
"WM_CHARTOITEM",
|
|
|
|
"WM_SETFONT",
|
|
"WM_GETFONT",
|
|
"WM_SETHOTKEY",
|
|
"WM_GETHOTKEY",
|
|
"WM_FILESYSCHANGE",
|
|
"WM_ISACTIVEICON",
|
|
"WM_QUERYPARKICON",
|
|
"WM_QUERYDRAGICON",
|
|
"WM_WINHELP",
|
|
"WM_COMPAREITEM",
|
|
"WM_FULLSCREEN",
|
|
"WM_CLIENTSHUTDOWN",
|
|
"WM_DDEMLEVENT",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"MM_CALCSCROLL",
|
|
|
|
"WM_TESTING",
|
|
"WM_COMPACTING",
|
|
|
|
"WM_OTHERWINDOWCREATED",
|
|
"WM_OTHERWINDOWDESTROYED",
|
|
"WM_COMMNOTIFY",
|
|
"WM_MEDIASTATUSCHANGE",
|
|
"WM_WINDOWPOSCHANGING",
|
|
"WM_WINDOWPOSCHANGED",
|
|
|
|
"WM_POWER",
|
|
"WM_COPYGLOBALDATA",
|
|
"WM_COPYDATA",
|
|
"WM_CANCELJOURNAL",
|
|
"WM_LOGONNOTIFY",
|
|
"WM_KEYF1",
|
|
"WM_NOTIFY",
|
|
"WM_ACCESS_WINDOW",
|
|
|
|
"WM_INPUTLANGCHANGEREQUE",
|
|
"WM_INPUTLANGCHANGE",
|
|
"WM_TCARD",
|
|
"WM_HELP",
|
|
"WM_USERCHANGED",
|
|
"WM_NOTIFYFORMAT",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"WM_FINALDESTROY",
|
|
"fnEmpty",
|
|
"WM_TASKACTIVATED",
|
|
"WM_TASKDEACTIVATED",
|
|
"WM_TASKCREATED",
|
|
"WM_TASKDESTROYED",
|
|
"WM_TASKUICHANGED",
|
|
"WM_TASKVISIBLE",
|
|
"WM_TASKNOTVISIBLE",
|
|
"WM_SETCURSORINFO",
|
|
"fnEmpty",
|
|
"WM_CONTEXTMENU",
|
|
"WM_STYLECHANGING",
|
|
"WM_STYLECHANGED",
|
|
"fnEmpty",
|
|
"WM_GETICON",
|
|
|
|
"WM_SETICON",
|
|
"WM_NCCREATE",
|
|
"WM_NCDESTROY",
|
|
"WM_NCCALCSIZE",
|
|
|
|
"WM_NCHITTEST",
|
|
"WM_NCPAINT",
|
|
"WM_NCACTIVATE",
|
|
"WM_GETDLGCODE",
|
|
|
|
"WM_SYNCPAINT",
|
|
"WM_SYNCTASK",
|
|
|
|
"fnEmpty",
|
|
"WM_KLUDGEMINRECT",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"WM_NCMOUSEMOVE",
|
|
"WM_NCLBUTTONDOWN",
|
|
"WM_NCLBUTTONUP",
|
|
"WM_NCLBUTTONDBLCLK",
|
|
"WM_NCRBUTTONDOWN",
|
|
"WM_NCRBUTTONUP",
|
|
"WM_NCRBUTTONDBLCLK",
|
|
"WM_NCMBUTTONDOWN",
|
|
"WM_NCMBUTTONUP",
|
|
"WM_NCMBUTTONDBLCLK",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"EM_GETSEL",
|
|
"EM_SETSEL",
|
|
"EM_GETRECT",
|
|
"EM_SETRECT",
|
|
"EM_SETRECTNP",
|
|
"EM_SCROLL",
|
|
"EM_LINESCROLL",
|
|
"fnEmpty",
|
|
"EM_GETMODIFY",
|
|
"EM_SETMODIFY",
|
|
"EM_GETLINECOUNT",
|
|
"EM_LINEINDEX",
|
|
"EM_SETHANDLE",
|
|
"EM_GETHANDLE",
|
|
"EM_GETTHUMB",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"EM_LINELENGTH",
|
|
"EM_REPLACESEL",
|
|
"EM_SETFONT",
|
|
"EM_GETLINE",
|
|
"EM_LIMITTEXT",
|
|
"EM_CANUNDO",
|
|
"EM_UNDO",
|
|
"EM_FMTLINES",
|
|
"EM_LINEFROMCHAR",
|
|
"EM_SETWORDBREAK",
|
|
"EM_SETTABSTOPS",
|
|
"EM_SETPASSWORDCHAR",
|
|
"EM_EMPTYUNDOBUFFER",
|
|
"EM_GETFIRSTVISIBLELINE",
|
|
"EM_SETREADONLY",
|
|
|
|
"EM_SETWORDBREAKPROC",
|
|
"EM_GETWORDBREAKPROC",
|
|
"EM_GETPASSWORDCHAR",
|
|
"EM_SETMARGINS",
|
|
"EM_GETMARGINS",
|
|
"EM_GETLIMITTEXT",
|
|
"EM_POSFROMCHAR",
|
|
"EM_CHARFROMPOS",
|
|
"EM_MSGMAX",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"SBM_SETPOS",
|
|
"SBM_GETPOS",
|
|
"SBM_SETRANGE",
|
|
"SBM_GETRANGE",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"SBM_SETRANGEREDRAW",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"SBM_SETSCROLLINFO",
|
|
"SBM_GETSCROLLINFO",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"BM_GETCHECK",
|
|
"BM_SETCHECK",
|
|
"BM_GETSTATE",
|
|
"BM_SETSTATE",
|
|
"BM_SETSTYLE",
|
|
"BM_CLICK",
|
|
"BM_GETIMAGE",
|
|
"BM_SETIMAGE",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"WM_KEYDOWN",
|
|
"WM_KEYUP",
|
|
"WM_CHAR",
|
|
"WM_DEADCHAR",
|
|
"WM_SYSKEYDOWN",
|
|
"WM_SYSKEYUP",
|
|
"WM_SYSCHAR",
|
|
"WM_SYSDEADCHAR",
|
|
"WM_YOMICHAR",
|
|
"fnEmpty",
|
|
"WM_CONVERTREQUEST",
|
|
"WM_CONVERTRESULT",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"WM_INITDIALOG",
|
|
"WM_COMMAND",
|
|
"WM_SYSCOMMAND",
|
|
"WM_TIMER",
|
|
"WM_HSCROLL",
|
|
"WM_VSCROLL",
|
|
"WM_INITMENU",
|
|
"WM_INITMENUPOPUP",
|
|
"WM_SYSTIMER",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"WM_MENUSELECT",
|
|
|
|
"WM_MENUCHAR",
|
|
"WM_ENTERIDLE",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"WM_LBTRACKPOINT",
|
|
"WM_CTLCOLORMSGBOX",
|
|
"WM_CTLCOLOREDIT",
|
|
"WM_CTLCOLORLISTBOX",
|
|
"WM_CTLCOLORBTN",
|
|
"WM_CTLCOLORDLG",
|
|
"WM_CTLCOLORSCROLLBAR",
|
|
"WM_CTLCOLORSTATIC",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"CB_GETEDITSEL",
|
|
"CB_LIMITTEXT",
|
|
"CB_SETEDITSEL",
|
|
"CB_ADDSTRING",
|
|
"CB_DELETESTRING",
|
|
"CB_DIR",
|
|
"CB_GETCOUNT",
|
|
"CB_GETCURSEL",
|
|
"CB_GETLBTEXT",
|
|
"CB_GETLBTEXTLEN",
|
|
"CB_INSERTSTRING",
|
|
"CB_RESETCONTENT",
|
|
"CB_FINDSTRING",
|
|
"CB_SELECTSTRING",
|
|
"CB_SETCURSEL",
|
|
"CB_SHOWDROPDOWN",
|
|
|
|
"CB_GETITEMDATA",
|
|
"CB_SETITEMDATA",
|
|
"CB_GETDROPPEDCONTROLRECT",
|
|
"CB_SETITEMHEIGHT",
|
|
"CB_GETITEMHEIGHT",
|
|
"CB_SETEXTENDEDUI",
|
|
"CB_GETEXTENDEDUI",
|
|
"CB_GETDROPPEDSTATE",
|
|
"CB_FINDSTRINGEXACT",
|
|
"CB_SETLOCALE",
|
|
"CB_GETLOCALE",
|
|
"CB_GETTOPINDEX",
|
|
|
|
"CB_SETTOPINDEX",
|
|
"CB_GETHORIZONTALEXTENT",
|
|
"CB_SETHORIZONTALEXTENT",
|
|
"CB_GETDROPPEDWIDTH",
|
|
|
|
"CB_SETDROPPEDWIDTH",
|
|
"CB_INITSTORAGE",
|
|
"CB_MSGMAX",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"STM_SETICON",
|
|
"STM_GETICON",
|
|
"STM_SETIMAGE",
|
|
"STM_GETIMAGE",
|
|
"STM_MSGMAX",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"LB_ADDSTRING",
|
|
"LB_INSERTSTRING",
|
|
"LB_DELETESTRING",
|
|
"fnEmpty",
|
|
"LB_RESETCONTENT",
|
|
"LB_SETSEL",
|
|
"LB_SETCURSEL",
|
|
"LB_GETSEL",
|
|
"LB_GETCURSEL",
|
|
"LB_GETTEXT",
|
|
"LB_GETTEXTLEN",
|
|
"LB_GETCOUNT",
|
|
"LB_SELECTSTRING",
|
|
"LB_DIR",
|
|
"LB_GETTOPINDEX",
|
|
"LB_FINDSTRING",
|
|
|
|
"LB_GETSELCOUNT",
|
|
"LB_GETSELITEMS",
|
|
"LB_SETTABSTOPS",
|
|
"LB_GETHORIZONTALEXTENT",
|
|
"LB_SETHORIZONTALEXTENT",
|
|
"LB_SETCOLUMNWIDTH",
|
|
"LB_ADDFILE",
|
|
"LB_SETTOPINDEX",
|
|
"LB_SETITEMRECT",
|
|
"LB_GETITEMDATA",
|
|
"LB_SETITEMDATA",
|
|
"LB_SELITEMRANGE",
|
|
"LB_SETANCHORINDEX",
|
|
"LB_GETANCHORINDEX",
|
|
"LB_SETCARETINDEX",
|
|
"LB_GETCARETINDEX",
|
|
|
|
"LB_SETITEMHEIGHT",
|
|
"LB_GETITEMHEIGHT",
|
|
"LB_FINDSTRINGEXACT",
|
|
"LBCB_CARETON",
|
|
"LBCB_CARETOFF",
|
|
"LB_SETLOCALE",
|
|
"LB_GETLOCALE",
|
|
"LB_SETCOUNT",
|
|
|
|
"LB_INITSTORAGE",
|
|
|
|
"LB_ITEMFROMPOINT",
|
|
"LB_INSERTSTRINGUPPER",
|
|
"LB_INSERTSTRINGLOWER",
|
|
"LB_ADDSTRINGUPPER",
|
|
"LB_ADDSTRINGLOWER",
|
|
"LBCB_STARTTRACK",
|
|
"LBCB_ENDTRACK",
|
|
|
|
"LB_MSGMAX",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"MN_SETHMENU",
|
|
"MN_GETHMENU",
|
|
"MN_SIZEWINDOW",
|
|
"MN_OPENHIERARCHY",
|
|
"MN_CLOSEHIERARCHY",
|
|
"MN_SELECTITEM",
|
|
"MN_CANCELMENUS",
|
|
"MN_SELECTFIRSTVALIDITEM",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"MN_FINDMENUWINDOWFROMPOINT",
|
|
"MN_SHOWPOPUPWINDOW",
|
|
"MN_BUTTONDOWN",
|
|
"MN_MOUSEMOVE",
|
|
"MN_BUTTONUP",
|
|
"MN_SETTIMERTOOPENHIERARCHY",
|
|
|
|
"MN_DBLCLK",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"WM_MOUSEMOVE",
|
|
"WM_LBUTTONDOWN",
|
|
"WM_LBUTTONUP",
|
|
"WM_LBUTTONDBLCLK",
|
|
"WM_RBUTTONDOWN",
|
|
"WM_RBUTTONUP",
|
|
"WM_RBUTTONDBLCLK",
|
|
"WM_MBUTTONDOWN",
|
|
"WM_MBUTTONUP",
|
|
"WM_MBUTTONDBLCLK",
|
|
"WM_MOUSEWHEEL",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"WM_PARENTNOTIFY",
|
|
"WM_ENTERMENULOOP",
|
|
"WM_EXITMENULOOP",
|
|
"WM_NEXTMENU",
|
|
|
|
"WM_SIZING",
|
|
"WM_CAPTURECHANGED",
|
|
"WM_MOVING",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"WM_MDICREATE",
|
|
"WM_MDIDESTROY",
|
|
"WM_MDIACTIVATE",
|
|
"WM_MDIRESTORE",
|
|
"WM_MDINEXT",
|
|
"WM_MDIMAXIMIZE",
|
|
"WM_MDITILE",
|
|
"WM_MDICASCADE",
|
|
"WM_MDIICONARRANGE",
|
|
"WM_MDIGETACTIVE",
|
|
"WM_DROPOBJECT",
|
|
"WM_QUERYDROPOBJECT",
|
|
"WM_BEGINDRAG",
|
|
"WM_DRAGLOOP",
|
|
"WM_DRAGSELECT",
|
|
"WM_DRAGMOVE",
|
|
|
|
"WM_MDISETMENU",
|
|
"WM_ENTERSIZEMOVE",
|
|
"WM_EXITSIZEMOVE",
|
|
|
|
"WM_DROPFILES",
|
|
"WM_MDIREFRESHMENU",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"WM_KANJIFIRST",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"WM_KANJILAST",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"WM_CUT",
|
|
"WM_COPY",
|
|
"WM_PASTE",
|
|
"WM_CLEAR",
|
|
"WM_UNDO",
|
|
"WM_RENDERFORMAT",
|
|
"WM_RENDERALLFORMATS",
|
|
"WM_DESTROYCLIPBOARD",
|
|
"WM_DRAWCLIPBOARD",
|
|
"WM_PAINTCLIPBOARD",
|
|
"WM_VSCROLLCLIPBOARD",
|
|
"WM_SIZECLIPBOARD",
|
|
"WM_ASKCBFORMATNAME",
|
|
"WM_CHANGECBCHAIN",
|
|
"WM_HSCROLLCLIPBOARD",
|
|
"WM_QUERYNEWPALETTE",
|
|
|
|
"WM_PALETTEISCHANGING",
|
|
"WM_PALETTECHANGED",
|
|
"WM_HOTKEY",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"WM_PRINT",
|
|
|
|
"WM_PRINTCLIENT",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"WM_MM_RESERVED_FIRST",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"WM_MM_RESERVED_LAST",
|
|
|
|
"WM_DDE_INITIATE",
|
|
"WM_DDE_TERMINATE",
|
|
"WM_DDE_ADVISE",
|
|
"WM_DDE_UNADVISE",
|
|
"WM_DDE_ACK",
|
|
"WM_DDE_DATA",
|
|
"WM_DDE_REQUEST",
|
|
"WM_DDE_POKE",
|
|
"WM_DDE_EXECUTE",
|
|
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
"fnEmpty",
|
|
|
|
"WM_CBT_RESERVED_FIRST",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"fnReserved",
|
|
"WM_CBT_RESERVED_LAST",
|
|
};
|
|
|
|
#endif // DBG
|