Annotation of mstools/mfc/include/winuser.h, revision 1.1

1.1     ! root        1: /*++ BUILD Version: 0003    // Increment this if a change has global effects
        !             2: 
        !             3: Copyright (c) 1985-91, Microsoft Corporation
        !             4: 
        !             5: Module Name:
        !             6: 
        !             7:     winuser.h
        !             8: 
        !             9: Abstract:
        !            10: 
        !            11:     Procedure declarations, constant definitions and macros for the User
        !            12:     component.
        !            13: 
        !            14: --*/
        !            15: 
        !            16: #ifndef _WINUSER_
        !            17: #define _WINUSER_
        !            18: 
        !            19: #ifndef NOUSER
        !            20: 
        !            21: typedef HANDLE HDWP;
        !            22: typedef PVOID LPMENUTEMPLATEA;
        !            23: typedef PVOID LPMENUTEMPLATEW;
        !            24: #ifdef UNICODE
        !            25: #define LPMENUTEMPLATE LPMENUTEMPLATEW
        !            26: #else
        !            27: #define LPMENUTEMPLATE LPMENUTEMPLATEA
        !            28: #endif // UNICODE
        !            29: 
        !            30: typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
        !            31: #ifdef STRICT
        !            32: typedef BOOL (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM);
        !            33: typedef VOID (CALLBACK* TIMERPROC)(HWND, UINT, UINT, DWORD);
        !            34: typedef BOOL (CALLBACK* GRAYSTRINGPROC)(HDC, LPARAM, int);
        !            35: typedef BOOL (CALLBACK* PROPENUMPROC)(HWND, LPCSTR, HANDLE);
        !            36: typedef BOOL (CALLBACK* PROPENUMPROCEX)(HWND, LPTSTR, HANDLE, DWORD);
        !            37: typedef BOOL (CALLBACK* WNDENUMPROC)(HWND, LPARAM);
        !            38: typedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam);
        !            39: typedef int (CALLBACK* EDITWORDBREAKPROC)(LPSTR lpch, int ichCurrent, int cch, int code);
        !            40: #else
        !            41: typedef FARPROC DLGPROC;
        !            42: typedef FARPROC TIMERPROC;
        !            43: typedef FARPROC GRAYSTRINGPROC;
        !            44: typedef FARPROC PROPENUMPROC;
        !            45: typedef FARPROC WNDENUMPROC;
        !            46: typedef FARPROC HOOKPROC;
        !            47: typedef FARPROC EDITWORDBREAKPROC;
        !            48: #endif
        !            49: 
        !            50: #define MAKEINTRESOURCE(i)  (LPTSTR)((DWORD)((WORD)(i)))
        !            51: 
        !            52: #ifndef NORESOURCE
        !            53: 
        !            54: /* Predefined Resource Types */
        !            55: #define RT_CURSOR           MAKEINTRESOURCE(1)
        !            56: #define RT_BITMAP           MAKEINTRESOURCE(2)
        !            57: #define RT_ICON             MAKEINTRESOURCE(3)
        !            58: #define RT_MENU             MAKEINTRESOURCE(4)
        !            59: #define RT_DIALOG           MAKEINTRESOURCE(5)
        !            60: #define RT_STRING           MAKEINTRESOURCE(6)
        !            61: #define RT_FONTDIR          MAKEINTRESOURCE(7)
        !            62: #define RT_FONT             MAKEINTRESOURCE(8)
        !            63: #define RT_ACCELERATOR      MAKEINTRESOURCE(9)
        !            64: #define RT_RCDATA           MAKEINTRESOURCE(10)
        !            65: #define RT_MESSAGETABLE     MAKEINTRESOURCE(11)
        !            66: 
        !            67: #define DIFFERENCE  11
        !            68: 
        !            69: /* NOTE: if any new resource types are introduced above this point, then the
        !            70: ** value of DIFFERENCE must be changed.
        !            71: ** (RT_GROUP_CURSOR - RT_CURSOR) must always be equal to DIFFERENCE
        !            72: ** (RT_GROUP_ICON - RT_ICON) must always be equal to DIFFERENCE
        !            73: */
        !            74: #define RT_GROUP_CURSOR     MAKEINTRESOURCE((DWORD)RT_CURSOR + DIFFERENCE)
        !            75: /* The value RT_BITMAP+DIFFERENCE (13) is intentionally unused */
        !            76: #define RT_GROUP_ICON       MAKEINTRESOURCE((DWORD)RT_ICON + DIFFERENCE)
        !            77: /* The value 15 is unused/obsolete */
        !            78: #define RT_VERSION          MAKEINTRESOURCE(16)
        !            79: #define RT_DLGINCLUDE       MAKEINTRESOURCE(17)
        !            80: 
        !            81: #endif /* NORESOURCE */
        !            82: 
        !            83: int WINAPI wvsprintfA(LPSTR, LPCSTR, CONST VOID *);
        !            84: int WINAPI wvsprintfW(LPWSTR, LPCSTR, CONST VOID *);
        !            85: #ifdef UNICODE
        !            86: #define wvsprintf wvsprintfW
        !            87: #else
        !            88: #define wvsprintf wvsprintfA
        !            89: #endif // !UNICODE
        !            90: 
        !            91: int WINAPI wsprintfA(LPSTR, LPCSTR, ...);
        !            92: int WINAPI wsprintfW(LPWSTR, LPCSTR, ...);
        !            93: #ifdef UNICODE
        !            94: #define wsprintf wsprintfW
        !            95: #else
        !            96: #define wsprintf wsprintfA
        !            97: #endif // !UNICODE
        !            98: 
        !            99: #ifndef NOSCROLL
        !           100: 
        !           101: /* Scroll Bar Constants */
        !           102: #define SB_HORZ             0
        !           103: #define SB_VERT             1
        !           104: #define SB_CTL              2
        !           105: #define SB_BOTH             3
        !           106: #define SB_MAX              3
        !           107: 
        !           108: /* Scroll Bar Commands */
        !           109: #define SB_LINEUP           0
        !           110: #define SB_LINEDOWN         1
        !           111: #define SB_PAGEUP           2
        !           112: #define SB_PAGEDOWN         3
        !           113: #define SB_THUMBPOSITION    4
        !           114: #define SB_THUMBTRACK       5
        !           115: #define SB_TOP              6
        !           116: #define SB_BOTTOM           7
        !           117: #define SB_ENDSCROLL        8
        !           118: #define SB_CMD_MAX          8
        !           119: 
        !           120: #endif /* NOSCROLL */
        !           121: 
        !           122: #ifndef NOSHOWWINDOW
        !           123: 
        !           124: /* ShowWindow() Commands */
        !           125: #define SW_HIDE             0
        !           126: #define SW_SHOWNORMAL       1
        !           127: #define SW_NORMAL           1
        !           128: #define SW_SHOWMINIMIZED    2
        !           129: #define SW_SHOWMAXIMIZED    3
        !           130: #define SW_MAXIMIZE         3
        !           131: #define SW_SHOWNOACTIVATE   4
        !           132: #define SW_SHOW             5
        !           133: #define SW_MINIMIZE         6
        !           134: #define SW_SHOWMINNOACTIVE  7
        !           135: #define SW_SHOWNA           8
        !           136: #define SW_RESTORE          9
        !           137: #define SW_SHOWDEFAULT      10
        !           138: #define SW_MAX       10
        !           139: 
        !           140: /* Old ShowWindow() Commands */
        !           141: #define HIDE_WINDOW         0
        !           142: #define SHOW_OPENWINDOW     1
        !           143: #define SHOW_ICONWINDOW     2
        !           144: #define SHOW_FULLSCREEN     3
        !           145: #define SHOW_OPENNOACTIVATE 4
        !           146: 
        !           147: /* Identifiers for the WM_SHOWWINDOW message */
        !           148: #define SW_PARENTCLOSING    1
        !           149: #define SW_OTHERZOOM        2
        !           150: #define SW_PARENTOPENING    3
        !           151: #define SW_OTHERUNZOOM      4
        !           152: 
        !           153: #endif /* NOSHOWWINDOW */
        !           154: 
        !           155: #ifndef NOVIRTUALKEYCODES
        !           156: 
        !           157: /* Virtual Keys, Standard Set */
        !           158: #define VK_LBUTTON        0x01
        !           159: #define VK_RBUTTON        0x02
        !           160: #define VK_CANCEL         0x03
        !           161: #define VK_MBUTTON        0x04    /* NOT contiguous with L & RBUTTON */
        !           162: 
        !           163: #define VK_BACK           0x08
        !           164: #define VK_TAB            0x09
        !           165: 
        !           166: #define VK_CLEAR          0x0C
        !           167: #define VK_RETURN         0x0D
        !           168: 
        !           169: #define VK_SHIFT          0x10
        !           170: #define VK_CONTROL        0x11
        !           171: #define VK_MENU           0x12
        !           172: #define VK_PAUSE          0x13
        !           173: #define VK_CAPITAL        0x14
        !           174: 
        !           175: #define VK_ESCAPE         0x1B
        !           176: 
        !           177: #define VK_SPACE          0x20
        !           178: #define VK_PRIOR          0x21
        !           179: #define VK_NEXT           0x22
        !           180: #define VK_END            0x23
        !           181: #define VK_HOME           0x24
        !           182: #define VK_LEFT           0x25
        !           183: #define VK_UP             0x26
        !           184: #define VK_RIGHT          0x27
        !           185: #define VK_DOWN           0x28
        !           186: #define VK_SELECT         0x29
        !           187: #define VK_PRINT          0x2A
        !           188: #define VK_EXECUTE        0x2B
        !           189: #define VK_SNAPSHOT       0x2C
        !           190: /* #define VK_COPY        0x2C not used by keyboards. */
        !           191: #define VK_INSERT         0x2D
        !           192: #define VK_DELETE         0x2E
        !           193: #define VK_HELP           0x2F
        !           194: 
        !           195: /* VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */
        !           196: /* VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */
        !           197: 
        !           198: #define VK_NUMPAD0        0x60
        !           199: #define VK_NUMPAD1        0x61
        !           200: #define VK_NUMPAD2        0x62
        !           201: #define VK_NUMPAD3        0x63
        !           202: #define VK_NUMPAD4        0x64
        !           203: #define VK_NUMPAD5        0x65
        !           204: #define VK_NUMPAD6        0x66
        !           205: #define VK_NUMPAD7        0x67
        !           206: #define VK_NUMPAD8        0x68
        !           207: #define VK_NUMPAD9        0x69
        !           208: #define VK_MULTIPLY       0x6A
        !           209: #define VK_ADD            0x6B
        !           210: #define VK_SEPARATOR      0x6C
        !           211: #define VK_SUBTRACT       0x6D
        !           212: #define VK_DECIMAL        0x6E
        !           213: #define VK_DIVIDE         0x6F
        !           214: #define VK_F1             0x70
        !           215: #define VK_F2             0x71
        !           216: #define VK_F3             0x72
        !           217: #define VK_F4             0x73
        !           218: #define VK_F5             0x74
        !           219: #define VK_F6             0x75
        !           220: #define VK_F7             0x76
        !           221: #define VK_F8             0x77
        !           222: #define VK_F9             0x78
        !           223: #define VK_F10            0x79
        !           224: #define VK_F11            0x7A
        !           225: #define VK_F12            0x7B
        !           226: #define VK_F13            0x7C
        !           227: #define VK_F14            0x7D
        !           228: #define VK_F15            0x7E
        !           229: #define VK_F16            0x7F
        !           230: #define VK_F17            0x80
        !           231: #define VK_F18            0x81
        !           232: #define VK_F19            0x82
        !           233: #define VK_F20            0x83
        !           234: #define VK_F21            0x84
        !           235: #define VK_F22            0x85
        !           236: #define VK_F23            0x86
        !           237: #define VK_F24            0x87
        !           238: 
        !           239: #define VK_NUMLOCK        0x90
        !           240: #define VK_SCROLL           0x91
        !           241: 
        !           242: /*
        !           243:  * VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
        !           244:  * Used only as parameters to GetAsyncKeyState() and GetKeyState().
        !           245:  * No other API or message will distinguish left and right keys in this way.
        !           246:  */
        !           247: #define VK_LSHIFT         0xA0
        !           248: #define VK_RSHIFT         0xA1
        !           249: #define VK_LCONTROL       0xA2
        !           250: #define VK_RCONTROL       0xA3
        !           251: #define VK_LMENU          0xA4
        !           252: #define VK_RMENU          0xA5
        !           253: 
        !           254: #define VK_ATTN           0xF6
        !           255: #define VK_CRSEL          0xF7
        !           256: #define VK_EXSEL          0xF8
        !           257: #define VK_EREOF          0xF9
        !           258: #define VK_PLAY           0xFA
        !           259: #define VK_ZOOM           0xFB
        !           260: #define VK_NONAME         0xFC
        !           261: #define VK_PA1            0xFD
        !           262: #define VK_OEM_CLEAR      0xFE
        !           263: 
        !           264: #endif /* NOVIRTUALKEYCODES */
        !           265: 
        !           266: #ifndef NOWH
        !           267: 
        !           268: /* SetWindowsHook() codes */
        !           269: #define WH_MIN              (-1)
        !           270: #define WH_MSGFILTER        (-1)
        !           271: #define WH_JOURNALRECORD    0
        !           272: #define WH_JOURNALPLAYBACK  1
        !           273: #define WH_KEYBOARD         2
        !           274: #define WH_GETMESSAGE       3
        !           275: #define WH_CALLWNDPROC      4
        !           276: #define WH_CBT              5
        !           277: #define WH_SYSMSGFILTER     6
        !           278: #define WH_MOUSE            7
        !           279: #define WH_HARDWARE         8
        !           280: #define WH_DEBUG            9
        !           281: #define WH_SHELL           10
        !           282: #define WH_MAX             10
        !           283: 
        !           284: 
        !           285: /* Obsolete hook codes (NO LONGER SUPPORTED) */
        !           286: #define HC_GETLPLPFN        (-3)
        !           287: #define HC_LPLPFNNEXT       (-2)
        !           288: #define HC_LPFNNEXT         (-1)
        !           289: 
        !           290: /* Hook Codes */
        !           291: #define HC_ACTION           0
        !           292: #define HC_GETNEXT          1
        !           293: #define HC_SKIP             2
        !           294: #define HC_NOREMOVE         3
        !           295: #define HC_NOREM            HC_NOREMOVE
        !           296: #define HC_SYSMODALON       4
        !           297: #define HC_SYSMODALOFF      5
        !           298: 
        !           299: /* CBT Hook Codes */
        !           300: #define HCBT_MOVESIZE       0
        !           301: #define HCBT_MINMAX         1
        !           302: #define HCBT_QS             2
        !           303: #define HCBT_CREATEWND      3
        !           304: #define HCBT_DESTROYWND     4
        !           305: #define HCBT_ACTIVATE       5
        !           306: #define HCBT_CLICKSKIPPED   6
        !           307: #define HCBT_KEYSKIPPED     7
        !           308: #define HCBT_SYSCOMMAND     8
        !           309: #define HCBT_SETFOCUS       9
        !           310: 
        !           311: /*
        !           312:  * HCBT_CREATEWND parameters pointed to by lParam
        !           313:  */
        !           314: typedef struct tagCBT_CREATEWNDA
        !           315: {
        !           316:     struct tagCREATESTRUCTA *lpcs;
        !           317:     HWND           hwndInsertAfter;
        !           318: } CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
        !           319: /*
        !           320:  * HCBT_CREATEWND parameters pointed to by lParam
        !           321:  */
        !           322: typedef struct tagCBT_CREATEWNDW
        !           323: {
        !           324:     struct tagCREATESTRUCTW *lpcs;
        !           325:     HWND           hwndInsertAfter;
        !           326: } CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
        !           327: #ifdef UNICODE
        !           328: #define CBT_CREATEWND CBT_CREATEWNDW
        !           329: #define LPCBT_CREATEWND LPCBT_CREATEWNDW
        !           330: #else
        !           331: #define CBT_CREATEWND CBT_CREATEWNDA
        !           332: #define LPCBT_CREATEWND LPCBT_CREATEWNDA
        !           333: #endif // UNICODE
        !           334: 
        !           335: /*
        !           336:  * HCBT_ACTIVATE structure pointed to by lParam
        !           337:  */
        !           338: typedef struct tagCBTACTIVATESTRUCT
        !           339: {
        !           340:     BOOL    fMouse;
        !           341:     HWND    hWndActive;
        !           342: } CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT;
        !           343: 
        !           344: /* WH_MSGFILTER Filter Proc Codes */
        !           345: #define MSGF_DIALOGBOX      0
        !           346: #define MSGF_MESSAGEBOX     1
        !           347: #define MSGF_MENU           2
        !           348: #define MSGF_MOVE           3
        !           349: #define MSGF_SIZE           4
        !           350: #define MSGF_SCROLLBAR      5
        !           351: #define MSGF_NEXTWINDOW     6
        !           352: #define MSGF_MAINLOOP       8
        !           353: #define MSGF_MAX            8
        !           354: #define MSGF_USER           4096
        !           355: 
        !           356: /* Shell support */
        !           357: #define HSHELL_WINDOWCREATED       1
        !           358: #define HSHELL_WINDOWDESTROYED     2
        !           359: #define HSHELL_ACTIVATESHELLWINDOW 3
        !           360: 
        !           361: /* Window Manager Hook Codes */
        !           362: #define WC_INIT             1
        !           363: #define WC_SWP              2
        !           364: #define WC_DEFWINDOWPROC    3
        !           365: #define WC_MINMAX           4
        !           366: #define WC_MOVE             5
        !           367: #define WC_SIZE             6
        !           368: #define WC_DRAWCAPTION      7
        !           369: 
        !           370: /* Message Structure used in Journaling */
        !           371: typedef struct tagEVENTMSG {
        !           372:     UINT    message;
        !           373:     UINT    paramL;
        !           374:     UINT    paramH;
        !           375:     DWORD    time;
        !           376:     HWND     hwnd;
        !           377: } EVENTMSG, *PEVENTMSGMSG, NEAR *NPEVENTMSGMSG, FAR *LPEVENTMSGMSG;
        !           378: 
        !           379: typedef struct tagEVENTMSG *PEVENTMSG, NEAR *NPEVENTMSG, FAR *LPEVENTMSG;
        !           380: 
        !           381: /* Message structure used by WH_CALLWNDPROC */
        !           382: typedef struct tagCWPSTRUCT {
        !           383:     LPARAM  lParam;
        !           384:     WPARAM  wParam;
        !           385:     DWORD   message;
        !           386:     HWND    hwnd;
        !           387: } CWPSTRUCT, *PCWPSTRUCT, NEAR *NPCWPSTRUCT, FAR *LPCWPSTRUCT;
        !           388: 
        !           389: /* Structure used by WH_DEBUG */
        !           390: typedef struct tagDEBUGHOOKINFO
        !           391: {
        !           392:     DWORD   idThread;
        !           393:     LPARAM  reserved;
        !           394:     LPARAM  lParam;
        !           395:     WPARAM  wParam;
        !           396:     int     code;
        !           397: } DEBUGHOOKINFO, *PDEBUGHOOKINFO, NEAR *NPDEBUGHOOKINFO, FAR* LPDEBUGHOOKINFO;
        !           398: 
        !           399: typedef struct tagMOUSEHOOKSTRUCT {
        !           400:     POINT   pt;
        !           401:     HWND    hwnd;
        !           402:     UINT    wHitTestCode;
        !           403:     DWORD   dwExtraInfo;
        !           404: } MOUSEHOOKSTRUCT, FAR *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT;
        !           405: #endif /* NOWH */
        !           406: 
        !           407: /*
        !           408:  * Keyboard Layout API
        !           409:  */
        !           410: #define HKL_PREV            0
        !           411: #define HKL_NEXT            1
        !           412: 
        !           413: #define KLF_ACTIVATE        0x1
        !           414: #define KLF_SUBSTITUTE_OK   0x2
        !           415: #define KLF_UNLOADPREVIOUS  0x4
        !           416: #define KLF_REORDER         0x8
        !           417: 
        !           418: /*
        !           419:  * Size of KeyboardLayoutName (number of characters), including nul terminator
        !           420:  */
        !           421: #define KL_NAMELENGTH       9
        !           422: 
        !           423: HKL LoadKeyboardLayoutA(LPCSTR pwszKLID, UINT Flags);
        !           424: HKL LoadKeyboardLayoutW(LPCWSTR pwszKLID, UINT Flags);
        !           425: #ifdef UNICODE
        !           426: #define LoadKeyboardLayout LoadKeyboardLayoutW
        !           427: #else
        !           428: #define LoadKeyboardLayout LoadKeyboardLayoutA
        !           429: #endif // !UNICODE
        !           430: BOOL ActivateKeyboardLayout(HKL hkl, UINT Flags);
        !           431: BOOL UnloadKeyboardLayout(HKL hkl);
        !           432: BOOL GetKeyboardLayoutNameA(LPSTR pwszKLID);
        !           433: BOOL GetKeyboardLayoutNameW(LPWSTR pwszKLID);
        !           434: #ifdef UNICODE
        !           435: #define GetKeyboardLayoutName GetKeyboardLayoutNameW
        !           436: #else
        !           437: #define GetKeyboardLayoutName GetKeyboardLayoutNameA
        !           438: #endif // !UNICODE
        !           439: 
        !           440: #ifndef NODESKTOP
        !           441: /*
        !           442:  * Desktop-specific access flags
        !           443:  */
        !           444: #define DESKTOP_ENUMWINDOWS         0x0001L
        !           445: #define DESKTOP_CREATEWINDOW        0x0002L
        !           446: #define DESKTOP_CREATEMENU          0x0004L
        !           447: #define DESKTOP_HOOKCONTROL         0x0008L
        !           448: #define DESKTOP_JOURNALRECORD       0x0010L
        !           449: #define DESKTOP_JOURNALPLAYBACK     0x0020L
        !           450: #define DESKTOP_ENUMERATE           0x0040L
        !           451: 
        !           452: HDESK
        !           453: WINAPI
        !           454: GetThreadDesktop(
        !           455:     DWORD);
        !           456: 
        !           457: #endif  /* NODESKTOP */
        !           458: 
        !           459: #ifndef NOWINDOWSTATION
        !           460: /*
        !           461:  * Windowstation-specific access flags
        !           462:  */
        !           463: #define WINSTA_ENUMDESKTOPS         0x0001L
        !           464: #define WINSTA_READATTRIBUTES       0x0002L
        !           465: #define WINSTA_ACCESSCLIPBOARD      0x0004L
        !           466: #define WINSTA_CREATEDESKTOP        0x0008L
        !           467: #define WINSTA_WRITEATTRIBUTES      0x0010L
        !           468: #define WINSTA_ACCESSGLOBALATOMS    0x0020L
        !           469: #define WINSTA_EXITWINDOWS          0x0040L
        !           470: #define WINSTA_ENUMERATE            0x0100L
        !           471: #define WINSTA_READSCREEN           0x0200L
        !           472: 
        !           473: HWINSTA
        !           474: WINAPI
        !           475: GetProcessWindowStation(
        !           476:     VOID);
        !           477: #endif  /* NOWINDOWSTATION */
        !           478: 
        !           479: #ifndef NOSECURITY
        !           480: /*
        !           481:  * window-specific access flags
        !           482:  */
        !           483: #define WIN_ACCESSWINDOW            0x0001L
        !           484: #define WIN_ENUMERATE               0x0002L
        !           485: 
        !           486: /*
        !           487:  * menu-specific access flags
        !           488:  */
        !           489: #define MENU_ACCESSMENU             0x0001L
        !           490: 
        !           491: BOOL
        !           492: WINAPI
        !           493: SetUserObjectSecurity(
        !           494:     HANDLE,
        !           495:     PSECURITY_INFORMATION,
        !           496:     PSECURITY_DESCRIPTOR);
        !           497: 
        !           498: BOOL
        !           499: WINAPI
        !           500: GetUserObjectSecurity(
        !           501:     HANDLE,
        !           502:     PSECURITY_INFORMATION,
        !           503:     PSECURITY_DESCRIPTOR,
        !           504:     DWORD,
        !           505:     LPDWORD);
        !           506: 
        !           507: #endif  /* NOSECURITY */
        !           508: 
        !           509: typedef struct tagWNDCLASSA {
        !           510:     UINT        style;
        !           511:     WNDPROC     lpfnWndProc;
        !           512:     int         cbClsExtra;
        !           513:     int         cbWndExtra;
        !           514:     HINSTANCE  hInstance;
        !           515:     HICON       hIcon;
        !           516:     HCURSOR     hCursor;
        !           517:     HBRUSH      hbrBackground;
        !           518:     LPCSTR      lpszMenuName;
        !           519:     LPCSTR      lpszClassName;
        !           520: } WNDCLASSA, *PWNDCLASSA, NEAR *NPWNDCLASSA, FAR *LPWNDCLASSA;
        !           521: typedef struct tagWNDCLASSW {
        !           522:     UINT        style;
        !           523:     WNDPROC     lpfnWndProc;
        !           524:     int         cbClsExtra;
        !           525:     int         cbWndExtra;
        !           526:     HINSTANCE  hInstance;
        !           527:     HICON       hIcon;
        !           528:     HCURSOR     hCursor;
        !           529:     HBRUSH      hbrBackground;
        !           530:     LPCWSTR     lpszMenuName;
        !           531:     LPCWSTR     lpszClassName;
        !           532: } WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW;
        !           533: #ifdef UNICODE
        !           534: #define WNDCLASS WNDCLASSW
        !           535: #define PWNDCLASS PWNDCLASSW
        !           536: #define NPWNDCLASS NPWNDCLASSW
        !           537: #define LPWNDCLASS LPWNDCLASSW
        !           538: #else
        !           539: #define WNDCLASS WNDCLASSA
        !           540: #define PWNDCLASS PWNDCLASSA
        !           541: #define NPWNDCLASS NPWNDCLASSA
        !           542: #define LPWNDCLASS LPWNDCLASSA
        !           543: #endif // UNICODE
        !           544: 
        !           545: #ifndef NOMSG
        !           546: 
        !           547: /* Message structure */
        !           548: typedef struct tagMSG {
        !           549:     HWND        hwnd;
        !           550:     UINT        message;
        !           551:     WPARAM      wParam;
        !           552:     LPARAM      lParam;
        !           553:     DWORD       time;
        !           554:     POINT       pt;
        !           555: } MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;
        !           556: 
        !           557: #define POINTSTOPOINT(pt,pts)  {(pt).x = (SHORT)LOWORD(pts); \
        !           558:                                 (pt).y = (SHORT)HIWORD(pts);}
        !           559: #define POINTTOPOINTS(pt)      (MAKELONG((short)((pt).x), (short)((pt).y)))
        !           560: 
        !           561: 
        !           562: #endif /* NOMSG */
        !           563: 
        !           564: #ifndef NOWINOFFSETS
        !           565: 
        !           566: /* Window field offsets for GetWindowLong() */
        !           567: #define GWL_WNDPROC         (-4)
        !           568: #define GWL_HINSTANCE       (-6)
        !           569: #define GWL_HWNDPARENT      (-8)
        !           570: #define GWL_STYLE           (-16)
        !           571: #define GWL_EXSTYLE         (-20)
        !           572: #define GWL_USERDATA        (-21)
        !           573: #define GWL_ID              (-12)
        !           574: 
        !           575: /* Class field offsets for GetClassLong() */
        !           576: #define GCL_MENUNAME        (-8)
        !           577: #define GCL_HBRBACKGROUND   (-10)
        !           578: #define GCL_HCURSOR         (-12)
        !           579: #define GCL_HICON           (-14)
        !           580: #define GCL_HMODULE         (-16)
        !           581: #define GCL_CBWNDEXTRA      (-18)
        !           582: #define GCL_CBCLSEXTRA      (-20)
        !           583: #define GCL_WNDPROC         (-24)
        !           584: #define GCL_STYLE           (-26)
        !           585: //!!!define GCW_ATOM            (-32)
        !           586: 
        !           587: #endif /* NOWINOFFSETS */
        !           588: 
        !           589: #ifndef NOWINMESSAGES
        !           590: 
        !           591: /* Window Messages */
        !           592: #define WM_NULL             0x0000
        !           593: #define WM_CREATE           0x0001
        !           594: #define WM_DESTROY          0x0002
        !           595: #define WM_MOVE             0x0003
        !           596: #define WM_SIZE             0x0005
        !           597: #define WM_ACTIVATE         0x0006
        !           598: #define WM_SETFOCUS         0x0007
        !           599: #define WM_KILLFOCUS        0x0008
        !           600: #define WM_ENABLE           0x000A
        !           601: #define WM_SETREDRAW        0x000B
        !           602: #define WM_SETTEXT          0x000C
        !           603: #define WM_GETTEXT          0x000D
        !           604: #define WM_GETTEXTLENGTH    0x000E
        !           605: #define WM_PAINT            0x000F
        !           606: #define WM_CLOSE            0x0010
        !           607: #define WM_QUERYENDSESSION  0x0011
        !           608: #define WM_QUIT             0x0012
        !           609: #define WM_QUERYOPEN        0x0013
        !           610: #define WM_ERASEBKGND       0x0014
        !           611: #define WM_SYSCOLORCHANGE   0x0015
        !           612: #define WM_ENDSESSION       0x0016
        !           613: #define WM_SHOWWINDOW       0x0018
        !           614: #define WM_WININICHANGE     0x001A
        !           615: #define WM_DEVMODECHANGE    0x001B
        !           616: #define WM_ACTIVATEAPP      0x001C
        !           617: #define WM_FONTCHANGE       0x001D
        !           618: #define WM_TIMECHANGE       0x001E
        !           619: #define WM_CANCELMODE       0x001F
        !           620: #define WM_SETCURSOR        0x0020
        !           621: #define WM_MOUSEACTIVATE    0x0021
        !           622: #define WM_CHILDACTIVATE    0x0022
        !           623: #define WM_QUEUESYNC        0x0023
        !           624: 
        !           625: /*
        !           626:  * Struct pointed to by WM_GETMINMAXINFO lParam
        !           627:  */
        !           628: typedef struct tagMINMAXINFO {
        !           629:     POINT ptReserved;
        !           630:     POINT ptMaxSize;
        !           631:     POINT ptMaxPosition;
        !           632:     POINT ptMinTrackSize;
        !           633:     POINT ptMaxTrackSize;
        !           634: } MINMAXINFO, *PMINMAXINFO;
        !           635: #define WM_GETMINMAXINFO    0x0024
        !           636: 
        !           637: 
        !           638: #define WM_PAINTICON        0x0026
        !           639: #define WM_ICONERASEBKGND   0x0027
        !           640: #define WM_NEXTDLGCTL       0x0028
        !           641: #define WM_SPOOLERSTATUS    0x002A
        !           642: #define WM_DRAWITEM         0x002B
        !           643: #define WM_MEASUREITEM      0x002C
        !           644: #define WM_DELETEITEM       0x002D
        !           645: #define WM_VKEYTOITEM       0x002E
        !           646: #define WM_CHARTOITEM       0x002F
        !           647: #define WM_SETFONT          0x0030
        !           648: #define WM_GETFONT          0x0031
        !           649: #define WM_SETHOTKEY        0x0032
        !           650: #define WM_GETHOTKEY        0x0033
        !           651: #define WM_QUERYDRAGICON    0x0037
        !           652: 
        !           653: #define WM_COMPAREITEM      0x0039
        !           654: #define WM_FULLSCREEN       0x003A
        !           655: 
        !           656: #define WM_COMPACTING           0x0041
        !           657: #define WM_OTHERWINDOWCREATED   0x0042
        !           658: #define WM_OTHERWINDOWDESTROYED 0x0043
        !           659: #define WM_COMMNOTIFY           0x0044
        !           660: #define WM_HOTKEYEVENT          0x0045
        !           661: #define WM_WINDOWPOSCHANGING    0x0046
        !           662: #define WM_WINDOWPOSCHANGED     0x0047
        !           663: #define WM_POWER                0x0048
        !           664: 
        !           665: #define WM_NCCREATE         0x0081
        !           666: #define WM_NCDESTROY        0x0082
        !           667: #define WM_NCCALCSIZE       0x0083
        !           668: #define WM_NCHITTEST        0x0084
        !           669: #define WM_NCPAINT          0x0085
        !           670: #define WM_NCACTIVATE       0x0086
        !           671: #define WM_GETDLGCODE       0x0087
        !           672: #define WM_NCMOUSEMOVE      0x00A0
        !           673: #define WM_NCLBUTTONDOWN    0x00A1
        !           674: #define WM_NCLBUTTONUP      0x00A2
        !           675: #define WM_NCLBUTTONDBLCLK  0x00A3
        !           676: #define WM_NCRBUTTONDOWN    0x00A4
        !           677: #define WM_NCRBUTTONUP      0x00A5
        !           678: #define WM_NCRBUTTONDBLCLK  0x00A6
        !           679: #define WM_NCMBUTTONDOWN    0x00A7
        !           680: #define WM_NCMBUTTONUP      0x00A8
        !           681: #define WM_NCMBUTTONDBLCLK  0x00A9
        !           682: 
        !           683: #define WM_KEYFIRST         0x0100
        !           684: #define WM_KEYDOWN          0x0100
        !           685: #define WM_KEYUP            0x0101
        !           686: #define WM_CHAR             0x0102
        !           687: #define WM_DEADCHAR         0x0103
        !           688: #define WM_SYSKEYDOWN       0x0104
        !           689: #define WM_SYSKEYUP         0x0105
        !           690: #define WM_SYSCHAR          0x0106
        !           691: #define WM_SYSDEADCHAR      0x0107
        !           692: #define WM_KEYLAST          0x0108
        !           693: 
        !           694: #define WM_INITDIALOG       0x0110
        !           695: #define WM_COMMAND          0x0111
        !           696: #define WM_SYSCOMMAND       0x0112
        !           697: #define WM_TIMER            0x0113
        !           698: #define WM_HSCROLL          0x0114
        !           699: #define WM_VSCROLL          0x0115
        !           700: #define WM_INITMENU         0x0116
        !           701: #define WM_INITMENUPOPUP    0x0117
        !           702: #define WM_MENUSELECT       0x011F
        !           703: #define WM_MENUCHAR         0x0120
        !           704: #define WM_ENTERIDLE        0x0121
        !           705: 
        !           706: #define WM_CTLCOLORMSGBOX       0x0132
        !           707: #define WM_CTLCOLOREDIT         0x0133
        !           708: #define WM_CTLCOLORLISTBOX      0x0134
        !           709: #define WM_CTLCOLORBTN          0x0135
        !           710: #define WM_CTLCOLORDLG          0x0136
        !           711: #define WM_CTLCOLORSCROLLBAR    0x0137
        !           712: #define WM_CTLCOLORSTATIC       0x0138
        !           713: 
        !           714: #define WM_MOUSEFIRST       0x0200
        !           715: #define WM_MOUSEMOVE        0x0200
        !           716: #define WM_LBUTTONDOWN      0x0201
        !           717: #define WM_LBUTTONUP        0x0202
        !           718: #define WM_LBUTTONDBLCLK    0x0203
        !           719: #define WM_RBUTTONDOWN      0x0204
        !           720: #define WM_RBUTTONUP        0x0205
        !           721: #define WM_RBUTTONDBLCLK    0x0206
        !           722: #define WM_MBUTTONDOWN      0x0207
        !           723: #define WM_MBUTTONUP        0x0208
        !           724: #define WM_MBUTTONDBLCLK    0x0209
        !           725: #define WM_MOUSELAST        0x0209
        !           726: 
        !           727: #define WM_PARENTNOTIFY     0x0210
        !           728: #define WM_MDICREATE        0x0220
        !           729: #define WM_MDIDESTROY       0x0221
        !           730: #define WM_MDIACTIVATE      0x0222
        !           731: #define WM_MDIRESTORE       0x0223
        !           732: #define WM_MDINEXT          0x0224
        !           733: #define WM_MDIMAXIMIZE      0x0225
        !           734: #define WM_MDITILE          0x0226
        !           735: #define WM_MDICASCADE       0x0227
        !           736: #define WM_MDIICONARRANGE   0x0228
        !           737: #define WM_MDIGETACTIVE     0x0229
        !           738: #define WM_MDISETMENU       0x0230
        !           739: #define WM_DROPFILES        0x0233
        !           740: #define WM_MDIREFRESHMENU   0x0234
        !           741: 
        !           742: #define WM_CUT              0x0300
        !           743: #define WM_COPY             0x0301
        !           744: #define WM_PASTE            0x0302
        !           745: #define WM_CLEAR            0x0303
        !           746: #define WM_UNDO             0x0304
        !           747: #define WM_RENDERFORMAT     0x0305
        !           748: #define WM_RENDERALLFORMATS 0x0306
        !           749: #define WM_DESTROYCLIPBOARD 0x0307
        !           750: #define WM_DRAWCLIPBOARD    0x0308
        !           751: #define WM_PAINTCLIPBOARD   0x0309
        !           752: #define WM_VSCROLLCLIPBOARD 0x030A
        !           753: #define WM_SIZECLIPBOARD    0x030B
        !           754: #define WM_ASKCBFORMATNAME  0x030C
        !           755: #define WM_CHANGECBCHAIN    0x030D
        !           756: #define WM_HSCROLLCLIPBOARD 0x030E
        !           757: #define WM_QUERYNEWPALETTE  0x030F
        !           758: #define WM_PALETTEISCHANGING 0x0310
        !           759: #define WM_PALETTECHANGED   0x0311
        !           760: #define WM_HOTKEY           0x0312
        !           761: 
        !           762: /* PenWindows specific messages */
        !           763: #define WM_PENWINFIRST       0x0380
        !           764: #define WM_PENWINLAST        0x038F
        !           765: 
        !           766: #define WM_MM_RESERVED_FIRST 0x03A0
        !           767: #define WM_MM_RESERVED_LAST  0x03DF
        !           768: 
        !           769: /* NOTE: All Message Numbers below 0x0400 are RESERVED. */
        !           770: 
        !           771: /* Private Window Messages Start Here: */
        !           772: #define WM_USER             0x0400
        !           773: 
        !           774: #ifndef NONCMESSAGES
        !           775: 
        !           776: /* WM_SYNCTASK Commands */
        !           777: #define ST_BEGINSWP         0
        !           778: #define ST_ENDSWP           1
        !           779: 
        !           780: /* WinWhere() Area Codes */
        !           781: #define HTERROR             (-2)
        !           782: #define HTTRANSPARENT       (-1)
        !           783: #define HTNOWHERE           0
        !           784: #define HTCLIENT            1
        !           785: #define HTCAPTION           2
        !           786: #define HTSYSMENU           3
        !           787: #define HTGROWBOX           4
        !           788: #define HTSIZE              HTGROWBOX
        !           789: #define HTMENU              5
        !           790: #define HTHSCROLL           6
        !           791: #define HTVSCROLL           7
        !           792: #define HTMINBUTTON         8
        !           793: #define HTMAXBUTTON         9
        !           794: #define HTLEFT              10
        !           795: #define HTRIGHT             11
        !           796: #define HTTOP               12
        !           797: #define HTTOPLEFT           13
        !           798: #define HTTOPRIGHT          14
        !           799: #define HTBOTTOM            15
        !           800: #define HTBOTTOMLEFT        16
        !           801: #define HTBOTTOMRIGHT       17
        !           802: #define HTBORDER            18
        !           803: #define HTREDUCE            HTMINBUTTON
        !           804: #define HTZOOM              HTMAXBUTTON
        !           805: #define HTSIZEFIRST         HTLEFT
        !           806: #define HTSIZELAST          HTBOTTOMRIGHT
        !           807: 
        !           808: #endif /* NONCMESSAGES */
        !           809: 
        !           810: /* WM_MOUSEACTIVATE Return Codes */
        !           811: #define MA_ACTIVATE         1
        !           812: #define MA_ACTIVATEANDEAT   2
        !           813: #define MA_NOACTIVATE       3
        !           814: #define MA_NOACTIVATEANDEAT 4
        !           815: 
        !           816: UINT
        !           817: WINAPI
        !           818: RegisterWindowMessageA(
        !           819:     LPCSTR lpString);
        !           820: UINT
        !           821: WINAPI
        !           822: RegisterWindowMessageW(
        !           823:     LPCWSTR lpString);
        !           824: #ifdef UNICODE
        !           825: #define RegisterWindowMessage RegisterWindowMessageW
        !           826: #else
        !           827: #define RegisterWindowMessage RegisterWindowMessageA
        !           828: #endif // !UNICODE
        !           829: 
        !           830: /* WM_SIZE message wParam values */
        !           831: #define SIZE_RESTORED       0
        !           832: #define SIZE_MINIMIZED      1
        !           833: #define SIZE_MAXIMIZED      2
        !           834: #define SIZE_MAXSHOW        3
        !           835: #define SIZE_MAXHIDE        4
        !           836: 
        !           837: /* Obsolete constant names */
        !           838: #define SIZENORMAL          SIZE_RESTORED
        !           839: #define SIZEICONIC          SIZE_MINIMIZED
        !           840: #define SIZEFULLSCREEN      SIZE_MAXIMIZED
        !           841: #define SIZEZOOMSHOW        SIZE_MAXSHOW
        !           842: #define SIZEZOOMHIDE        SIZE_MAXHIDE
        !           843: 
        !           844: /* WM_WINDOWPOSCHANGING/CHANGED struct pointed to by lParam */
        !           845: typedef struct tagWINDOWPOS {
        !           846:     HWND    hwnd;
        !           847:     HWND    hwndInsertAfter;
        !           848:     int     x;
        !           849:     int     y;
        !           850:     int     cx;
        !           851:     int     cy;
        !           852:     UINT    flags;
        !           853: } WINDOWPOS, *LPWINDOWPOS, *PWINDOWPOS;
        !           854: 
        !           855: /* WM_NCCALCSIZE parameter structure */
        !           856: typedef struct tagNCCALCSIZE_PARAMS {
        !           857:     RECT       rgrc[3];
        !           858:     PWINDOWPOS lppos;
        !           859: } NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;
        !           860: 
        !           861: /* WM_NCCALCSIZE "window valid rect" return values */
        !           862: #define WVR_ALIGNTOP        0x0010
        !           863: #define WVR_ALIGNLEFT       0x0020
        !           864: #define WVR_ALIGNBOTTOM     0x0040
        !           865: #define WVR_ALIGNRIGHT      0x0080
        !           866: #define WVR_HREDRAW         0x0100
        !           867: #define WVR_VREDRAW         0x0200
        !           868: #define WVR_REDRAW          (WVR_HREDRAW | WVR_VREDRAW)
        !           869: #define WVR_VALIDRECTS      0x0400
        !           870: 
        !           871: 
        !           872: #ifndef NOKEYSTATES
        !           873: 
        !           874: /* Key State Masks for Mouse Messages */
        !           875: #define MK_LBUTTON          0x0001
        !           876: #define MK_RBUTTON          0x0002
        !           877: #define MK_SHIFT            0x0004
        !           878: #define MK_CONTROL          0x0008
        !           879: #define MK_MBUTTON          0x0010
        !           880: 
        !           881: #endif /* NOKEYSTATES */
        !           882: 
        !           883: #endif /* NOWINMESSAGES */
        !           884: 
        !           885: #ifndef NOWINSTYLES
        !           886: 
        !           887: /* Window Styles */
        !           888: #define WS_OVERLAPPED       0x00000000L
        !           889: #define WS_POPUP            0x80000000L
        !           890: #define WS_CHILD            0x40000000L
        !           891: #define WS_MINIMIZE         0x20000000L
        !           892: #define WS_VISIBLE          0x10000000L
        !           893: #define WS_DISABLED         0x08000000L
        !           894: #define WS_CLIPSIBLINGS     0x04000000L
        !           895: #define WS_CLIPCHILDREN     0x02000000L
        !           896: #define WS_MAXIMIZE         0x01000000L
        !           897: #define WS_CAPTION          0x00C00000L     /* WS_BORDER | WS_DLGFRAME  */
        !           898: #define WS_BORDER           0x00800000L
        !           899: #define WS_DLGFRAME         0x00400000L
        !           900: #define WS_VSCROLL          0x00200000L
        !           901: #define WS_HSCROLL          0x00100000L
        !           902: #define WS_SYSMENU          0x00080000L
        !           903: #define WS_THICKFRAME       0x00040000L
        !           904: #define WS_GROUP            0x00020000L
        !           905: #define WS_TABSTOP          0x00010000L
        !           906: 
        !           907: #define WS_MINIMIZEBOX      0x00020000L
        !           908: #define WS_MAXIMIZEBOX      0x00010000L
        !           909: 
        !           910: #define WS_TILED            WS_OVERLAPPED
        !           911: #define WS_ICONIC           WS_MINIMIZE
        !           912: #define WS_SIZEBOX          WS_THICKFRAME
        !           913: #define WS_TILEDWINDOW      WS_OVERLAPPEDWINDOW
        !           914: 
        !           915: /* Common Window Styles */
        !           916: #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
        !           917: #define WS_POPUPWINDOW      (WS_POPUP | WS_BORDER | WS_SYSMENU)
        !           918: #define WS_CHILDWINDOW      (WS_CHILD)
        !           919: 
        !           920: /* Extended Window Styles */
        !           921: #define WS_EX_DLGMODALFRAME  0x00000001L
        !           922: #define WS_EX_NOPARENTNOTIFY 0x00000004L
        !           923: #define WS_EX_TOPMOST        0x00000008L
        !           924: #define WS_EX_ACCEPTFILES    0x00000010L
        !           925: #define WS_EX_TRANSPARENT    0x00000020L
        !           926: 
        !           927: /* Class styles */
        !           928: #define CS_VREDRAW          0x0001
        !           929: #define CS_HREDRAW          0x0002
        !           930: #define CS_KEYCVTWINDOW     0x0004
        !           931: #define CS_DBLCLKS          0x0008
        !           932:                         /*  0x0010 - reserved (see user\server\usersrv.h) */
        !           933: #define CS_OWNDC            0x0020
        !           934: #define CS_CLASSDC          0x0040
        !           935: #define CS_PARENTDC         0x0080
        !           936: #define CS_NOKEYCVT         0x0100
        !           937: #define CS_NOCLOSE          0x0200
        !           938: #define CS_SAVEBITS         0x0800
        !           939: #define CS_BYTEALIGNCLIENT  0x1000
        !           940: #define CS_BYTEALIGNWINDOW  0x2000
        !           941: #define CS_GLOBALCLASS      0x4000    /* Global window class */
        !           942: 
        !           943: #endif /* NOWINSTYLES */
        !           944: 
        !           945: #ifndef NOCLIPBOARD
        !           946: 
        !           947: /* Predefined Clipboard Formats */
        !           948: #define CF_TEXT             1
        !           949: #define CF_BITMAP           2
        !           950: #define CF_METAFILEPICT     3
        !           951: #define CF_SYLK             4
        !           952: #define CF_DIF              5
        !           953: #define CF_TIFF             6
        !           954: #define CF_OEMTEXT          7
        !           955: #define CF_DIB              8
        !           956: #define CF_PALETTE          9
        !           957: #define CF_PENDATA          10
        !           958: #define CF_RIFF             11
        !           959: #define CF_WAVE             12
        !           960: #define CF_UNICODETEXT      13
        !           961: #define CF_ENHMETAFILE      14
        !           962: 
        !           963: #define CF_OWNERDISPLAY     0x0080
        !           964: #define CF_DSPTEXT          0x0081
        !           965: #define CF_DSPBITMAP        0x0082
        !           966: #define CF_DSPMETAFILEPICT  0x0083
        !           967: #define CF_DSPENHMETAFILE   0x008E
        !           968: 
        !           969: /* "Private" formats don't get GlobalFree()'d */
        !           970: #define CF_PRIVATEFIRST     0x0200
        !           971: #define CF_PRIVATELAST      0x02FF
        !           972: 
        !           973: /* "GDIOBJ" formats do get DeleteObject()'d */
        !           974: #define CF_GDIOBJFIRST      0x0300
        !           975: #define CF_GDIOBJLAST       0x03FF
        !           976: 
        !           977: #endif /* NOCLIPBOARD */
        !           978: 
        !           979: /*
        !           980:  * Defines for the fVirt field of the Accelerator table structure.
        !           981:  */
        !           982: #define FVIRTKEY  TRUE          /* Assumed to be == TRUE */
        !           983: #define FNOINVERT 0x02
        !           984: #define FSHIFT    0x04
        !           985: #define FCONTROL  0x08
        !           986: #define FALT      0x10
        !           987: 
        !           988: typedef struct tagACCEL {
        !           989:     BYTE   fVirt;               /* Also called the flags field */
        !           990:     WORD   key;
        !           991:     WORD   cmd;
        !           992: } ACCEL, *LPACCEL;
        !           993: 
        !           994: typedef struct tagPAINTSTRUCT {
        !           995:     HDC         hdc;
        !           996:     BOOL        fErase;
        !           997:     RECT        rcPaint;
        !           998:     BOOL        fRestore;
        !           999:     BOOL        fIncUpdate;
        !          1000:     BYTE        rgbReserved[32];
        !          1001: } PAINTSTRUCT, *PPAINTSTRUCT, *NPPAINTSTRUCT, *LPPAINTSTRUCT;
        !          1002: 
        !          1003: typedef struct tagCREATESTRUCTA {
        !          1004:     LPVOID      lpCreateParams;
        !          1005:     HINSTANCE  hInstance;
        !          1006:     HMENU       hMenu;
        !          1007:     HWND        hwndParent;
        !          1008:     int         cy;
        !          1009:     int         cx;
        !          1010:     int         y;
        !          1011:     int         x;
        !          1012:     LONG        style;
        !          1013:     LPCSTR   lpszName;
        !          1014:     LPCSTR     lpszClass;
        !          1015:     DWORD       dwExStyle;
        !          1016: } CREATESTRUCTA, *LPCREATESTRUCTA;
        !          1017: typedef struct tagCREATESTRUCTW {
        !          1018:     LPVOID      lpCreateParams;
        !          1019:     HINSTANCE  hInstance;
        !          1020:     HMENU       hMenu;
        !          1021:     HWND        hwndParent;
        !          1022:     int         cy;
        !          1023:     int         cx;
        !          1024:     int         y;
        !          1025:     int         x;
        !          1026:     LONG        style;
        !          1027:     LPCWSTR  lpszName;
        !          1028:     LPCWSTR    lpszClass;
        !          1029:     DWORD       dwExStyle;
        !          1030: } CREATESTRUCTW, *LPCREATESTRUCTW;
        !          1031: #ifdef UNICODE
        !          1032: #define CREATESTRUCT CREATESTRUCTW
        !          1033: #define LPCREATESTRUCT LPCREATESTRUCTW
        !          1034: #else
        !          1035: #define CREATESTRUCT CREATESTRUCTA
        !          1036: #define LPCREATESTRUCT LPCREATESTRUCTA
        !          1037: #endif // UNICODE
        !          1038: 
        !          1039: typedef struct tagWINDOWPLACEMENT {
        !          1040:     UINT  length;
        !          1041:     UINT  flags;
        !          1042:     UINT  showCmd;
        !          1043:     POINT ptMinPosition;
        !          1044:     POINT ptMaxPosition;
        !          1045:     RECT  rcNormalPosition;
        !          1046: } WINDOWPLACEMENT;
        !          1047: typedef WINDOWPLACEMENT *PWINDOWPLACEMENT;
        !          1048: 
        !          1049: #define WPF_SETMINPOSITION      0x0001
        !          1050: #define WPF_RESTORETOMAXIMIZED  0x0002
        !          1051: 
        !          1052: /* Owner draw control types */
        !          1053: #define ODT_MENU        1
        !          1054: #define ODT_LISTBOX     2
        !          1055: #define ODT_COMBOBOX    3
        !          1056: #define ODT_BUTTON      4
        !          1057: 
        !          1058: /* Owner draw actions */
        !          1059: #define ODA_DRAWENTIRE  0x0001
        !          1060: #define ODA_SELECT      0x0002
        !          1061: #define ODA_FOCUS       0x0004
        !          1062: 
        !          1063: /* Owner draw state */
        !          1064: #define ODS_SELECTED    0x0001
        !          1065: #define ODS_GRAYED      0x0002
        !          1066: #define ODS_DISABLED    0x0004
        !          1067: #define ODS_CHECKED     0x0008
        !          1068: #define ODS_FOCUS       0x0010
        !          1069: 
        !          1070: /* MEASUREITEMSTRUCT for ownerdraw */
        !          1071: typedef struct tagMEASUREITEMSTRUCT {
        !          1072:     UINT       CtlType;
        !          1073:     UINT       CtlID;
        !          1074:     UINT       itemID;
        !          1075:     UINT       itemWidth;
        !          1076:     UINT       itemHeight;
        !          1077:     DWORD      itemData;
        !          1078: } MEASUREITEMSTRUCT, NEAR *PMEASUREITEMSTRUCT, FAR *LPMEASUREITEMSTRUCT;
        !          1079: 
        !          1080: 
        !          1081: /* DRAWITEMSTRUCT for ownerdraw */
        !          1082: typedef struct tagDRAWITEMSTRUCT {
        !          1083:     UINT        CtlType;
        !          1084:     UINT        CtlID;
        !          1085:     UINT        itemID;
        !          1086:     UINT        itemAction;
        !          1087:     UINT        itemState;
        !          1088:     HWND        hwndItem;
        !          1089:     HDC         hDC;
        !          1090:     RECT        rcItem;
        !          1091:     DWORD       itemData;
        !          1092: } DRAWITEMSTRUCT, NEAR *PDRAWITEMSTRUCT, FAR *LPDRAWITEMSTRUCT;
        !          1093: 
        !          1094: /* DELETEITEMSTRUCT for ownerdraw */
        !          1095: typedef struct tagDELETEITEMSTRUCT {
        !          1096:     UINT       CtlType;
        !          1097:     UINT       CtlID;
        !          1098:     UINT       itemID;
        !          1099:     HWND       hwndItem;
        !          1100:     UINT       itemData;
        !          1101: } DELETEITEMSTRUCT, NEAR *PDELETEITEMSTRUCT, FAR *LPDELETEITEMSTRUCT;
        !          1102: 
        !          1103: /* COMPAREITEMSTUCT for ownerdraw sorting */
        !          1104: typedef struct tagCOMPAREITEMSTRUCT {
        !          1105:     UINT        CtlType;
        !          1106:     UINT        CtlID;
        !          1107:     HWND        hwndItem;
        !          1108:     UINT        itemID1;
        !          1109:     DWORD       itemData1;
        !          1110:     UINT        itemID2;
        !          1111:     DWORD       itemData2;
        !          1112:     DWORD       dwLocaleId;
        !          1113: } COMPAREITEMSTRUCT, NEAR *PCOMPAREITEMSTRUCT, FAR *LPCOMPAREITEMSTRUCT;
        !          1114: 
        !          1115: #ifndef NOMSG
        !          1116: 
        !          1117: /* Message Function Templates */
        !          1118: BOOL
        !          1119: WINAPI
        !          1120: GetMessageA(
        !          1121:     LPMSG lpMsg,
        !          1122:     HWND hWnd ,
        !          1123:     UINT wMsgFilterMin,
        !          1124:     UINT wMsgFilterMax);
        !          1125: /* Message Function Templates */
        !          1126: BOOL
        !          1127: WINAPI
        !          1128: GetMessageW(
        !          1129:     LPMSG lpMsg,
        !          1130:     HWND hWnd ,
        !          1131:     UINT wMsgFilterMin,
        !          1132:     UINT wMsgFilterMax);
        !          1133: #ifdef UNICODE
        !          1134: #define GetMessage GetMessageW
        !          1135: #else
        !          1136: #define GetMessage GetMessageA
        !          1137: #endif // !UNICODE
        !          1138: 
        !          1139: BOOL
        !          1140: WINAPI
        !          1141: TranslateMessage(
        !          1142:     CONST MSG *lpMsg);
        !          1143: 
        !          1144: LONG
        !          1145: WINAPI
        !          1146: DispatchMessageA(
        !          1147:     CONST MSG *lpMsg);
        !          1148: LONG
        !          1149: WINAPI
        !          1150: DispatchMessageW(
        !          1151:     CONST MSG *lpMsg);
        !          1152: #ifdef UNICODE
        !          1153: #define DispatchMessage DispatchMessageW
        !          1154: #else
        !          1155: #define DispatchMessage DispatchMessageA
        !          1156: #endif // !UNICODE
        !          1157: 
        !          1158: BOOL
        !          1159: WINAPI
        !          1160: PeekMessageA(
        !          1161:     LPMSG lpMsg,
        !          1162:     HWND hWnd ,
        !          1163:     UINT wMsgFilterMin,
        !          1164:     UINT wMsgFilterMax,
        !          1165:     UINT wRemoveMsg);
        !          1166: BOOL
        !          1167: WINAPI
        !          1168: PeekMessageW(
        !          1169:     LPMSG lpMsg,
        !          1170:     HWND hWnd ,
        !          1171:     UINT wMsgFilterMin,
        !          1172:     UINT wMsgFilterMax,
        !          1173:     UINT wRemoveMsg);
        !          1174: #ifdef UNICODE
        !          1175: #define PeekMessage PeekMessageW
        !          1176: #else
        !          1177: #define PeekMessage PeekMessageA
        !          1178: #endif // !UNICODE
        !          1179: 
        !          1180: /* PeekMessage() Options */
        !          1181: #define PM_NOREMOVE         0x0000
        !          1182: #define PM_REMOVE           0x0001
        !          1183: #define PM_NOYIELD          0x0002
        !          1184: 
        !          1185: #endif /* NOMSG */
        !          1186: 
        !          1187: BOOL
        !          1188: WINAPI
        !          1189: RegisterHotKey(
        !          1190:     HWND hwnd ,
        !          1191:     int id,
        !          1192:     UINT fsModifiers,
        !          1193:     UINT vk);
        !          1194: 
        !          1195: BOOL
        !          1196: WINAPI
        !          1197: UnregisterHotKey(
        !          1198:     HWND hwnd,
        !          1199:     int id);
        !          1200: 
        !          1201: #define MOD_ALT         0x0001
        !          1202: #define MOD_CONTROL     0x0002
        !          1203: #define MOD_SHIFT       0x0004
        !          1204: 
        !          1205: #define IDHOT_SNAPWINDOW        (-1)    /* SHIFT-PRINTSCRN  */
        !          1206: #define IDHOT_SNAPDESKTOP       (-2)    /* PRINTSCRN        */
        !          1207: 
        !          1208: #ifdef WIN_INTERNAL
        !          1209:     #ifndef LSTRING
        !          1210:     #define NOLSTRING
        !          1211:     #endif
        !          1212:     #ifndef LFILEIO
        !          1213:     #define NOLFILEIO
        !          1214:     #endif
        !          1215: #endif
        !          1216: 
        !          1217: 
        !          1218: #define EWX_LOGOFF   0
        !          1219: #define EWX_SHUTDOWN 1
        !          1220: #define EWX_REBOOT   2
        !          1221: #define EWX_FORCE    4
        !          1222: 
        !          1223: 
        !          1224: #define ExitWindows(dwReserved, Code) ExitWindowsEx(EWX_LOGOFF, (-1))
        !          1225: 
        !          1226: BOOL
        !          1227: WINAPI
        !          1228: ExitWindowsEx(
        !          1229:     UINT uFlags,
        !          1230:     DWORD ForceTimeout);
        !          1231: 
        !          1232: BOOL
        !          1233: WINAPI
        !          1234: SwapMouseButton(
        !          1235:     BOOL);
        !          1236: 
        !          1237: DWORD
        !          1238: WINAPI
        !          1239: GetMessagePos(
        !          1240:     VOID);
        !          1241: 
        !          1242: LONG
        !          1243: WINAPI
        !          1244: GetMessageTime(
        !          1245:     VOID);
        !          1246: 
        !          1247: LONG
        !          1248: WINAPI
        !          1249: GetMessageExtraInfo(
        !          1250:     VOID);
        !          1251: 
        !          1252: LRESULT
        !          1253: WINAPI
        !          1254: SendMessageA(
        !          1255:     HWND hWnd,
        !          1256:     UINT Msg,
        !          1257:     WPARAM wParam,
        !          1258:     LPARAM lParam);
        !          1259: LRESULT
        !          1260: WINAPI
        !          1261: SendMessageW(
        !          1262:     HWND hWnd,
        !          1263:     UINT Msg,
        !          1264:     WPARAM wParam,
        !          1265:     LPARAM lParam);
        !          1266: #ifdef UNICODE
        !          1267: #define SendMessage SendMessageW
        !          1268: #else
        !          1269: #define SendMessage SendMessageA
        !          1270: #endif // !UNICODE
        !          1271: 
        !          1272: BOOL
        !          1273: WINAPI
        !          1274: SendNotifyMessageA(
        !          1275:     HWND hwnd,
        !          1276:     UINT Msg,
        !          1277:     WPARAM wParam,
        !          1278:     LPARAM lParam);
        !          1279: BOOL
        !          1280: WINAPI
        !          1281: SendNotifyMessageW(
        !          1282:     HWND hwnd,
        !          1283:     UINT Msg,
        !          1284:     WPARAM wParam,
        !          1285:     LPARAM lParam);
        !          1286: #ifdef UNICODE
        !          1287: #define SendNotifyMessage SendNotifyMessageW
        !          1288: #else
        !          1289: #define SendNotifyMessage SendNotifyMessageA
        !          1290: #endif // !UNICODE
        !          1291: 
        !          1292: BOOL
        !          1293: WINAPI
        !          1294: PostMessageA(
        !          1295:     HWND hWnd,
        !          1296:     UINT Msg,
        !          1297:     WPARAM wParam,
        !          1298:     LPARAM lParam);
        !          1299: BOOL
        !          1300: WINAPI
        !          1301: PostMessageW(
        !          1302:     HWND hWnd,
        !          1303:     UINT Msg,
        !          1304:     WPARAM wParam,
        !          1305:     LPARAM lParam);
        !          1306: #ifdef UNICODE
        !          1307: #define PostMessage PostMessageW
        !          1308: #else
        !          1309: #define PostMessage PostMessageA
        !          1310: #endif // !UNICODE
        !          1311: 
        !          1312: BOOL
        !          1313: WINAPI
        !          1314: PostThreadMessageA(
        !          1315:     DWORD idThread,
        !          1316:     UINT Msg,
        !          1317:     WPARAM wParam,
        !          1318:     LPARAM lParam);
        !          1319: BOOL
        !          1320: WINAPI
        !          1321: PostThreadMessageW(
        !          1322:     DWORD idThread,
        !          1323:     UINT Msg,
        !          1324:     WPARAM wParam,
        !          1325:     LPARAM lParam);
        !          1326: #ifdef UNICODE
        !          1327: #define PostThreadMessage PostThreadMessageW
        !          1328: #else
        !          1329: #define PostThreadMessage PostThreadMessageA
        !          1330: #endif // !UNICODE
        !          1331: 
        !          1332: #define PostAppMessageA(idThread, wMsg, wParam, lParam)\
        !          1333:         PostThreadMessageA((DWORD)idThread, wMsg, wParam, lParam)
        !          1334: #define PostAppMessageW(idThread, wMsg, wParam, lParam)\
        !          1335:         PostThreadMessageW((DWORD)idThread, wMsg, wParam, lParam)
        !          1336: #ifdef UNICODE
        !          1337: #define PostAppMessage PostAppMessageW
        !          1338: #else
        !          1339: #define PostAppMessage PostAppMessageA
        !          1340: #endif // !UNICODE
        !          1341: 
        !          1342: /* Special HWND value for use with PostMessage() and SendMessage() */
        !          1343: #define HWND_BROADCAST  ((HWND)0xffff)
        !          1344: 
        !          1345: BOOL
        !          1346: WINAPI
        !          1347: AttachThreadInput(
        !          1348:     DWORD idAttach,
        !          1349:     DWORD idAttachTo,
        !          1350:     BOOL fAttach);
        !          1351: 
        !          1352: 
        !          1353: BOOL
        !          1354: WINAPI
        !          1355: ReplyMessage(
        !          1356:     LRESULT);
        !          1357: 
        !          1358: BOOL
        !          1359: WINAPI
        !          1360: WaitMessage(
        !          1361:     VOID);
        !          1362: 
        !          1363: DWORD
        !          1364: WINAPI
        !          1365: WaitForInputIdle(
        !          1366:     HANDLE hProcess,
        !          1367:     DWORD dwMilliseconds);
        !          1368: 
        !          1369: LRESULT
        !          1370: WINAPI
        !          1371: DefWindowProcA(
        !          1372:     HWND hWnd,
        !          1373:     UINT Msg,
        !          1374:     WPARAM wParam,
        !          1375:     LPARAM lParam);
        !          1376: LRESULT
        !          1377: WINAPI
        !          1378: DefWindowProcW(
        !          1379:     HWND hWnd,
        !          1380:     UINT Msg,
        !          1381:     WPARAM wParam,
        !          1382:     LPARAM lParam);
        !          1383: #ifdef UNICODE
        !          1384: #define DefWindowProc DefWindowProcW
        !          1385: #else
        !          1386: #define DefWindowProc DefWindowProcA
        !          1387: #endif // !UNICODE
        !          1388: 
        !          1389: VOID
        !          1390: WINAPI
        !          1391: PostQuitMessage(
        !          1392:     int nExitCode);
        !          1393: 
        !          1394: #ifdef STRICT
        !          1395: LRESULT
        !          1396: WINAPI
        !          1397: CallWindowProcA(
        !          1398:     WNDPROC lpPrevWndFunc,
        !          1399:     HWND hWnd,
        !          1400:     UINT Msg,
        !          1401:     WPARAM wParam,
        !          1402:     LPARAM lParam);
        !          1403: LRESULT
        !          1404: WINAPI
        !          1405: CallWindowProcW(
        !          1406:     WNDPROC lpPrevWndFunc,
        !          1407:     HWND hWnd,
        !          1408:     UINT Msg,
        !          1409:     WPARAM wParam,
        !          1410:     LPARAM lParam);
        !          1411: #else
        !          1412: LRESULT
        !          1413: WINAPI
        !          1414: CallWindowProcA(
        !          1415:     FARPROC lpPrevWndFunc,
        !          1416:     HWND hWnd,
        !          1417:     UINT Msg,
        !          1418:     WPARAM wParam,
        !          1419:     LPARAM lParam);
        !          1420: LRESULT
        !          1421: WINAPI
        !          1422: CallWindowProcW(
        !          1423:     FARPROC lpPrevWndFunc,
        !          1424:     HWND hWnd,
        !          1425:     UINT Msg,
        !          1426:     WPARAM wParam,
        !          1427:     LPARAM lParam);
        !          1428: #endif
        !          1429: #ifdef UNICODE
        !          1430: #define CallWindowProc CallWindowProcW
        !          1431: #else
        !          1432: #define CallWindowProc CallWindowProcA
        !          1433: #endif // !UNICODE
        !          1434: 
        !          1435: BOOL
        !          1436: WINAPI
        !          1437: InSendMessage(
        !          1438:     VOID);
        !          1439: 
        !          1440: UINT
        !          1441: WINAPI
        !          1442: GetDoubleClickTime(
        !          1443:     VOID);
        !          1444: 
        !          1445: BOOL
        !          1446: WINAPI
        !          1447: SetDoubleClickTime(
        !          1448:     UINT);
        !          1449: 
        !          1450: ATOM
        !          1451: WINAPI
        !          1452: RegisterClassA(
        !          1453:     LPWNDCLASSA lpWndClass);
        !          1454: ATOM
        !          1455: WINAPI
        !          1456: RegisterClassW(
        !          1457:     LPWNDCLASSW lpWndClass);
        !          1458: #ifdef UNICODE
        !          1459: #define RegisterClass RegisterClassW
        !          1460: #else
        !          1461: #define RegisterClass RegisterClassA
        !          1462: #endif // !UNICODE
        !          1463: 
        !          1464: BOOL
        !          1465: WINAPI
        !          1466: UnregisterClassA(
        !          1467:     LPCSTR lpClassName,
        !          1468:     HINSTANCE hInstance);
        !          1469: BOOL
        !          1470: WINAPI
        !          1471: UnregisterClassW(
        !          1472:     LPCWSTR lpClassName,
        !          1473:     HINSTANCE hInstance);
        !          1474: #ifdef UNICODE
        !          1475: #define UnregisterClass UnregisterClassW
        !          1476: #else
        !          1477: #define UnregisterClass UnregisterClassA
        !          1478: #endif // !UNICODE
        !          1479: 
        !          1480: BOOL
        !          1481: WINAPI
        !          1482: GetClassInfoA(
        !          1483:     HINSTANCE hInstance ,
        !          1484:     LPCSTR lpClassName,
        !          1485:     LPWNDCLASSA lpWndClass);
        !          1486: BOOL
        !          1487: WINAPI
        !          1488: GetClassInfoW(
        !          1489:     HINSTANCE hInstance ,
        !          1490:     LPCWSTR lpClassName,
        !          1491:     LPWNDCLASSW lpWndClass);
        !          1492: #ifdef UNICODE
        !          1493: #define GetClassInfo GetClassInfoW
        !          1494: #else
        !          1495: #define GetClassInfo GetClassInfoA
        !          1496: #endif // !UNICODE
        !          1497: 
        !          1498: #define CW_USEDEFAULT       ((int)0x80000000)
        !          1499: 
        !          1500: /* Special value for CreateWindow, et al. */
        !          1501: #define HWND_DESKTOP        ((HWND)0)
        !          1502: 
        !          1503: HWND
        !          1504: WINAPI
        !          1505: CreateWindowExA(
        !          1506:     DWORD dwExStyle,
        !          1507:     LPCSTR lpClassName,
        !          1508:     LPCSTR lpWindowName,
        !          1509:     DWORD dwStyle,
        !          1510:     int X,
        !          1511:     int Y,
        !          1512:     int nWidth,
        !          1513:     int nHeight,
        !          1514:     HWND hWndParent ,
        !          1515:     HMENU hMenu,
        !          1516:     HINSTANCE hInstance,
        !          1517:     LPVOID lpParam);
        !          1518: HWND
        !          1519: WINAPI
        !          1520: CreateWindowExW(
        !          1521:     DWORD dwExStyle,
        !          1522:     LPCWSTR lpClassName,
        !          1523:     LPCWSTR lpWindowName,
        !          1524:     DWORD dwStyle,
        !          1525:     int X,
        !          1526:     int Y,
        !          1527:     int nWidth,
        !          1528:     int nHeight,
        !          1529:     HWND hWndParent ,
        !          1530:     HMENU hMenu,
        !          1531:     HINSTANCE hInstance,
        !          1532:     LPVOID lpParam);
        !          1533: #ifdef UNICODE
        !          1534: #define CreateWindowEx CreateWindowExW
        !          1535: #else
        !          1536: #define CreateWindowEx CreateWindowExA
        !          1537: #endif // !UNICODE
        !          1538: 
        !          1539: #define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y,\
        !          1540: nWidth, nHeight, hwndParent, hMenu, hInstance, lpParam)\
        !          1541: CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,\
        !          1542: nWidth, nHeight, hwndParent, hMenu, hInstance, lpParam)
        !          1543: #define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y,\
        !          1544: nWidth, nHeight, hwndParent, hMenu, hInstance, lpParam)\
        !          1545: CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y,\
        !          1546: nWidth, nHeight, hwndParent, hMenu, hInstance, lpParam)
        !          1547: #ifdef UNICODE
        !          1548: #define CreateWindow CreateWindowW
        !          1549: #else
        !          1550: #define CreateWindow CreateWindowA
        !          1551: #endif // !UNICODE
        !          1552: 
        !          1553: BOOL
        !          1554: WINAPI
        !          1555: IsWindow(
        !          1556:     HWND hWnd);
        !          1557: 
        !          1558: BOOL
        !          1559: WINAPI
        !          1560: IsChild(
        !          1561:     HWND hWndParent,
        !          1562:     HWND hWnd);
        !          1563: 
        !          1564: BOOL
        !          1565: WINAPI
        !          1566: DestroyWindow(
        !          1567:     HWND hWnd);
        !          1568: 
        !          1569: BOOL
        !          1570: WINAPI
        !          1571: ShowWindow(
        !          1572:     HWND hWnd,
        !          1573:     int nCmdShow);
        !          1574: 
        !          1575: BOOL
        !          1576: WINAPI
        !          1577: FlashWindow(
        !          1578:     HWND hWnd,
        !          1579:     BOOL bInvert);
        !          1580: 
        !          1581: BOOL
        !          1582: WINAPI
        !          1583: ShowOwnedPopups(
        !          1584:     HWND hWnd,
        !          1585:     BOOL fShow);
        !          1586: 
        !          1587: BOOL
        !          1588: WINAPI
        !          1589: OpenIcon(
        !          1590:     HWND hWnd);
        !          1591: 
        !          1592: BOOL
        !          1593: WINAPI
        !          1594: CloseWindow(
        !          1595:     HWND hWnd);
        !          1596: 
        !          1597: BOOL
        !          1598: WINAPI
        !          1599: MoveWindow(
        !          1600:     HWND hWnd,
        !          1601:     int X,
        !          1602:     int Y,
        !          1603:     int nWidth,
        !          1604:     int nHeight,
        !          1605:     BOOL bRepaint);
        !          1606: 
        !          1607: BOOL
        !          1608: WINAPI
        !          1609: SetWindowPos(
        !          1610:     HWND hWnd,
        !          1611:     HWND hWndInsertAfter ,
        !          1612:     int X,
        !          1613:     int Y,
        !          1614:     int cx,
        !          1615:     int cy,
        !          1616:     UINT uFlags);
        !          1617: 
        !          1618: BOOL
        !          1619: WINAPI
        !          1620: GetWindowPlacement(
        !          1621:     HWND hwnd,
        !          1622:     WINDOWPLACEMENT *lpwndpl);
        !          1623: 
        !          1624: BOOL
        !          1625: WINAPI
        !          1626: SetWindowPlacement(
        !          1627:     HWND hwnd,
        !          1628:     CONST WINDOWPLACEMENT *lpwndpl);
        !          1629: 
        !          1630: 
        !          1631: #ifndef NODEFERWINDOWPOS
        !          1632: 
        !          1633: HDWP
        !          1634: WINAPI
        !          1635: BeginDeferWindowPos(
        !          1636:     int nNumWindows);
        !          1637: 
        !          1638: HDWP
        !          1639: WINAPI
        !          1640: DeferWindowPos(
        !          1641:     HDWP hWinPosInfo,
        !          1642:         HWND hWnd,
        !          1643:         HWND hWndInsertAfter ,
        !          1644:         int x,
        !          1645:         int y,
        !          1646:         int cx,
        !          1647:         int cy,
        !          1648:         UINT uFlags);
        !          1649: 
        !          1650: BOOL
        !          1651: WINAPI
        !          1652: EndDeferWindowPos(
        !          1653:     HDWP hWinPosInfo);
        !          1654: 
        !          1655: #endif /* NODEFERWINDOWPOS */
        !          1656: 
        !          1657: BOOL
        !          1658: WINAPI
        !          1659: IsWindowVisible(
        !          1660:     HWND hWnd);
        !          1661: 
        !          1662: BOOL
        !          1663: WINAPI
        !          1664: IsIconic(
        !          1665:     HWND hWnd);
        !          1666: 
        !          1667: BOOL
        !          1668: WINAPI
        !          1669: AnyPopup(
        !          1670:     VOID);
        !          1671: 
        !          1672: BOOL
        !          1673: WINAPI
        !          1674: BringWindowToTop(
        !          1675:     HWND hWnd);
        !          1676: 
        !          1677: BOOL
        !          1678: WINAPI
        !          1679: IsZoomed(
        !          1680:     HWND hWnd);
        !          1681: 
        !          1682: /* SetWindowPos Flags */
        !          1683: #define SWP_NOSIZE          0x0001
        !          1684: #define SWP_NOMOVE          0x0002
        !          1685: #define SWP_NOZORDER        0x0004
        !          1686: #define SWP_NOREDRAW        0x0008
        !          1687: #define SWP_NOACTIVATE      0x0010
        !          1688: #define SWP_FRAMECHANGED    0x0020  /* The frame changed: send WM_NCCALCSIZE */
        !          1689: #define SWP_SHOWWINDOW      0x0040
        !          1690: #define SWP_HIDEWINDOW      0x0080
        !          1691: #define SWP_NOCOPYBITS      0x0100
        !          1692: #define SWP_NOOWNERZORDER   0x0200  /* Don't do owner Z ordering */
        !          1693: 
        !          1694: #define SWP_DRAWFRAME       SWP_FRAMECHANGED
        !          1695: #define SWP_NOREPOSITION    SWP_NOOWNERZORDER
        !          1696: 
        !          1697: 
        !          1698: #define HWND_TOP        ((HWND)0)
        !          1699: #define HWND_BOTTOM     ((HWND)1)
        !          1700: #define HWND_TOPMOST    ((HWND)-1)
        !          1701: #define HWND_NOTOPMOST  ((HWND)-2)
        !          1702: 
        !          1703: #ifndef NOCTLMGR
        !          1704: 
        !          1705: #ifndef RC_INVOKED       // RC can't handle #pragmas
        !          1706: 
        !          1707: /*
        !          1708:  * WARNING:
        !          1709:  * The following structures must NOT be DWORD padded because they are
        !          1710:  * followed by strings, etc that do not have to be DWORD aligned.
        !          1711:  */
        !          1712: #pragma pack(2)
        !          1713: 
        !          1714: typedef struct {
        !          1715:     DWORD style;
        !          1716:     DWORD dwExtendedStyle;
        !          1717:     WORD cdit;
        !          1718:     WORD x;
        !          1719:     WORD y;
        !          1720:     WORD cx;
        !          1721:     WORD cy;
        !          1722: } DLGTEMPLATE;
        !          1723: typedef DLGTEMPLATE *LPDLGTEMPLATEA;
        !          1724: typedef DLGTEMPLATE *LPDLGTEMPLATEW;
        !          1725: #ifdef UNICODE
        !          1726: #define LPDLGTEMPLATE LPDLGTEMPLATEW
        !          1727: #else
        !          1728: #define LPDLGTEMPLATE LPDLGTEMPLATEA
        !          1729: #endif // UNICODE
        !          1730: typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEA;
        !          1731: typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEW;
        !          1732: #ifdef UNICODE
        !          1733: #define LPCDLGTEMPLATE LPCDLGTEMPLATEW
        !          1734: #else
        !          1735: #define LPCDLGTEMPLATE LPCDLGTEMPLATEA
        !          1736: #endif // UNICODE
        !          1737: 
        !          1738: /*
        !          1739:  * Dialog item template (dit)
        !          1740:  */
        !          1741: typedef struct {
        !          1742:     DWORD style;
        !          1743:     DWORD dwExtendedStyle;
        !          1744:     WORD x;
        !          1745:     WORD y;
        !          1746:     WORD cx;
        !          1747:     WORD cy;
        !          1748:     WORD id;
        !          1749: } DLGITEMTEMPLATE;
        !          1750: typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA;
        !          1751: typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW;
        !          1752: #ifdef UNICODE
        !          1753: #define PDLGITEMTEMPLATE PDLGITEMTEMPLATEW
        !          1754: #else
        !          1755: #define PDLGITEMTEMPLATE PDLGITEMTEMPLATEA
        !          1756: #endif // UNICODE
        !          1757: typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA;
        !          1758: typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW;
        !          1759: #ifdef UNICODE
        !          1760: #define LPDLGITEMTEMPLATE LPDLGITEMTEMPLATEW
        !          1761: #else
        !          1762: #define LPDLGITEMTEMPLATE LPDLGITEMTEMPLATEA
        !          1763: #endif // UNICODE
        !          1764: 
        !          1765: #pragma pack()      // Resume normal packing
        !          1766: #endif  // !RC_INVOKED
        !          1767: 
        !          1768: HWND
        !          1769: WINAPI
        !          1770: CreateDialogParamA(
        !          1771:     HINSTANCE hInstance,
        !          1772:     LPCSTR lpTemplateName,
        !          1773:     HWND hWndParent ,
        !          1774:     DLGPROC lpDialogFunc,
        !          1775:     LPARAM dwInitParam);
        !          1776: HWND
        !          1777: WINAPI
        !          1778: CreateDialogParamW(
        !          1779:     HINSTANCE hInstance,
        !          1780:     LPCWSTR lpTemplateName,
        !          1781:     HWND hWndParent ,
        !          1782:     DLGPROC lpDialogFunc,
        !          1783:     LPARAM dwInitParam);
        !          1784: #ifdef UNICODE
        !          1785: #define CreateDialogParam CreateDialogParamW
        !          1786: #else
        !          1787: #define CreateDialogParam CreateDialogParamA
        !          1788: #endif // !UNICODE
        !          1789: 
        !          1790: HWND
        !          1791: WINAPI
        !          1792: CreateDialogIndirectParamA(
        !          1793:     HINSTANCE hInstance,
        !          1794:     LPCDLGTEMPLATEA lpTemplate,
        !          1795:     HWND hwndParent,
        !          1796:     DLGPROC lpDialogFunc,
        !          1797:     LPARAM dwInitParam);
        !          1798: HWND
        !          1799: WINAPI
        !          1800: CreateDialogIndirectParamW(
        !          1801:     HINSTANCE hInstance,
        !          1802:     LPCDLGTEMPLATEW lpTemplate,
        !          1803:     HWND hwndParent,
        !          1804:     DLGPROC lpDialogFunc,
        !          1805:     LPARAM dwInitParam);
        !          1806: #ifdef UNICODE
        !          1807: #define CreateDialogIndirectParam CreateDialogIndirectParamW
        !          1808: #else
        !          1809: #define CreateDialogIndirectParam CreateDialogIndirectParamA
        !          1810: #endif // !UNICODE
        !          1811: 
        !          1812: #define CreateDialogA(hInstance, lpName, hwndParent, lpDialogFunc) \
        !          1813: CreateDialogParamA(hInstance, lpName, hwndParent, lpDialogFunc, 0L)
        !          1814: #define CreateDialogW(hInstance, lpName, hwndParent, lpDialogFunc) \
        !          1815: CreateDialogParamW(hInstance, lpName, hwndParent, lpDialogFunc, 0L)
        !          1816: #ifdef UNICODE
        !          1817: #define CreateDialog CreateDialogW
        !          1818: #else
        !          1819: #define CreateDialog CreateDialogA
        !          1820: #endif // !UNICODE
        !          1821: 
        !          1822: #define CreateDialogIndirectA(hInstance, lpTemplate, hwndParent, lpDialogFunc) \
        !          1823: CreateDialogIndirectParamA(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L)
        !          1824: #define CreateDialogIndirectW(hInstance, lpTemplate, hwndParent, lpDialogFunc) \
        !          1825: CreateDialogIndirectParamW(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L)
        !          1826: #ifdef UNICODE
        !          1827: #define CreateDialogIndirect CreateDialogIndirectW
        !          1828: #else
        !          1829: #define CreateDialogIndirect CreateDialogIndirectA
        !          1830: #endif // !UNICODE
        !          1831: 
        !          1832: int
        !          1833: WINAPI
        !          1834: DialogBoxParamA(
        !          1835:     HINSTANCE hInstance,
        !          1836:     LPCSTR lpTemplateName,
        !          1837:     HWND hWndParent ,
        !          1838:     DLGPROC lpDialogFunc,
        !          1839:     LPARAM dwInitParam);
        !          1840: int
        !          1841: WINAPI
        !          1842: DialogBoxParamW(
        !          1843:     HINSTANCE hInstance,
        !          1844:     LPCWSTR lpTemplateName,
        !          1845:     HWND hWndParent ,
        !          1846:     DLGPROC lpDialogFunc,
        !          1847:     LPARAM dwInitParam);
        !          1848: #ifdef UNICODE
        !          1849: #define DialogBoxParam DialogBoxParamW
        !          1850: #else
        !          1851: #define DialogBoxParam DialogBoxParamA
        !          1852: #endif // !UNICODE
        !          1853: 
        !          1854: int
        !          1855: WINAPI
        !          1856: DialogBoxIndirectParamA(
        !          1857:     HINSTANCE hInstance,
        !          1858:     LPDLGTEMPLATEA hDialogTemplate,
        !          1859:     HWND hWndParent ,
        !          1860:     DLGPROC lpDialogFunc,
        !          1861:     LPARAM dwInitParam);
        !          1862: int
        !          1863: WINAPI
        !          1864: DialogBoxIndirectParamW(
        !          1865:     HINSTANCE hInstance,
        !          1866:     LPDLGTEMPLATEW hDialogTemplate,
        !          1867:     HWND hWndParent ,
        !          1868:     DLGPROC lpDialogFunc,
        !          1869:     LPARAM dwInitParam);
        !          1870: #ifdef UNICODE
        !          1871: #define DialogBoxIndirectParam DialogBoxIndirectParamW
        !          1872: #else
        !          1873: #define DialogBoxIndirectParam DialogBoxIndirectParamA
        !          1874: #endif // !UNICODE
        !          1875: 
        !          1876: #define DialogBoxA(hInstance, lpTemplate, hwndParent, lpDialogFunc) \
        !          1877: DialogBoxParamA(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L)
        !          1878: #define DialogBoxW(hInstance, lpTemplate, hwndParent, lpDialogFunc) \
        !          1879: DialogBoxParamW(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L)
        !          1880: #ifdef UNICODE
        !          1881: #define DialogBox DialogBoxW
        !          1882: #else
        !          1883: #define DialogBox DialogBoxA
        !          1884: #endif // !UNICODE
        !          1885: 
        !          1886: #define DialogBoxIndirectA(hInstance, lpTemplate, hwndParent, lpDialogFunc) \
        !          1887: DialogBoxIndirectParamA(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L)
        !          1888: #define DialogBoxIndirectW(hInstance, lpTemplate, hwndParent, lpDialogFunc) \
        !          1889: DialogBoxIndirectParamW(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L)
        !          1890: #ifdef UNICODE
        !          1891: #define DialogBoxIndirect DialogBoxIndirectW
        !          1892: #else
        !          1893: #define DialogBoxIndirect DialogBoxIndirectA
        !          1894: #endif // !UNICODE
        !          1895: 
        !          1896: BOOL
        !          1897: WINAPI
        !          1898: EndDialog(
        !          1899:     HWND hDlg,
        !          1900:     int nResult);
        !          1901: 
        !          1902: HWND
        !          1903: WINAPI
        !          1904: GetDlgItem(
        !          1905:     HWND hDlg,
        !          1906:     int nIDDlgItem);
        !          1907: 
        !          1908: BOOL
        !          1909: WINAPI
        !          1910: SetDlgItemInt(
        !          1911:     HWND hDlg,
        !          1912:     int nIDDlgItem,
        !          1913:     UINT uValue,
        !          1914:     BOOL bSigned);
        !          1915: 
        !          1916: UINT
        !          1917: WINAPI
        !          1918: GetDlgItemInt(
        !          1919:     HWND hDlg,
        !          1920:     int nIDDlgItem,
        !          1921:     BOOL *lpTranslated,
        !          1922:     BOOL bSigned);
        !          1923: 
        !          1924: BOOL
        !          1925: WINAPI
        !          1926: SetDlgItemTextA(
        !          1927:     HWND hDlg,
        !          1928:     int nIDDlgItem,
        !          1929:     LPCSTR lpString);
        !          1930: BOOL
        !          1931: WINAPI
        !          1932: SetDlgItemTextW(
        !          1933:     HWND hDlg,
        !          1934:     int nIDDlgItem,
        !          1935:     LPCWSTR lpString);
        !          1936: #ifdef UNICODE
        !          1937: #define SetDlgItemText SetDlgItemTextW
        !          1938: #else
        !          1939: #define SetDlgItemText SetDlgItemTextA
        !          1940: #endif // !UNICODE
        !          1941: 
        !          1942: UINT
        !          1943: WINAPI
        !          1944: GetDlgItemTextA(
        !          1945:     HWND hDlg,
        !          1946:     int nIDDlgItem,
        !          1947:     LPSTR lpString,
        !          1948:     int nMaxCount);
        !          1949: UINT
        !          1950: WINAPI
        !          1951: GetDlgItemTextW(
        !          1952:     HWND hDlg,
        !          1953:     int nIDDlgItem,
        !          1954:     LPWSTR lpString,
        !          1955:     int nMaxCount);
        !          1956: #ifdef UNICODE
        !          1957: #define GetDlgItemText GetDlgItemTextW
        !          1958: #else
        !          1959: #define GetDlgItemText GetDlgItemTextA
        !          1960: #endif // !UNICODE
        !          1961: 
        !          1962: BOOL
        !          1963: WINAPI
        !          1964: CheckDlgButton(
        !          1965:     HWND hDlg,
        !          1966:     int nIDButton,
        !          1967:     UINT uCheck);
        !          1968: 
        !          1969: BOOL
        !          1970: WINAPI
        !          1971: CheckRadioButton(
        !          1972:     HWND hDlg,
        !          1973:     int nIDFirstButton,
        !          1974:     int nIDLastButton,
        !          1975:     int nIDCheckButton);
        !          1976: 
        !          1977: UINT
        !          1978: WINAPI
        !          1979: IsDlgButtonChecked(
        !          1980:     HWND hDlg,
        !          1981:     int nIDButton);
        !          1982: 
        !          1983: LONG
        !          1984: WINAPI
        !          1985: SendDlgItemMessageA(
        !          1986:     HWND hDlg,
        !          1987:     int nIDDlgItem,
        !          1988:     UINT Msg,
        !          1989:     WPARAM wParam,
        !          1990:     LPARAM lParam);
        !          1991: LONG
        !          1992: WINAPI
        !          1993: SendDlgItemMessageW(
        !          1994:     HWND hDlg,
        !          1995:     int nIDDlgItem,
        !          1996:     UINT Msg,
        !          1997:     WPARAM wParam,
        !          1998:     LPARAM lParam);
        !          1999: #ifdef UNICODE
        !          2000: #define SendDlgItemMessage SendDlgItemMessageW
        !          2001: #else
        !          2002: #define SendDlgItemMessage SendDlgItemMessageA
        !          2003: #endif // !UNICODE
        !          2004: 
        !          2005: HWND
        !          2006: WINAPI
        !          2007: GetNextDlgGroupItem(
        !          2008:     HWND hDlg,
        !          2009:     HWND hCtl,
        !          2010:     BOOL bPrevious);
        !          2011: 
        !          2012: HWND
        !          2013: WINAPI
        !          2014: GetNextDlgTabItem(
        !          2015:     HWND hDlg,
        !          2016:     HWND hCtl,
        !          2017:     BOOL bPrevious);
        !          2018: 
        !          2019: int
        !          2020: WINAPI
        !          2021: GetDlgCtrlID(
        !          2022:     HWND hWnd);
        !          2023: 
        !          2024: long
        !          2025: WINAPI
        !          2026: GetDialogBaseUnits(VOID);
        !          2027: 
        !          2028: LRESULT
        !          2029: WINAPI
        !          2030: DefDlgProcA(
        !          2031:     HWND hDlg,
        !          2032:     UINT Msg,
        !          2033:     WPARAM wParam,
        !          2034:     LPARAM lParam);
        !          2035: LRESULT
        !          2036: WINAPI
        !          2037: DefDlgProcW(
        !          2038:     HWND hDlg,
        !          2039:     UINT Msg,
        !          2040:     WPARAM wParam,
        !          2041:     LPARAM lParam);
        !          2042: #ifdef UNICODE
        !          2043: #define DefDlgProc DefDlgProcW
        !          2044: #else
        !          2045: #define DefDlgProc DefDlgProcA
        !          2046: #endif // !UNICODE
        !          2047: 
        !          2048: /*
        !          2049:  * Window extra byted needed for private dialog classes.
        !          2050:  */
        !          2051: #define DLGWINDOWEXTRA 30
        !          2052: 
        !          2053: #endif /* NOCTLMGR */
        !          2054: 
        !          2055: #ifndef NOMSG
        !          2056: BOOL
        !          2057: WINAPI
        !          2058: CallMsgFilter(
        !          2059:     LPMSG lpMsg,
        !          2060:     int nCode);
        !          2061: #endif
        !          2062: 
        !          2063: #ifndef NOCLIPBOARD
        !          2064: 
        !          2065: /* Clipboard Manager Functions */
        !          2066: BOOL
        !          2067: WINAPI
        !          2068: OpenClipboard(
        !          2069:     HWND hWnd);
        !          2070: 
        !          2071: BOOL
        !          2072: WINAPI
        !          2073: CloseClipboard(
        !          2074:     VOID);
        !          2075: 
        !          2076: HWND
        !          2077: WINAPI
        !          2078: GetClipboardOwner(
        !          2079:     VOID);
        !          2080: 
        !          2081: HWND
        !          2082: WINAPI
        !          2083: SetClipboardViewer(
        !          2084:     HWND );
        !          2085: 
        !          2086: HWND
        !          2087: WINAPI
        !          2088: GetClipboardViewer(VOID);
        !          2089: 
        !          2090: BOOL
        !          2091: WINAPI
        !          2092: ChangeClipboardChain(
        !          2093:     HWND,
        !          2094:     HWND);
        !          2095: 
        !          2096: HANDLE
        !          2097: WINAPI
        !          2098: SetClipboardData(
        !          2099:     UINT uFormat,
        !          2100:     HANDLE hMem);
        !          2101: 
        !          2102: HANDLE
        !          2103: WINAPI
        !          2104:     GetClipboardData(
        !          2105:     UINT uFormat);
        !          2106: 
        !          2107: UINT
        !          2108: WINAPI
        !          2109: RegisterClipboardFormatA(
        !          2110:     LPCSTR);
        !          2111: UINT
        !          2112: WINAPI
        !          2113: RegisterClipboardFormatW(
        !          2114:     LPCWSTR);
        !          2115: #ifdef UNICODE
        !          2116: #define RegisterClipboardFormat RegisterClipboardFormatW
        !          2117: #else
        !          2118: #define RegisterClipboardFormat RegisterClipboardFormatA
        !          2119: #endif // !UNICODE
        !          2120: 
        !          2121: int
        !          2122: WINAPI
        !          2123: CountClipboardFormats(
        !          2124:     VOID);
        !          2125: 
        !          2126: UINT
        !          2127: WINAPI
        !          2128: EnumClipboardFormats(
        !          2129:     UINT);
        !          2130: 
        !          2131: int
        !          2132: WINAPI
        !          2133: GetClipboardFormatNameA(
        !          2134:     UINT,
        !          2135:     LPSTR,
        !          2136:     int);
        !          2137: int
        !          2138: WINAPI
        !          2139: GetClipboardFormatNameW(
        !          2140:     UINT,
        !          2141:     LPWSTR,
        !          2142:     int);
        !          2143: #ifdef UNICODE
        !          2144: #define GetClipboardFormatName GetClipboardFormatNameW
        !          2145: #else
        !          2146: #define GetClipboardFormatName GetClipboardFormatNameA
        !          2147: #endif // !UNICODE
        !          2148: 
        !          2149: BOOL
        !          2150: WINAPI
        !          2151: EmptyClipboard(
        !          2152:     VOID);
        !          2153: 
        !          2154: BOOL
        !          2155: WINAPI
        !          2156: IsClipboardFormatAvailable(
        !          2157:     UINT);
        !          2158: 
        !          2159: int
        !          2160: WINAPI
        !          2161: GetPriorityClipboardFormat(
        !          2162:     UINT *,
        !          2163:     int);
        !          2164: 
        !          2165: HWND
        !          2166: WINAPI
        !          2167: GetOpenClipboardWindow(
        !          2168:     VOID);
        !          2169: 
        !          2170: #endif /* NOCLIPBOARD */
        !          2171: 
        !          2172: /* Character Translation Routines */
        !          2173: 
        !          2174: BOOL
        !          2175: WINAPI
        !          2176: CharToOemA(
        !          2177:     LPCSTR,
        !          2178:     LPSTR);
        !          2179: BOOL
        !          2180: WINAPI
        !          2181: CharToOemW(
        !          2182:     LPCWSTR,
        !          2183:     LPSTR);
        !          2184: #ifdef UNICODE
        !          2185: #define CharToOem CharToOemW
        !          2186: #else
        !          2187: #define CharToOem CharToOemA
        !          2188: #endif // !UNICODE
        !          2189: 
        !          2190: BOOL
        !          2191: WINAPI
        !          2192: OemToCharA(
        !          2193:     LPCSTR,
        !          2194:     LPSTR);
        !          2195: BOOL
        !          2196: WINAPI
        !          2197: OemToCharW(
        !          2198:     LPCSTR,
        !          2199:     LPWSTR);
        !          2200: #ifdef UNICODE
        !          2201: #define OemToChar OemToCharW
        !          2202: #else
        !          2203: #define OemToChar OemToCharA
        !          2204: #endif // !UNICODE
        !          2205: 
        !          2206: BOOL
        !          2207: WINAPI
        !          2208: CharToOemBuffA(
        !          2209:     LPCSTR,
        !          2210:     LPSTR,
        !          2211:     DWORD);
        !          2212: BOOL
        !          2213: WINAPI
        !          2214: CharToOemBuffW(
        !          2215:     LPCWSTR,
        !          2216:     LPSTR,
        !          2217:     DWORD);
        !          2218: #ifdef UNICODE
        !          2219: #define CharToOemBuff CharToOemBuffW
        !          2220: #else
        !          2221: #define CharToOemBuff CharToOemBuffA
        !          2222: #endif // !UNICODE
        !          2223: 
        !          2224: BOOL
        !          2225: WINAPI
        !          2226: OemToCharBuffA(
        !          2227:     LPCSTR,
        !          2228:     LPSTR,
        !          2229:     DWORD);
        !          2230: BOOL
        !          2231: WINAPI
        !          2232: OemToCharBuffW(
        !          2233:     LPCSTR,
        !          2234:     LPWSTR,
        !          2235:     DWORD);
        !          2236: #ifdef UNICODE
        !          2237: #define OemToCharBuff OemToCharBuffW
        !          2238: #else
        !          2239: #define OemToCharBuff OemToCharBuffA
        !          2240: #endif // !UNICODE
        !          2241: 
        !          2242: LPSTR
        !          2243: WINAPI
        !          2244: CharUpperA(
        !          2245:     LPSTR);
        !          2246: LPWSTR
        !          2247: WINAPI
        !          2248: CharUpperW(
        !          2249:     LPWSTR);
        !          2250: #ifdef UNICODE
        !          2251: #define CharUpper CharUpperW
        !          2252: #else
        !          2253: #define CharUpper CharUpperA
        !          2254: #endif // !UNICODE
        !          2255: 
        !          2256: DWORD
        !          2257: WINAPI
        !          2258: CharUpperBuffA(
        !          2259:     LPSTR,
        !          2260:     DWORD);
        !          2261: DWORD
        !          2262: WINAPI
        !          2263: CharUpperBuffW(
        !          2264:     LPWSTR,
        !          2265:     DWORD);
        !          2266: #ifdef UNICODE
        !          2267: #define CharUpperBuff CharUpperBuffW
        !          2268: #else
        !          2269: #define CharUpperBuff CharUpperBuffA
        !          2270: #endif // !UNICODE
        !          2271: 
        !          2272: LPSTR
        !          2273: WINAPI
        !          2274: CharLowerA(
        !          2275:     LPSTR);
        !          2276: LPWSTR
        !          2277: WINAPI
        !          2278: CharLowerW(
        !          2279:     LPWSTR);
        !          2280: #ifdef UNICODE
        !          2281: #define CharLower CharLowerW
        !          2282: #else
        !          2283: #define CharLower CharLowerA
        !          2284: #endif // !UNICODE
        !          2285: 
        !          2286: DWORD
        !          2287: WINAPI
        !          2288: CharLowerBuffA(
        !          2289:     LPSTR,
        !          2290:     DWORD);
        !          2291: DWORD
        !          2292: WINAPI
        !          2293: CharLowerBuffW(
        !          2294:     LPWSTR,
        !          2295:     DWORD);
        !          2296: #ifdef UNICODE
        !          2297: #define CharLowerBuff CharLowerBuffW
        !          2298: #else
        !          2299: #define CharLowerBuff CharLowerBuffA
        !          2300: #endif // !UNICODE
        !          2301: 
        !          2302: LPSTR
        !          2303: WINAPI
        !          2304: CharNextA(
        !          2305:     LPCSTR);
        !          2306: LPWSTR
        !          2307: WINAPI
        !          2308: CharNextW(
        !          2309:     LPCWSTR);
        !          2310: #ifdef UNICODE
        !          2311: #define CharNext CharNextW
        !          2312: #else
        !          2313: #define CharNext CharNextA
        !          2314: #endif // !UNICODE
        !          2315: 
        !          2316: LPSTR
        !          2317: WINAPI
        !          2318: CharPrevA(
        !          2319:     LPCSTR,
        !          2320:     LPCSTR);
        !          2321: LPWSTR
        !          2322: WINAPI
        !          2323: CharPrevW(
        !          2324:     LPCWSTR,
        !          2325:     LPCWSTR);
        !          2326: #ifdef UNICODE
        !          2327: #define CharPrev CharPrevW
        !          2328: #else
        !          2329: #define CharPrev CharPrevA
        !          2330: #endif // !UNICODE
        !          2331: 
        !          2332: /* Compatibility defines for character translation routines */
        !          2333: #define AnsiToOem CharToOemA
        !          2334: #define OemToAnsi OemToCharA
        !          2335: #define AnsiToOemBuff CharToOemBuffA
        !          2336: #define OemToAnsiBuff OemToCharBuffA
        !          2337: #define AnsiUpper CharUpperA
        !          2338: #define AnsiUpperBuff CharUpperBuffA
        !          2339: #define AnsiLower CharLowerA
        !          2340: #define AnsiLowerBuff CharLowerBuffA
        !          2341: #define AnsiNext CharNextA
        !          2342: #define AnsiPrev CharPrevA
        !          2343: 
        !          2344: #ifndef  NOLANGUAGE
        !          2345: /* Language dependent Routines */
        !          2346: 
        !          2347: BOOL
        !          2348: WINAPI
        !          2349: IsCharAlphaA(
        !          2350:     CHAR);
        !          2351: BOOL
        !          2352: WINAPI
        !          2353: IsCharAlphaW(
        !          2354:     WCHAR);
        !          2355: #ifdef UNICODE
        !          2356: #define IsCharAlpha IsCharAlphaW
        !          2357: #else
        !          2358: #define IsCharAlpha IsCharAlphaA
        !          2359: #endif // !UNICODE
        !          2360: 
        !          2361: BOOL
        !          2362: WINAPI
        !          2363: IsCharAlphaNumericA(
        !          2364:     CHAR);
        !          2365: BOOL
        !          2366: WINAPI
        !          2367: IsCharAlphaNumericW(
        !          2368:     WCHAR);
        !          2369: #ifdef UNICODE
        !          2370: #define IsCharAlphaNumeric IsCharAlphaNumericW
        !          2371: #else
        !          2372: #define IsCharAlphaNumeric IsCharAlphaNumericA
        !          2373: #endif // !UNICODE
        !          2374: 
        !          2375: BOOL
        !          2376: WINAPI
        !          2377: IsCharUpperA(
        !          2378:     CHAR);
        !          2379: BOOL
        !          2380: WINAPI
        !          2381: IsCharUpperW(
        !          2382:     WCHAR);
        !          2383: #ifdef UNICODE
        !          2384: #define IsCharUpper IsCharUpperW
        !          2385: #else
        !          2386: #define IsCharUpper IsCharUpperA
        !          2387: #endif // !UNICODE
        !          2388: 
        !          2389: BOOL
        !          2390: WINAPI
        !          2391: IsCharLowerA(
        !          2392:     CHAR);
        !          2393: BOOL
        !          2394: WINAPI
        !          2395: IsCharLowerW(
        !          2396:     WCHAR);
        !          2397: #ifdef UNICODE
        !          2398: #define IsCharLower IsCharLowerW
        !          2399: #else
        !          2400: #define IsCharLower IsCharLowerA
        !          2401: #endif // !UNICODE
        !          2402: 
        !          2403: #endif
        !          2404: 
        !          2405: HWND
        !          2406: WINAPI
        !          2407: SetFocus(
        !          2408:     HWND hWnd);
        !          2409: 
        !          2410: HWND
        !          2411: WINAPI
        !          2412: GetActiveWindow(
        !          2413:     VOID);
        !          2414: 
        !          2415: HWND
        !          2416: WINAPI
        !          2417: GetFocus(
        !          2418:     VOID);
        !          2419: 
        !          2420: UINT
        !          2421: WINAPI
        !          2422: GetKBCodePage(
        !          2423:     VOID);
        !          2424: 
        !          2425: SHORT
        !          2426: WINAPI
        !          2427: GetKeyState(
        !          2428:     int nVirtKey);
        !          2429: 
        !          2430: SHORT
        !          2431: WINAPI
        !          2432: GetAsyncKeyState(
        !          2433:     int vKey);
        !          2434: 
        !          2435: BOOL
        !          2436: WINAPI
        !          2437: GetKeyboardState(
        !          2438:     PBYTE lpKeyState);
        !          2439: 
        !          2440: BOOL
        !          2441: WINAPI
        !          2442: SetKeyboardState(
        !          2443:     LPBYTE lpKeyState);
        !          2444: 
        !          2445: int
        !          2446: WINAPI
        !          2447: GetKeyNameTextA(
        !          2448:     LONG lParam,
        !          2449:     LPSTR lpString,
        !          2450:     int nSize
        !          2451:     );
        !          2452: int
        !          2453: WINAPI
        !          2454: GetKeyNameTextW(
        !          2455:     LONG lParam,
        !          2456:     LPWSTR lpString,
        !          2457:     int nSize
        !          2458:     );
        !          2459: #ifdef UNICODE
        !          2460: #define GetKeyNameText GetKeyNameTextW
        !          2461: #else
        !          2462: #define GetKeyNameText GetKeyNameTextA
        !          2463: #endif // !UNICODE
        !          2464: 
        !          2465: int
        !          2466: WINAPI
        !          2467: GetKeyboardType(
        !          2468:     int nTypeFlag);
        !          2469: 
        !          2470: int
        !          2471: WINAPI
        !          2472: ToAscii(
        !          2473:     UINT uVirtKey,
        !          2474:     UINT uScanCode,
        !          2475:     PBYTE lpKeyState,
        !          2476:     LPWORD lpChar,
        !          2477:     UINT uFlags);
        !          2478: 
        !          2479: int
        !          2480: WINAPI
        !          2481: ToUnicode(
        !          2482:     UINT wVirtKey,
        !          2483:     UINT wScanCode,
        !          2484:     PBYTE lpKeyState,
        !          2485:     LPDWORD lpChar,
        !          2486:     UINT wFlags);
        !          2487: 
        !          2488: SHORT
        !          2489: WINAPI
        !          2490: VkKeyScanA(
        !          2491:     CHAR cChar);
        !          2492: SHORT
        !          2493: WINAPI
        !          2494: VkKeyScanW(
        !          2495:     WCHAR cChar);
        !          2496: #ifdef UNICODE
        !          2497: #define VkKeyScan VkKeyScanW
        !          2498: #else
        !          2499: #define VkKeyScan VkKeyScanA
        !          2500: #endif // !UNICODE
        !          2501: 
        !          2502: UINT
        !          2503: WINAPI
        !          2504: MapVirtualKey(
        !          2505:     UINT uCode,
        !          2506:     UINT uMapType);
        !          2507: 
        !          2508: BOOL
        !          2509: WINAPI
        !          2510: GetInputState(
        !          2511:     VOID);
        !          2512: 
        !          2513: DWORD
        !          2514: WINAPI
        !          2515: GetQueueStatus(
        !          2516:     UINT flags);
        !          2517: 
        !          2518: HWND
        !          2519: WINAPI
        !          2520: GetCapture(VOID);
        !          2521: 
        !          2522: HWND
        !          2523: WINAPI
        !          2524: SetCapture(
        !          2525:     HWND hWnd);
        !          2526: 
        !          2527: BOOL
        !          2528: WINAPI
        !          2529: ReleaseCapture(
        !          2530:     VOID);
        !          2531: 
        !          2532: DWORD
        !          2533: WINAPI
        !          2534: MsgWaitForMultipleObjects(
        !          2535:     DWORD nCount,
        !          2536:     LPHANDLE pHandles,
        !          2537:     BOOL fWaitAll,
        !          2538:     DWORD dwMilliseconds,
        !          2539:     DWORD dwWakeMask);
        !          2540: 
        !          2541: /* Queue status flags for GetQueueStatus() and MsgWaitForMultipleObjects() */
        !          2542: #define QS_KEY           0x01
        !          2543: #define QS_MOUSEMOVE     0x02
        !          2544: #define QS_MOUSEBUTTON   0x04
        !          2545: #define QS_MOUSE         (QS_MOUSEMOVE | QS_MOUSEBUTTON)
        !          2546: #define QS_POSTMESSAGE   0x08
        !          2547: #define QS_TIMER         0x10
        !          2548: #define QS_PAINT         0x20
        !          2549: #define QS_SENDMESSAGE   0x40
        !          2550: #define QS_HOTKEY        0x80
        !          2551: #define QS_INPUT         (QS_MOUSE | QS_KEY)
        !          2552: #define QS_ALLEVENTS     (QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY)
        !          2553: 
        !          2554: 
        !          2555: UINT
        !          2556: WINAPI
        !          2557: GetSysInputMode(
        !          2558:     VOID);
        !          2559: 
        !          2560: /* GetSysInputMode return values */
        !          2561: #define IMD_NONE                0
        !          2562: #define IMD_MENU                1
        !          2563: #define IMD_DIALOGBOX           2
        !          2564: #define IMD_NEXTWINDOW          3
        !          2565: #define IMD_SCROLLBAR           4
        !          2566: #define IMD_TITLEBUTTONTRACK    5
        !          2567: #define IMD_MOVESIZETRACK       6
        !          2568: #define IMD_SYSERRDLG           7
        !          2569: #define IMD_DRAGOBJECT          8
        !          2570: #define IMD_DRAGDETECT          9
        !          2571: 
        !          2572: 
        !          2573: /* Windows Functions */
        !          2574: UINT
        !          2575: WINAPI
        !          2576: SetTimer(
        !          2577:     HWND hwnd ,
        !          2578:     UINT nIDEvent,
        !          2579:     UINT uElapse,
        !          2580:     TIMERPROC lpTimerFunc);
        !          2581: 
        !          2582: BOOL
        !          2583: WINAPI
        !          2584: KillTimer(
        !          2585:     HWND hWnd,
        !          2586:     UINT uIDEvent);
        !          2587: 
        !          2588: BOOL
        !          2589: WINAPI
        !          2590: IsWindowUnicode(
        !          2591:         HWND hWnd);
        !          2592: 
        !          2593: BOOL
        !          2594: WINAPI
        !          2595: EnableWindow(
        !          2596:     HWND hWnd,
        !          2597:     BOOL bEnable);
        !          2598: 
        !          2599: BOOL
        !          2600: WINAPI
        !          2601: IsWindowEnabled(
        !          2602:     HWND hWnd);
        !          2603: 
        !          2604: HACCEL
        !          2605: WINAPI
        !          2606: LoadAcceleratorsA(
        !          2607:     HINSTANCE hInstance,
        !          2608:     LPCSTR lpTableName);
        !          2609: HACCEL
        !          2610: WINAPI
        !          2611: LoadAcceleratorsW(
        !          2612:     HINSTANCE hInstance,
        !          2613:     LPCWSTR lpTableName);
        !          2614: #ifdef UNICODE
        !          2615: #define LoadAccelerators LoadAcceleratorsW
        !          2616: #else
        !          2617: #define LoadAccelerators LoadAcceleratorsA
        !          2618: #endif // !UNICODE
        !          2619: 
        !          2620: HACCEL
        !          2621: WINAPI
        !          2622: CreateAcceleratorTable(
        !          2623:     LPACCEL, int);
        !          2624: 
        !          2625: BOOL
        !          2626: WINAPI
        !          2627: DestroyAcceleratorTable(
        !          2628:     HACCEL);
        !          2629: 
        !          2630: int
        !          2631: WINAPI
        !          2632: CopyAcceleratorTable(
        !          2633:     HACCEL,
        !          2634:     LPACCEL ,
        !          2635:     int);
        !          2636: 
        !          2637: #ifndef NOMSG
        !          2638: int
        !          2639: WINAPI
        !          2640: TranslateAccelerator(
        !          2641:     HWND hWnd,
        !          2642:     HACCEL hAccTable,
        !          2643:     LPMSG lpMsg);
        !          2644: #endif
        !          2645: 
        !          2646: #ifndef NOSYSMETRICS
        !          2647: 
        !          2648: /* GetSystemMetrics() codes */
        !          2649: #define SM_CXSCREEN         0
        !          2650: #define SM_CYSCREEN         1
        !          2651: #define SM_CXVSCROLL        2
        !          2652: #define SM_CYHSCROLL        3
        !          2653: #define SM_CYCAPTION        4
        !          2654: #define SM_CXBORDER         5
        !          2655: #define SM_CYBORDER         6
        !          2656: #define SM_CXDLGFRAME       7
        !          2657: #define SM_CYDLGFRAME       8
        !          2658: #define SM_CYVTHUMB         9
        !          2659: #define SM_CXHTHUMB         10
        !          2660: #define SM_CXICON           11
        !          2661: #define SM_CYICON           12
        !          2662: #define SM_CXCURSOR         13
        !          2663: #define SM_CYCURSOR         14
        !          2664: #define SM_CYMENU           15
        !          2665: #define SM_CXFULLSCREEN     16
        !          2666: #define SM_CYFULLSCREEN     17
        !          2667: #define SM_CYKANJIWINDOW    18
        !          2668: #define SM_MOUSEPRESENT     19
        !          2669: #define SM_CYVSCROLL        20
        !          2670: #define SM_CXHSCROLL        21
        !          2671: #define SM_DEBUG            22
        !          2672: #define SM_SWAPBUTTON       23
        !          2673: #define SM_RESERVED1        24
        !          2674: #define SM_RESERVED2        25
        !          2675: #define SM_RESERVED3        26
        !          2676: #define SM_RESERVED4        27
        !          2677: #define SM_CXMIN            28
        !          2678: #define SM_CYMIN            29
        !          2679: #define SM_CXSIZE           30
        !          2680: #define SM_CYSIZE           31
        !          2681: #define SM_CXFRAME          32
        !          2682: #define SM_CYFRAME          33
        !          2683: #define SM_CXMINTRACK       34
        !          2684: #define SM_CYMINTRACK       35
        !          2685: #define SM_CXDOUBLECLK       36
        !          2686: #define SM_CYDOUBLECLK       37
        !          2687: #define SM_CXICONSPACING     38
        !          2688: #define SM_CYICONSPACING     39
        !          2689: #define SM_MENUDROPALIGNMENT 40
        !          2690: #define SM_PENWINDOWS        41
        !          2691: #define SM_DBCSENABLED       42
        !          2692: #define SM_CMOUSEBUTTONS     43
        !          2693: #define SM_MAX               43
        !          2694: #define SM_CMETRICS          44
        !          2695: 
        !          2696: int
        !          2697: WINAPI
        !          2698: GetSystemMetrics(
        !          2699:     int nIndex);
        !          2700: 
        !          2701: #endif /* NOSYSMETRICS */
        !          2702: 
        !          2703: #ifndef NOMENUS
        !          2704: 
        !          2705: HMENU
        !          2706: WINAPI
        !          2707: LoadMenuA(
        !          2708:     HINSTANCE hInstance,
        !          2709:     LPCSTR lpMenuName);
        !          2710: HMENU
        !          2711: WINAPI
        !          2712: LoadMenuW(
        !          2713:     HINSTANCE hInstance,
        !          2714:     LPCWSTR lpMenuName);
        !          2715: #ifdef UNICODE
        !          2716: #define LoadMenu LoadMenuW
        !          2717: #else
        !          2718: #define LoadMenu LoadMenuA
        !          2719: #endif // !UNICODE
        !          2720: 
        !          2721: HMENU
        !          2722: WINAPI
        !          2723: LoadMenuIndirectA(
        !          2724:     LPMENUTEMPLATEA lpMenuTemplate);
        !          2725: HMENU
        !          2726: WINAPI
        !          2727: LoadMenuIndirectW(
        !          2728:     LPMENUTEMPLATEW lpMenuTemplate);
        !          2729: #ifdef UNICODE
        !          2730: #define LoadMenuIndirect LoadMenuIndirectW
        !          2731: #else
        !          2732: #define LoadMenuIndirect LoadMenuIndirectA
        !          2733: #endif // !UNICODE
        !          2734: 
        !          2735: HMENU
        !          2736: WINAPI
        !          2737: GetMenu(
        !          2738:     HWND hWnd);
        !          2739: 
        !          2740: BOOL
        !          2741: WINAPI
        !          2742: SetMenu(
        !          2743:     HWND hWnd,
        !          2744:     HMENU hMenu);
        !          2745: 
        !          2746: BOOL
        !          2747: WINAPI
        !          2748: ChangeMenuA(
        !          2749:     HMENU,
        !          2750:     UINT,
        !          2751:     LPCTSTR,
        !          2752:     UINT,
        !          2753:     UINT);
        !          2754: BOOL
        !          2755: WINAPI
        !          2756: ChangeMenuW(
        !          2757:     HMENU,
        !          2758:     UINT,
        !          2759:     LPCTSTR,
        !          2760:     UINT,
        !          2761:     UINT);
        !          2762: #ifdef UNICODE
        !          2763: #define ChangeMenu ChangeMenuW
        !          2764: #else
        !          2765: #define ChangeMenu ChangeMenuA
        !          2766: #endif // !UNICODE
        !          2767: 
        !          2768: BOOL
        !          2769: WINAPI
        !          2770: HiliteMenuItem(
        !          2771:     HWND hWnd,
        !          2772:     HMENU hMenu,
        !          2773:     UINT uIDHiliteItem,
        !          2774:     UINT uHilite);
        !          2775: 
        !          2776: int
        !          2777: WINAPI
        !          2778: GetMenuStringA(
        !          2779:     HMENU hMenu,
        !          2780:     UINT uIDItem,
        !          2781:     LPSTR lpString,
        !          2782:     int nMaxCount,
        !          2783:     UINT uFlag);
        !          2784: int
        !          2785: WINAPI
        !          2786: GetMenuStringW(
        !          2787:     HMENU hMenu,
        !          2788:     UINT uIDItem,
        !          2789:     LPWSTR lpString,
        !          2790:     int nMaxCount,
        !          2791:     UINT uFlag);
        !          2792: #ifdef UNICODE
        !          2793: #define GetMenuString GetMenuStringW
        !          2794: #else
        !          2795: #define GetMenuString GetMenuStringA
        !          2796: #endif // !UNICODE
        !          2797: 
        !          2798: UINT
        !          2799: WINAPI
        !          2800: GetMenuState(
        !          2801:     HMENU hMenu,
        !          2802:     UINT uId,
        !          2803:     UINT uFlags);
        !          2804: 
        !          2805: BOOL
        !          2806: WINAPI
        !          2807: DrawMenuBar(
        !          2808:     HWND hWnd);
        !          2809: 
        !          2810: HMENU
        !          2811: WINAPI
        !          2812: GetSystemMenu(
        !          2813:     HWND hWnd,
        !          2814:     BOOL bRevert);
        !          2815: 
        !          2816: HMENU
        !          2817: WINAPI
        !          2818: CreateMenu(
        !          2819:     VOID);
        !          2820: 
        !          2821: HMENU
        !          2822: WINAPI
        !          2823: CreatePopupMenu(
        !          2824:     VOID);
        !          2825: 
        !          2826: BOOL
        !          2827: WINAPI
        !          2828: DestroyMenu(
        !          2829:     HMENU hMenu);
        !          2830: 
        !          2831: DWORD
        !          2832: WINAPI
        !          2833: CheckMenuItem(
        !          2834:     HMENU hMenu,
        !          2835:     UINT uIDCheckItem,
        !          2836:     UINT uCheck);
        !          2837: 
        !          2838: BOOL
        !          2839: WINAPI
        !          2840: EnableMenuItem(
        !          2841:     HMENU hMenu,
        !          2842:     UINT uIDEnableItem,
        !          2843:     UINT uEnable);
        !          2844: 
        !          2845: HMENU
        !          2846: WINAPI
        !          2847: GetSubMenu(
        !          2848:     HMENU hMenu,
        !          2849:     int nPos);
        !          2850: 
        !          2851: UINT
        !          2852: WINAPI
        !          2853: GetMenuItemID(
        !          2854:     HMENU hMenu,
        !          2855:     int nPos);
        !          2856: 
        !          2857: int
        !          2858: WINAPI
        !          2859: GetMenuItemCount(
        !          2860:     HMENU hMenu);
        !          2861: 
        !          2862: BOOL
        !          2863: WINAPI
        !          2864: InsertMenuA(
        !          2865:     HMENU hMenu,
        !          2866:     UINT uPosition,
        !          2867:     UINT uFlags,
        !          2868:     UINT uIDNewItem,
        !          2869:     LPCSTR lpNewItem
        !          2870:     );
        !          2871: BOOL
        !          2872: WINAPI
        !          2873: InsertMenuW(
        !          2874:     HMENU hMenu,
        !          2875:     UINT uPosition,
        !          2876:     UINT uFlags,
        !          2877:     UINT uIDNewItem,
        !          2878:     LPCWSTR lpNewItem
        !          2879:     );
        !          2880: #ifdef UNICODE
        !          2881: #define InsertMenu InsertMenuW
        !          2882: #else
        !          2883: #define InsertMenu InsertMenuA
        !          2884: #endif // !UNICODE
        !          2885: 
        !          2886: BOOL
        !          2887: WINAPI
        !          2888: AppendMenuA(
        !          2889:     HMENU hMenu,
        !          2890:     UINT uFlags,
        !          2891:     UINT uIDNewItem,
        !          2892:     LPCSTR lpNewItem
        !          2893:     );
        !          2894: BOOL
        !          2895: WINAPI
        !          2896: AppendMenuW(
        !          2897:     HMENU hMenu,
        !          2898:     UINT uFlags,
        !          2899:     UINT uIDNewItem,
        !          2900:     LPCWSTR lpNewItem
        !          2901:     );
        !          2902: #ifdef UNICODE
        !          2903: #define AppendMenu AppendMenuW
        !          2904: #else
        !          2905: #define AppendMenu AppendMenuA
        !          2906: #endif // !UNICODE
        !          2907: 
        !          2908: BOOL
        !          2909: WINAPI
        !          2910: ModifyMenuA(
        !          2911:     HMENU hMnu,
        !          2912:     UINT uPosition,
        !          2913:     UINT uFlags,
        !          2914:     UINT uIDNewItem,
        !          2915:     LPCSTR lpNewItem
        !          2916:     );
        !          2917: BOOL
        !          2918: WINAPI
        !          2919: ModifyMenuW(
        !          2920:     HMENU hMnu,
        !          2921:     UINT uPosition,
        !          2922:     UINT uFlags,
        !          2923:     UINT uIDNewItem,
        !          2924:     LPCWSTR lpNewItem
        !          2925:     );
        !          2926: #ifdef UNICODE
        !          2927: #define ModifyMenu ModifyMenuW
        !          2928: #else
        !          2929: #define ModifyMenu ModifyMenuA
        !          2930: #endif // !UNICODE
        !          2931: 
        !          2932: BOOL
        !          2933: WINAPI RemoveMenu(
        !          2934:     HMENU hMenu,
        !          2935:     UINT uPosition,
        !          2936:     UINT uFlags);
        !          2937: 
        !          2938: BOOL
        !          2939: WINAPI
        !          2940: DeleteMenu(
        !          2941:     HMENU hMenu,
        !          2942:     UINT uPosition,
        !          2943:     UINT uFlags);
        !          2944: 
        !          2945: BOOL
        !          2946: WINAPI
        !          2947: SetMenuItemBitmaps(
        !          2948:     HMENU hMenu,
        !          2949:     UINT uPosition,
        !          2950:     UINT uFlags,
        !          2951:     HBITMAP hBitmapUnchecked,
        !          2952:     HBITMAP hBitmapChecked);
        !          2953: 
        !          2954: LONG
        !          2955: WINAPI
        !          2956: GetMenuCheckMarkDimensions(
        !          2957:     VOID);
        !          2958: 
        !          2959: BOOL
        !          2960: WINAPI
        !          2961: TrackPopupMenu(
        !          2962:     HMENU hMenu,
        !          2963:     UINT uFlags,
        !          2964:     int x,
        !          2965:     int y,
        !          2966:     int nReserved,
        !          2967:     HWND hWnd,
        !          2968:     CONST RECT *prcRect);
        !          2969: 
        !          2970: /* Flags for TrackPopupMenu */
        !          2971: #define TPM_LEFTBUTTON  0x0000L
        !          2972: #define TPM_RIGHTBUTTON 0x0002L
        !          2973: #define TPM_LEFTALIGN   0x0000L
        !          2974: #define TPM_CENTERALIGN 0x0004L
        !          2975: #define TPM_RIGHTALIGN  0x0008L
        !          2976: 
        !          2977: #endif /* NOMENUS */
        !          2978: 
        !          2979: BOOL
        !          2980: WINAPI
        !          2981: DrawIcon(
        !          2982:     HDC,
        !          2983:     int,
        !          2984:     int,
        !          2985:     HICON);
        !          2986: 
        !          2987: #ifndef NODRAWTEXT
        !          2988: 
        !          2989: /* DrawText() Format Flags */
        !          2990: #define DT_TOP              0x0000
        !          2991: #define DT_LEFT             0x0000
        !          2992: #define DT_CENTER           0x0001
        !          2993: #define DT_RIGHT            0x0002
        !          2994: #define DT_VCENTER          0x0004
        !          2995: #define DT_BOTTOM           0x0008
        !          2996: #define DT_WORDBREAK        0x0010
        !          2997: #define DT_SINGLELINE       0x0020
        !          2998: #define DT_EXPANDTABS       0x0040
        !          2999: #define DT_TABSTOP          0x0080
        !          3000: #define DT_NOCLIP           0x0100
        !          3001: #define DT_EXTERNALLEADING  0x0200
        !          3002: #define DT_CALCRECT         0x0400
        !          3003: #define DT_NOPREFIX         0x0800
        !          3004: #define DT_INTERNAL         0x1000
        !          3005: 
        !          3006: #endif /* NODRAWTEXT */
        !          3007: 
        !          3008: int
        !          3009: WINAPI DrawTextA(
        !          3010:     HDC hDC,
        !          3011:     LPCSTR lpString,
        !          3012:     int nCount,
        !          3013:     LPRECT lpRect,
        !          3014:     UINT uFormat);
        !          3015: int
        !          3016: WINAPI DrawTextW(
        !          3017:     HDC hDC,
        !          3018:     LPCWSTR lpString,
        !          3019:     int nCount,
        !          3020:     LPRECT lpRect,
        !          3021:     UINT uFormat);
        !          3022: #ifdef UNICODE
        !          3023: #define DrawText DrawTextW
        !          3024: #else
        !          3025: #define DrawText DrawTextA
        !          3026: #endif // !UNICODE
        !          3027: 
        !          3028: BOOL
        !          3029: WINAPI
        !          3030: GrayStringA(
        !          3031:     HDC hDC,
        !          3032:     HBRUSH hBrush,
        !          3033:     GRAYSTRINGPROC lpOutputFunc,
        !          3034:     LPARAM lpData,
        !          3035:     int nCount,
        !          3036:     int X,
        !          3037:     int Y,
        !          3038:     int nWidth,
        !          3039:     int nHeight);
        !          3040: BOOL
        !          3041: WINAPI
        !          3042: GrayStringW(
        !          3043:     HDC hDC,
        !          3044:     HBRUSH hBrush,
        !          3045:     GRAYSTRINGPROC lpOutputFunc,
        !          3046:     LPARAM lpData,
        !          3047:     int nCount,
        !          3048:     int X,
        !          3049:     int Y,
        !          3050:     int nWidth,
        !          3051:     int nHeight);
        !          3052: #ifdef UNICODE
        !          3053: #define GrayString GrayStringW
        !          3054: #else
        !          3055: #define GrayString GrayStringA
        !          3056: #endif // !UNICODE
        !          3057: 
        !          3058: LONG
        !          3059: WINAPI
        !          3060: TabbedTextOutA(
        !          3061:     HDC hDC,
        !          3062:     int X,
        !          3063:     int Y,
        !          3064:     LPCSTR lpString,
        !          3065:     int nCount,
        !          3066:     int nTabPositions,
        !          3067:     LPINT lpnTabStopPositions,
        !          3068:     int nTabOrigin);
        !          3069: LONG
        !          3070: WINAPI
        !          3071: TabbedTextOutW(
        !          3072:     HDC hDC,
        !          3073:     int X,
        !          3074:     int Y,
        !          3075:     LPCWSTR lpString,
        !          3076:     int nCount,
        !          3077:     int nTabPositions,
        !          3078:     LPINT lpnTabStopPositions,
        !          3079:     int nTabOrigin);
        !          3080: #ifdef UNICODE
        !          3081: #define TabbedTextOut TabbedTextOutW
        !          3082: #else
        !          3083: #define TabbedTextOut TabbedTextOutA
        !          3084: #endif // !UNICODE
        !          3085: 
        !          3086: DWORD
        !          3087: WINAPI
        !          3088: GetTabbedTextExtentA(
        !          3089:     HDC hDC,
        !          3090:     LPCSTR lpString,
        !          3091:     int nCount,
        !          3092:     int nTabPositions,
        !          3093:     LPINT lpnTabStopPositions);
        !          3094: DWORD
        !          3095: WINAPI
        !          3096: GetTabbedTextExtentW(
        !          3097:     HDC hDC,
        !          3098:     LPCWSTR lpString,
        !          3099:     int nCount,
        !          3100:     int nTabPositions,
        !          3101:     LPINT lpnTabStopPositions);
        !          3102: #ifdef UNICODE
        !          3103: #define GetTabbedTextExtent GetTabbedTextExtentW
        !          3104: #else
        !          3105: #define GetTabbedTextExtent GetTabbedTextExtentA
        !          3106: #endif // !UNICODE
        !          3107: 
        !          3108: BOOL
        !          3109: WINAPI
        !          3110: UpdateWindow(
        !          3111:     HWND hWnd);
        !          3112: 
        !          3113: HWND
        !          3114: WINAPI
        !          3115: SetActiveWindow(
        !          3116:     HWND hWnd );
        !          3117: 
        !          3118: HWND
        !          3119: WINAPI
        !          3120: GetForegroundWindow(
        !          3121:     VOID);
        !          3122: 
        !          3123: BOOL
        !          3124: WINAPI
        !          3125: SetForegroundWindow(
        !          3126:     HWND hWnd);
        !          3127: 
        !          3128: HWND
        !          3129: WINAPI
        !          3130: WindowFromDC(
        !          3131:     HDC hdc);
        !          3132: 
        !          3133: HDC
        !          3134: WINAPI
        !          3135: GetDC(
        !          3136:     HWND hWnd );
        !          3137: 
        !          3138: HDC
        !          3139: WINAPI
        !          3140: GetDCEx(
        !          3141:     HWND hwnd ,
        !          3142:     HRGN hrgnClip,
        !          3143:     DWORD flags);
        !          3144: 
        !          3145: /* GetDCEx() flags */
        !          3146: #define DCX_WINDOW          0x00000001L
        !          3147: #define DCX_CACHE           0x00000002L
        !          3148: #define DCX_NORESETATTRS    0x00000004L
        !          3149: #define DCX_CLIPCHILDREN    0x00000008L
        !          3150: #define DCX_CLIPSIBLINGS    0x00000010L
        !          3151: #define DCX_PARENTCLIP      0x00000020L
        !          3152: 
        !          3153: #define DCX_EXCLUDERGN      0x00000040L
        !          3154: #define DCX_INTERSECTRGN    0x00000080L
        !          3155: 
        !          3156: #define DCX_EXCLUDEUPDATE   0x00000100L
        !          3157: #define DCX_INTERSECTUPDATE 0x00000200L
        !          3158: 
        !          3159: #define DCX_LOCKWINDOWUPDATE 0x00000400L
        !          3160: 
        !          3161: 
        !          3162: #define DCX_USESTYLE        0x00010000L
        !          3163: #define DCX_NORECOMPUTE     0x00100000L
        !          3164: #define DCX_VALIDATE        0x00200000L
        !          3165: 
        !          3166: 
        !          3167: HDC
        !          3168: WINAPI
        !          3169: GetWindowDC(
        !          3170:     HWND hWnd );
        !          3171: 
        !          3172: int
        !          3173: WINAPI
        !          3174: ReleaseDC(
        !          3175:     HWND hWnd,
        !          3176:     HDC hDC);
        !          3177: 
        !          3178: HDC
        !          3179: WINAPI
        !          3180: BeginPaint(
        !          3181:     HWND hWnd,
        !          3182:     LPPAINTSTRUCT lpPaint);
        !          3183: 
        !          3184: BOOL
        !          3185: WINAPI
        !          3186: EndPaint(
        !          3187:     HWND hWnd,
        !          3188:     LPPAINTSTRUCT lpPaint);
        !          3189: 
        !          3190: BOOL
        !          3191: WINAPI
        !          3192: GetUpdateRect(
        !          3193:     HWND hWnd,
        !          3194:     LPRECT lpRect,
        !          3195:     BOOL bErase);
        !          3196: 
        !          3197: int
        !          3198: WINAPI
        !          3199: GetUpdateRgn(
        !          3200:     HWND hWnd,
        !          3201:     HRGN hRgn,
        !          3202:     BOOL bErase);
        !          3203: 
        !          3204: int
        !          3205: WINAPI
        !          3206: ExcludeUpdateRgn(
        !          3207:     HDC hDC,
        !          3208:     HWND hWnd);
        !          3209: 
        !          3210: BOOL
        !          3211: WINAPI
        !          3212: InvalidateRect(
        !          3213:     HWND hWnd ,
        !          3214:     CONST RECT *lpRect,
        !          3215:     BOOL bErase);
        !          3216: 
        !          3217: BOOL
        !          3218: WINAPI
        !          3219: ValidateRect(
        !          3220:     HWND hWnd ,
        !          3221:     CONST RECT *lpRect);
        !          3222: 
        !          3223: BOOL
        !          3224: WINAPI
        !          3225: InvalidateRgn(
        !          3226:     HWND hWnd,
        !          3227:     HRGN hRgn,
        !          3228:     BOOL bErase);
        !          3229: 
        !          3230: BOOL
        !          3231: WINAPI
        !          3232: ValidateRgn(
        !          3233:     HWND hWnd,
        !          3234:     HRGN hRgn);
        !          3235: 
        !          3236: 
        !          3237: BOOL WINAPI RedrawWindow(
        !          3238:     HWND hwnd,
        !          3239:     CONST RECT *lprcUpdate,
        !          3240:     HRGN hrgnUpdate,
        !          3241:     UINT flags);
        !          3242: 
        !          3243: /* RedrawWindow() flags */
        !          3244: #define RDW_INVALIDATE          0x0001
        !          3245: #define RDW_INTERNALPAINT       0x0002
        !          3246: #define RDW_ERASE               0x0004
        !          3247: 
        !          3248: #define RDW_VALIDATE            0x0008
        !          3249: #define RDW_NOINTERNALPAINT     0x0010
        !          3250: #define RDW_NOERASE             0x0020
        !          3251: 
        !          3252: #define RDW_NOCHILDREN          0x0040
        !          3253: #define RDW_ALLCHILDREN         0x0080
        !          3254: 
        !          3255: #define RDW_UPDATENOW           0x0100
        !          3256: #define RDW_ERASENOW            0x0200
        !          3257: 
        !          3258: 
        !          3259: /* LockWindowUpdate API */
        !          3260: BOOL
        !          3261: WINAPI
        !          3262: LockWindowUpdate(
        !          3263:     HWND hwndLock);
        !          3264: 
        !          3265: BOOL
        !          3266: WINAPI
        !          3267: ScrollWindow(
        !          3268:     HWND hWnd,
        !          3269:     int XAmount,
        !          3270:     int YAmount,
        !          3271:     CONST RECT *lpRect,
        !          3272:     CONST RECT *lpClipRect);
        !          3273: 
        !          3274: BOOL
        !          3275: WINAPI
        !          3276: ScrollDC(
        !          3277:     HDC hDC,
        !          3278:     int dx,
        !          3279:     int dy,
        !          3280:     CONST RECT *lprcScroll,
        !          3281:     CONST RECT *lprcClip ,
        !          3282:     HRGN hrgnUpdate,
        !          3283:     LPRECT lprcUpdate);
        !          3284: 
        !          3285: int
        !          3286: WINAPI
        !          3287: ScrollWindowEx(
        !          3288:     HWND hwnd,
        !          3289:     int dx,
        !          3290:     int dy,
        !          3291:     CONST RECT *prcScroll,
        !          3292:     CONST RECT *prcClip ,
        !          3293:     HRGN hrgnUpdate,
        !          3294:     LPRECT prcUpdate,
        !          3295:     UINT flags);
        !          3296: 
        !          3297: #define SW_SCROLLCHILDREN   0x0001  /* Scroll children within *lprcScroll. */
        !          3298: #define SW_INVALIDATE       0x0002  /* Invalidate after scrolling */
        !          3299: #define SW_ERASE            0x0004  /* If SW_INVALIDATE, don't send WM_ERASEBACKGROUND */
        !          3300: 
        !          3301: 
        !          3302: #ifndef NOSCROLL
        !          3303: int
        !          3304: WINAPI
        !          3305: SetScrollPos(
        !          3306:     HWND hWnd,
        !          3307:     int nBar,
        !          3308:     int nPos,
        !          3309:     BOOL bRedraw);
        !          3310: 
        !          3311: int
        !          3312: WINAPI
        !          3313: GetScrollPos(
        !          3314:     HWND hWnd,
        !          3315:     int nBar);
        !          3316: 
        !          3317: BOOL
        !          3318: WINAPI
        !          3319: SetScrollRange(
        !          3320:     HWND hWnd,
        !          3321:     int nBar,
        !          3322:     int nMinPos,
        !          3323:     int nMaxPos,
        !          3324:     BOOL bRedraw);
        !          3325: 
        !          3326: BOOL
        !          3327: WINAPI
        !          3328: GetScrollRange(
        !          3329:     HWND hWnd,
        !          3330:     int nBar,
        !          3331:     LPINT lpMinPos,
        !          3332:     LPINT lpMaxPos);
        !          3333: 
        !          3334: BOOL
        !          3335: WINAPI
        !          3336: ShowScrollBar(
        !          3337:     HWND hWnd,
        !          3338:     int wBar,
        !          3339:     BOOL bShow);
        !          3340: 
        !          3341: BOOL
        !          3342: WINAPI
        !          3343: EnableScrollBar(
        !          3344:     HWND hwnd,
        !          3345:     UINT wSBflags,
        !          3346:     UINT wArrows);
        !          3347: #endif
        !          3348: 
        !          3349: BOOL
        !          3350: WINAPI
        !          3351: SetPropA(
        !          3352:     HWND hWnd,
        !          3353:     LPCSTR lpString,
        !          3354:     HANDLE hData);
        !          3355: BOOL
        !          3356: WINAPI
        !          3357: SetPropW(
        !          3358:     HWND hWnd,
        !          3359:     LPCWSTR lpString,
        !          3360:     HANDLE hData);
        !          3361: #ifdef UNICODE
        !          3362: #define SetProp SetPropW
        !          3363: #else
        !          3364: #define SetProp SetPropA
        !          3365: #endif // !UNICODE
        !          3366: 
        !          3367: HANDLE
        !          3368: WINAPI
        !          3369: GetPropA(
        !          3370:     HWND hWnd,
        !          3371:     LPCSTR lpString);
        !          3372: HANDLE
        !          3373: WINAPI
        !          3374: GetPropW(
        !          3375:     HWND hWnd,
        !          3376:     LPCWSTR lpString);
        !          3377: #ifdef UNICODE
        !          3378: #define GetProp GetPropW
        !          3379: #else
        !          3380: #define GetProp GetPropA
        !          3381: #endif // !UNICODE
        !          3382: 
        !          3383: HANDLE
        !          3384: WINAPI
        !          3385: RemovePropA(
        !          3386:     HWND hWnd,
        !          3387:     LPCSTR lpString);
        !          3388: HANDLE
        !          3389: WINAPI
        !          3390: RemovePropW(
        !          3391:     HWND hWnd,
        !          3392:     LPCWSTR lpString);
        !          3393: #ifdef UNICODE
        !          3394: #define RemoveProp RemovePropW
        !          3395: #else
        !          3396: #define RemoveProp RemovePropA
        !          3397: #endif // !UNICODE
        !          3398: 
        !          3399: int
        !          3400: WINAPI
        !          3401: EnumPropsExA(
        !          3402:     HWND hWnd,
        !          3403:     PROPENUMPROC lpEnumFunc,
        !          3404:     LPARAM lParam);
        !          3405: int
        !          3406: WINAPI
        !          3407: EnumPropsExW(
        !          3408:     HWND hWnd,
        !          3409:     PROPENUMPROC lpEnumFunc,
        !          3410:     LPARAM lParam);
        !          3411: #ifdef UNICODE
        !          3412: #define EnumPropsEx EnumPropsExW
        !          3413: #else
        !          3414: #define EnumPropsEx EnumPropsExA
        !          3415: #endif // !UNICODE
        !          3416: 
        !          3417: int
        !          3418: WINAPI
        !          3419: EnumPropsA(
        !          3420:     HWND hWnd,
        !          3421:     PROPENUMPROC lpEnumFunc);
        !          3422: int
        !          3423: WINAPI
        !          3424: EnumPropsW(
        !          3425:     HWND hWnd,
        !          3426:     PROPENUMPROC lpEnumFunc);
        !          3427: #ifdef UNICODE
        !          3428: #define EnumProps EnumPropsW
        !          3429: #else
        !          3430: #define EnumProps EnumPropsA
        !          3431: #endif // !UNICODE
        !          3432: 
        !          3433: BOOL
        !          3434: WINAPI
        !          3435: SetWindowTextA(
        !          3436:     HWND hWnd,
        !          3437:     LPCSTR lpString);
        !          3438: BOOL
        !          3439: WINAPI
        !          3440: SetWindowTextW(
        !          3441:     HWND hWnd,
        !          3442:     LPCWSTR lpString);
        !          3443: #ifdef UNICODE
        !          3444: #define SetWindowText SetWindowTextW
        !          3445: #else
        !          3446: #define SetWindowText SetWindowTextA
        !          3447: #endif // !UNICODE
        !          3448: 
        !          3449: int
        !          3450: WINAPI
        !          3451: GetWindowTextA(
        !          3452:     HWND hWnd,
        !          3453:     LPSTR lpString,
        !          3454:     int nMaxCount);
        !          3455: int
        !          3456: WINAPI
        !          3457: GetWindowTextW(
        !          3458:     HWND hWnd,
        !          3459:     LPWSTR lpString,
        !          3460:     int nMaxCount);
        !          3461: #ifdef UNICODE
        !          3462: #define GetWindowText GetWindowTextW
        !          3463: #else
        !          3464: #define GetWindowText GetWindowTextA
        !          3465: #endif // !UNICODE
        !          3466: 
        !          3467: int
        !          3468: WINAPI
        !          3469: GetWindowTextLengthA(
        !          3470:     HWND hWnd);
        !          3471: int
        !          3472: WINAPI
        !          3473: GetWindowTextLengthW(
        !          3474:     HWND hWnd);
        !          3475: #ifdef UNICODE
        !          3476: #define GetWindowTextLength GetWindowTextLengthW
        !          3477: #else
        !          3478: #define GetWindowTextLength GetWindowTextLengthA
        !          3479: #endif // !UNICODE
        !          3480: 
        !          3481: BOOL
        !          3482: WINAPI
        !          3483: GetClientRect(
        !          3484:     HWND hWnd,
        !          3485:     LPRECT lpRect);
        !          3486: 
        !          3487: BOOL
        !          3488: WINAPI
        !          3489: GetWindowRect(
        !          3490:     HWND hWnd,
        !          3491:     LPRECT lpRect);
        !          3492: 
        !          3493: BOOL
        !          3494: WINAPI
        !          3495: AdjustWindowRect(
        !          3496:     LPRECT lpRect,
        !          3497:     DWORD dwStyle,
        !          3498:     BOOL bMenu);
        !          3499: 
        !          3500: BOOL
        !          3501: WINAPI
        !          3502: AdjustWindowRectEx(
        !          3503:     LPRECT lpRect,
        !          3504:     DWORD dwStyle,
        !          3505:     BOOL bMenu,
        !          3506:     DWORD dwExStyle);
        !          3507: 
        !          3508: #ifndef NOMB
        !          3509: 
        !          3510: /* MessageBox() Flags */
        !          3511: #define MB_OK               0x0000L
        !          3512: #define MB_OKCANCEL         0x0001L
        !          3513: #define MB_ABORTRETRYIGNORE 0x0002L
        !          3514: #define MB_YESNOCANCEL      0x0003L
        !          3515: #define MB_YESNO            0x0004L
        !          3516: #define MB_RETRYCANCEL      0x0005L
        !          3517: 
        !          3518: #define MB_ICONHAND         0x0010L
        !          3519: #define MB_ICONQUESTION     0x0020L
        !          3520: #define MB_ICONEXCLAMATION  0x0030L
        !          3521: #define MB_ICONASTERISK     0x0040L
        !          3522: 
        !          3523: #define MB_ICONINFORMATION  MB_ICONASTERISK
        !          3524: #define MB_ICONSTOP         MB_ICONHAND
        !          3525: 
        !          3526: #define MB_DEFBUTTON1       0x0000L
        !          3527: #define MB_DEFBUTTON2       0x0100L
        !          3528: #define MB_DEFBUTTON3       0x0200L
        !          3529: 
        !          3530: #define MB_APPLMODAL        0x0000L
        !          3531: #define MB_SYSTEMMODAL      0x1000L
        !          3532: #define MB_TASKMODAL        0x2000L
        !          3533: 
        !          3534: #define MB_NOFOCUS          0x8000L
        !          3535: #define MB_SETFOREGROUND   0x10000L
        !          3536: 
        !          3537: #define MB_TYPEMASK         0x000FL
        !          3538: #define MB_ICONMASK         0x00F0L
        !          3539: #define MB_DEFMASK          0x0F00L
        !          3540: #define MB_MODEMASK         0x3000L
        !          3541: #define MB_MISCMASK         0xC000L
        !          3542: 
        !          3543: int
        !          3544: WINAPI
        !          3545: MessageBoxExA(
        !          3546:     HWND hWnd ,
        !          3547:     LPCSTR lpText,
        !          3548:     LPCSTR lpCaption ,
        !          3549:     UINT uType,
        !          3550:     WORD wLanguageId);
        !          3551: int
        !          3552: WINAPI
        !          3553: MessageBoxExW(
        !          3554:     HWND hWnd ,
        !          3555:     LPCWSTR lpText,
        !          3556:     LPCWSTR lpCaption ,
        !          3557:     UINT uType,
        !          3558:     WORD wLanguageId);
        !          3559: #ifdef UNICODE
        !          3560: #define MessageBoxEx MessageBoxExW
        !          3561: #else
        !          3562: #define MessageBoxEx MessageBoxExA
        !          3563: #endif // !UNICODE
        !          3564: 
        !          3565: #define MessageBoxA(hWnd, lpText, lpCaption, uType) \
        !          3566:         MessageBoxExA(hWnd, lpText, lpCaption, uType, 0)
        !          3567: #define MessageBoxW(hWnd, lpText, lpCaption, uType) \
        !          3568:         MessageBoxExW(hWnd, lpText, lpCaption, uType, 0)
        !          3569: #ifdef UNICODE
        !          3570: #define MessageBox MessageBoxW
        !          3571: #else
        !          3572: #define MessageBox MessageBoxA
        !          3573: #endif // !UNICODE
        !          3574: 
        !          3575: BOOL
        !          3576: WINAPI
        !          3577: MessageBeep(
        !          3578:     UINT uType);
        !          3579: 
        !          3580: #endif /* NOMB */
        !          3581: 
        !          3582: int
        !          3583: WINAPI
        !          3584: ShowCursor(
        !          3585:     BOOL bShow);
        !          3586: 
        !          3587: BOOL
        !          3588: WINAPI
        !          3589: SetCursorPos(
        !          3590:     int X,
        !          3591:     int Y);
        !          3592: 
        !          3593: HCURSOR
        !          3594: WINAPI
        !          3595: SetCursor(
        !          3596:     HCURSOR hCursor );
        !          3597: 
        !          3598: BOOL
        !          3599: WINAPI
        !          3600: GetCursorPos(
        !          3601:     LPPOINT lpPoint);
        !          3602: 
        !          3603: BOOL
        !          3604: WINAPI
        !          3605: ClipCursor(
        !          3606:     CONST RECT *lpRect );
        !          3607: 
        !          3608: BOOL
        !          3609: WINAPI
        !          3610: GetClipCursor(
        !          3611:     LPRECT lpRect);
        !          3612: 
        !          3613: HCURSOR
        !          3614: WINAPI
        !          3615: GetCursor(
        !          3616:     VOID);
        !          3617: 
        !          3618: BOOL
        !          3619: WINAPI
        !          3620: CreateCaret(
        !          3621:     HWND hWnd,
        !          3622:     HBITMAP hBitmap ,
        !          3623:     int nWidth,
        !          3624:     int nHeight);
        !          3625: 
        !          3626: UINT
        !          3627: WINAPI
        !          3628: GetCaretBlinkTime(
        !          3629:     VOID);
        !          3630: 
        !          3631: BOOL
        !          3632: WINAPI
        !          3633: SetCaretBlinkTime(
        !          3634:     UINT uMSeconds);
        !          3635: 
        !          3636: BOOL
        !          3637: WINAPI
        !          3638: DestroyCaret(
        !          3639:     VOID);
        !          3640: 
        !          3641: BOOL
        !          3642: WINAPI
        !          3643: HideCaret(
        !          3644:     HWND hWnd );
        !          3645: 
        !          3646: BOOL
        !          3647: WINAPI
        !          3648: ShowCaret(
        !          3649:     HWND hWnd );
        !          3650: 
        !          3651: BOOL
        !          3652: WINAPI
        !          3653: SetCaretPos(
        !          3654:     int X,
        !          3655:     int Y);
        !          3656: 
        !          3657: BOOL
        !          3658: WINAPI
        !          3659: GetCaretPos(
        !          3660:     LPPOINT lpPoint);
        !          3661: 
        !          3662: BOOL
        !          3663: WINAPI
        !          3664: ClientToScreen(
        !          3665:     HWND hWnd,
        !          3666:     LPPOINT lpPoint);
        !          3667: 
        !          3668: BOOL
        !          3669: WINAPI
        !          3670: ScreenToClient(
        !          3671:     HWND hWnd,
        !          3672:     LPPOINT lpPoint);
        !          3673: 
        !          3674: int
        !          3675: WINAPI
        !          3676: MapWindowPoints(
        !          3677:     HWND hWndFrom,
        !          3678:     HWND hWndTo,
        !          3679:     LPPOINT lpPoints,
        !          3680:     UINT cPoints);
        !          3681: 
        !          3682: HWND
        !          3683: WINAPI
        !          3684: WindowFromPoint(
        !          3685:     POINT Point);
        !          3686: 
        !          3687: HWND
        !          3688: WINAPI
        !          3689: ChildWindowFromPoint(
        !          3690:     HWND hWndParent,
        !          3691:     POINT Point);
        !          3692: 
        !          3693: #ifndef NOCOLOR
        !          3694: 
        !          3695: /* Color Types */
        !          3696: #define CTLCOLOR_MSGBOX         0
        !          3697: #define CTLCOLOR_EDIT           1
        !          3698: #define CTLCOLOR_LISTBOX        2
        !          3699: #define CTLCOLOR_BTN            3
        !          3700: #define CTLCOLOR_DLG            4
        !          3701: #define CTLCOLOR_SCROLLBAR      5
        !          3702: #define CTLCOLOR_STATIC         6
        !          3703: #define CTLCOLOR_MAX            8     /* three bits max */
        !          3704: 
        !          3705: #define COLOR_SCROLLBAR         0
        !          3706: #define COLOR_BACKGROUND        1
        !          3707: #define COLOR_ACTIVECAPTION     2
        !          3708: #define COLOR_INACTIVECAPTION   3
        !          3709: #define COLOR_MENU              4
        !          3710: #define COLOR_WINDOW            5
        !          3711: #define COLOR_WINDOWFRAME       6
        !          3712: #define COLOR_MENUTEXT          7
        !          3713: #define COLOR_WINDOWTEXT        8
        !          3714: #define COLOR_CAPTIONTEXT       9
        !          3715: #define COLOR_ACTIVEBORDER      10
        !          3716: #define COLOR_INACTIVEBORDER    11
        !          3717: #define COLOR_APPWORKSPACE      12
        !          3718: #define COLOR_HIGHLIGHT         13
        !          3719: #define COLOR_HIGHLIGHTTEXT     14
        !          3720: #define COLOR_BTNFACE           15
        !          3721: #define COLOR_BTNSHADOW         16
        !          3722: #define COLOR_GRAYTEXT          17
        !          3723: #define COLOR_BTNTEXT           18
        !          3724: #define COLOR_INACTIVECAPTIONTEXT 19
        !          3725: #define COLOR_BTNHIGHLIGHT      20
        !          3726: #define COLOR_ENDCOLORS         COLOR_BTNHIGHLIGHT
        !          3727: #define COLOR_MAX               20
        !          3728: 
        !          3729: DWORD
        !          3730: WINAPI
        !          3731: GetSysColor(
        !          3732:     int nIndex);
        !          3733: 
        !          3734: BOOL
        !          3735: WINAPI
        !          3736: SetSysColors(
        !          3737:     int,
        !          3738:     CONST INT *,
        !          3739:     CONST COLORREF *);
        !          3740: 
        !          3741: #endif /* NOCOLOR */
        !          3742: 
        !          3743: BOOL
        !          3744: WINAPI
        !          3745: DrawFocusRect(
        !          3746:     HDC,
        !          3747:     CONST RECT *);
        !          3748: 
        !          3749: int
        !          3750: WINAPI
        !          3751: FillRect(
        !          3752:     HDC hdc,
        !          3753:     CONST RECT *lprc,
        !          3754:     HBRUSH hbr);
        !          3755: 
        !          3756: int
        !          3757: WINAPI
        !          3758: FrameRect(
        !          3759:     HDC hdc,
        !          3760:     CONST RECT *lprc,
        !          3761:     HBRUSH hbr);
        !          3762: 
        !          3763: BOOL
        !          3764: WINAPI
        !          3765: InvertRect(
        !          3766:     HDC hdc,
        !          3767:     CONST RECT *lprc);
        !          3768: 
        !          3769: BOOL
        !          3770: WINAPI
        !          3771: SetRect(
        !          3772:     LPRECT,
        !          3773:     int,
        !          3774:     int,
        !          3775:     int,
        !          3776:     int);
        !          3777: 
        !          3778: BOOL
        !          3779: WINAPI
        !          3780:     SetRectEmpty(
        !          3781:     LPRECT);
        !          3782: 
        !          3783: int
        !          3784: WINAPI
        !          3785: CopyRect(
        !          3786:     LPRECT,
        !          3787:     CONST RECT *);
        !          3788: 
        !          3789: BOOL
        !          3790: WINAPI
        !          3791: InflateRect(
        !          3792:     LPRECT,
        !          3793:     int,
        !          3794:     int);
        !          3795: 
        !          3796: int
        !          3797: WINAPI
        !          3798: IntersectRect(
        !          3799:     LPRECT,
        !          3800:     CONST RECT *,
        !          3801:     CONST RECT *);
        !          3802: 
        !          3803: BOOL
        !          3804: WINAPI
        !          3805: UnionRect(
        !          3806:     LPRECT,
        !          3807:     CONST RECT *,
        !          3808:     CONST RECT *);
        !          3809: 
        !          3810: BOOL
        !          3811: WINAPI
        !          3812: OffsetRect(
        !          3813:     LPRECT,
        !          3814:     int,
        !          3815:     int);
        !          3816: 
        !          3817: BOOL
        !          3818: WINAPI
        !          3819: IsRectEmpty(
        !          3820:     CONST RECT *lprc);
        !          3821: 
        !          3822: BOOL
        !          3823: WINAPI
        !          3824: EqualRect(
        !          3825:     CONST RECT *,
        !          3826:     CONST RECT *);
        !          3827: 
        !          3828: BOOL
        !          3829: WINAPI
        !          3830: PtInRect(
        !          3831:     CONST RECT *,
        !          3832:     POINT);
        !          3833: 
        !          3834: #ifndef NOWINOFFSETS
        !          3835: 
        !          3836: WORD
        !          3837: WINAPI
        !          3838: GetWindowWord(
        !          3839:     HWND hWnd,
        !          3840:     int nIndex);
        !          3841: 
        !          3842: WORD
        !          3843: WINAPI
        !          3844: SetWindowWord(
        !          3845:     HWND hWnd,
        !          3846:     int nIndex,
        !          3847:     WORD wNewWord);
        !          3848: 
        !          3849: LONG
        !          3850: WINAPI
        !          3851: GetWindowLongA(
        !          3852:     HWND hWnd,
        !          3853:     int nIndex);
        !          3854: LONG
        !          3855: WINAPI
        !          3856: GetWindowLongW(
        !          3857:     HWND hWnd,
        !          3858:     int nIndex);
        !          3859: #ifdef UNICODE
        !          3860: #define GetWindowLong GetWindowLongW
        !          3861: #else
        !          3862: #define GetWindowLong GetWindowLongA
        !          3863: #endif // !UNICODE
        !          3864: 
        !          3865: LONG
        !          3866: WINAPI
        !          3867: SetWindowLongA(
        !          3868:     HWND hWnd,
        !          3869:     int nIndex,
        !          3870:     LONG dwNewLong);
        !          3871: LONG
        !          3872: WINAPI
        !          3873: SetWindowLongW(
        !          3874:     HWND hWnd,
        !          3875:     int nIndex,
        !          3876:     LONG dwNewLong);
        !          3877: #ifdef UNICODE
        !          3878: #define SetWindowLong SetWindowLongW
        !          3879: #else
        !          3880: #define SetWindowLong SetWindowLongA
        !          3881: #endif // !UNICODE
        !          3882: 
        !          3883: WORD
        !          3884: WINAPI
        !          3885: GetClassWord(
        !          3886:     HWND hWnd,
        !          3887:     int nIndex);
        !          3888: 
        !          3889: WORD
        !          3890: WINAPI
        !          3891: SetClassWord(
        !          3892:     HWND hWnd,
        !          3893:     int nIndex,
        !          3894:     WORD wNewWord);
        !          3895: 
        !          3896: DWORD
        !          3897: WINAPI
        !          3898: GetClassLongA(
        !          3899:     HWND hWnd,
        !          3900:     int nIndex);
        !          3901: DWORD
        !          3902: WINAPI
        !          3903: GetClassLongW(
        !          3904:     HWND hWnd,
        !          3905:     int nIndex);
        !          3906: #ifdef UNICODE
        !          3907: #define GetClassLong GetClassLongW
        !          3908: #else
        !          3909: #define GetClassLong GetClassLongA
        !          3910: #endif // !UNICODE
        !          3911: 
        !          3912: DWORD
        !          3913: WINAPI
        !          3914: SetClassLongA(
        !          3915:     HWND hWnd,
        !          3916:     int nIndex,
        !          3917:     LONG dwNewLong);
        !          3918: DWORD
        !          3919: WINAPI
        !          3920: SetClassLongW(
        !          3921:     HWND hWnd,
        !          3922:     int nIndex,
        !          3923:     LONG dwNewLong);
        !          3924: #ifdef UNICODE
        !          3925: #define SetClassLong SetClassLongW
        !          3926: #else
        !          3927: #define SetClassLong SetClassLongA
        !          3928: #endif // !UNICODE
        !          3929: 
        !          3930: HWND
        !          3931: WINAPI
        !          3932: GetDesktopWindow(
        !          3933:     VOID);
        !          3934: 
        !          3935: BOOL
        !          3936: WINAPI
        !          3937: SetDeskWallpaper(
        !          3938:     LPSTR lpString );
        !          3939: 
        !          3940: #endif /* NOWINOFFSETS */
        !          3941: 
        !          3942: HWND
        !          3943: WINAPI
        !          3944: GetParent(
        !          3945:     HWND hWnd);
        !          3946: 
        !          3947: HWND
        !          3948: WINAPI
        !          3949: SetParent(
        !          3950:     HWND hWndChild,
        !          3951:     HWND hWndNewParent);
        !          3952: 
        !          3953: BOOL
        !          3954: WINAPI
        !          3955: EnumChildWindows(
        !          3956:     HWND hWndParent,
        !          3957:     WNDENUMPROC lpEnumFunc,
        !          3958:     LPARAM lParam);
        !          3959: 
        !          3960: HWND
        !          3961: WINAPI
        !          3962: FindWindowA(
        !          3963:     LPCSTR lpClassName ,
        !          3964:     LPCSTR lpWindowName);
        !          3965: HWND
        !          3966: WINAPI
        !          3967: FindWindowW(
        !          3968:     LPCWSTR lpClassName ,
        !          3969:     LPCWSTR lpWindowName);
        !          3970: #ifdef UNICODE
        !          3971: #define FindWindow FindWindowW
        !          3972: #else
        !          3973: #define FindWindow FindWindowA
        !          3974: #endif // !UNICODE
        !          3975: 
        !          3976: BOOL
        !          3977: WINAPI
        !          3978: EnumWindows(
        !          3979:     WNDENUMPROC lpEnumFunc,
        !          3980:     LPARAM lParam);
        !          3981: 
        !          3982: BOOL
        !          3983: WINAPI
        !          3984: EnumThreadWindows(
        !          3985:     DWORD dwThreadId,
        !          3986:     WNDENUMPROC lpfn,
        !          3987:     LPARAM lParam);
        !          3988: 
        !          3989: #define EnumTaskWindows(hTask, lpfn, lParam) EnumThreadWindows((DWORD)hTask, lpfn, lParam)
        !          3990: 
        !          3991: int
        !          3992: WINAPI
        !          3993: GetClassNameA(
        !          3994:     HWND hWnd,
        !          3995:     LPSTR lpClassName,
        !          3996:     int nMaxCount);
        !          3997: int
        !          3998: WINAPI
        !          3999: GetClassNameW(
        !          4000:     HWND hWnd,
        !          4001:     LPWSTR lpClassName,
        !          4002:     int nMaxCount);
        !          4003: #ifdef UNICODE
        !          4004: #define GetClassName GetClassNameW
        !          4005: #else
        !          4006: #define GetClassName GetClassNameA
        !          4007: #endif // !UNICODE
        !          4008: 
        !          4009: HWND
        !          4010: WINAPI
        !          4011: GetTopWindow(
        !          4012:     HWND hWnd);
        !          4013: 
        !          4014: #define GetNextWindow(hwnd, wCmd) GetWindow(hwnd, wCmd)
        !          4015: #define GetSysModalWindow() (NULL)
        !          4016: #define SetSysModalWindow(hwnd) (NULL)
        !          4017: 
        !          4018: DWORD
        !          4019: WINAPI
        !          4020: GetWindowThreadProcessId(
        !          4021:     HWND hWnd,
        !          4022:     LPDWORD lpdwProcessId );
        !          4023: 
        !          4024: #define GetWindowTask(hwnd)\
        !          4025:         ((HANDLE)GetWindowThreadProcessId(hwnd, NULL))
        !          4026: 
        !          4027: HWND
        !          4028: WINAPI
        !          4029: GetLastActivePopup(
        !          4030:     HWND hWnd);
        !          4031: 
        !          4032: /* GetWindow() Constants */
        !          4033: #define GW_HWNDFIRST        0
        !          4034: #define GW_HWNDLAST         1
        !          4035: #define GW_HWNDNEXT         2
        !          4036: #define GW_HWNDPREV         3
        !          4037: #define GW_OWNER            4
        !          4038: #define GW_CHILD            5
        !          4039: #define GW_MAX              5
        !          4040: 
        !          4041: HWND
        !          4042: WINAPI
        !          4043: GetWindow(
        !          4044:     HWND hWnd,
        !          4045:     UINT uCmd);
        !          4046: 
        !          4047: #ifndef NOWH
        !          4048: 
        !          4049: #ifdef STRICT
        !          4050: HHOOK
        !          4051: WINAPI
        !          4052: SetWindowsHookA(
        !          4053:     int nFilterType,
        !          4054:     HOOKPROC pfnFilterProc);
        !          4055: HHOOK
        !          4056: WINAPI
        !          4057: SetWindowsHookW(
        !          4058:     int nFilterType,
        !          4059:     HOOKPROC pfnFilterProc);
        !          4060: #else
        !          4061: HOOKPROC
        !          4062: WINAPI
        !          4063: SetWindowsHookA(
        !          4064:     int nFilterType,
        !          4065:     HOOKPROC pfnFilterProc);
        !          4066: HOOKPROC
        !          4067: WINAPI
        !          4068: SetWindowsHookW(
        !          4069:     int nFilterType,
        !          4070:     HOOKPROC pfnFilterProc);
        !          4071: #endif
        !          4072: #ifdef UNICODE
        !          4073: #define SetWindowsHook SetWindowsHookW
        !          4074: #else
        !          4075: #define SetWindowsHook SetWindowsHookA
        !          4076: #endif // !UNICODE
        !          4077: 
        !          4078: BOOL
        !          4079: WINAPI
        !          4080: UnhookWindowsHook(
        !          4081:     int nCode,
        !          4082:     HOOKPROC pfnFilterProc);
        !          4083: 
        !          4084: HHOOK
        !          4085: WINAPI
        !          4086: SetWindowsHookExA(
        !          4087:     int idHook,
        !          4088:     HOOKPROC lpfn,
        !          4089:     HINSTANCE hmod,
        !          4090:     DWORD dwThreadId);
        !          4091: HHOOK
        !          4092: WINAPI
        !          4093: SetWindowsHookExW(
        !          4094:     int idHook,
        !          4095:     HOOKPROC lpfn,
        !          4096:     HINSTANCE hmod,
        !          4097:     DWORD dwThreadId);
        !          4098: #ifdef UNICODE
        !          4099: #define SetWindowsHookEx SetWindowsHookExW
        !          4100: #else
        !          4101: #define SetWindowsHookEx SetWindowsHookExA
        !          4102: #endif // !UNICODE
        !          4103: 
        !          4104: BOOL
        !          4105: WINAPI
        !          4106: UnhookWindowsHookEx(
        !          4107:     HHOOK hhk);
        !          4108: 
        !          4109: LRESULT
        !          4110: WINAPI CallNextHookEx(
        !          4111:     HHOOK hhk,
        !          4112:     int nCode,
        !          4113:     WPARAM wParam,
        !          4114:     LPARAM lParam);
        !          4115: 
        !          4116: /*
        !          4117:  * Macros for source-level compatibility with old functions.
        !          4118:  */
        !          4119: #define DefHookProc(nCode, wParam, lParam, phhk)\
        !          4120:         CallNextHookEx(*phhk, nCode, wParam, lParam)
        !          4121: #endif
        !          4122: 
        !          4123: #ifndef NOMENUS
        !          4124: 
        !          4125: /* Menu flags for Add/Check/EnableMenuItem() */
        !          4126: #define MF_INSERT          0x00000000L
        !          4127: #define MF_CHANGE          0x00000080L
        !          4128: #define MF_APPEND          0x00000100L
        !          4129: #define MF_DELETE          0x00000200L
        !          4130: #define MF_REMOVE          0x00001000L
        !          4131: 
        !          4132: #define MF_BYCOMMAND       0x00000000L
        !          4133: #define MF_BYPOSITION      0x00000400L
        !          4134: 
        !          4135: 
        !          4136: #define MF_SEPARATOR       0x00000800L
        !          4137: 
        !          4138: #define MF_ENABLED         0x00000000L
        !          4139: #define MF_GRAYED          0x00000001L
        !          4140: #define MF_DISABLED        0x00000002L
        !          4141: 
        !          4142: #define MF_UNCHECKED       0x00000000L
        !          4143: #define MF_CHECKED         0x00000008L
        !          4144: #define MF_USECHECKBITMAPS 0x00000200L
        !          4145: 
        !          4146: #define MF_STRING          0x00000000L
        !          4147: #define MF_BITMAP          0x00000004L
        !          4148: #define MF_OWNERDRAW       0x00000100L
        !          4149: 
        !          4150: #define MF_POPUP           0x00000010L
        !          4151: #define MF_MENUBARBREAK    0x00000020L
        !          4152: #define MF_MENUBREAK       0x00000040L
        !          4153: 
        !          4154: #define MF_UNHILITE        0x00000000L
        !          4155: #define MF_HILITE          0x00000080L
        !          4156: 
        !          4157: #define MF_SYSMENU         0x00002000L
        !          4158: #define MF_HELP            0x00004000L
        !          4159: #define MF_MOUSESELECT     0x00008000L
        !          4160: 
        !          4161: /* Menu item resource format */
        !          4162: typedef struct {
        !          4163:     WORD versionNumber;
        !          4164:     WORD offset;
        !          4165: } MENUITEMTEMPLATEHEADER;
        !          4166: 
        !          4167: typedef struct {
        !          4168:     WORD mtOption;
        !          4169:     WORD mtID;
        !          4170:     char mtString[1];
        !          4171: } MENUITEMTEMPLATE;
        !          4172: 
        !          4173: #define MF_END             0x00000080L
        !          4174: 
        !          4175: #endif /* NOMENUS */
        !          4176: 
        !          4177: #ifndef NOSYSCOMMANDS
        !          4178: 
        !          4179: /* System Menu Command Values */
        !          4180: #define SC_SIZE         0xF000
        !          4181: #define SC_MOVE         0xF010
        !          4182: #define SC_MINIMIZE     0xF020
        !          4183: #define SC_MAXIMIZE     0xF030
        !          4184: #define SC_NEXTWINDOW   0xF040
        !          4185: #define SC_PREVWINDOW   0xF050
        !          4186: #define SC_CLOSE        0xF060
        !          4187: #define SC_VSCROLL      0xF070
        !          4188: #define SC_HSCROLL      0xF080
        !          4189: #define SC_MOUSEMENU    0xF090
        !          4190: #define SC_KEYMENU      0xF100
        !          4191: #define SC_ARRANGE      0xF110
        !          4192: #define SC_RESTORE      0xF120
        !          4193: #define SC_TASKLIST     0xF130
        !          4194: #define SC_SCREENSAVE   0xF140
        !          4195: #define SC_HOTKEY       0xF150
        !          4196: 
        !          4197: /* Obsolete names */
        !          4198: #define SC_ICON         SC_MINIMIZE
        !          4199: #define SC_ZOOM         SC_MAXIMIZE
        !          4200: 
        !          4201: #endif /* NOSYSCOMMANDS */
        !          4202: 
        !          4203: /* Resource Loading Routines */
        !          4204: 
        !          4205: HBITMAP
        !          4206: WINAPI
        !          4207: LoadBitmapA(
        !          4208:     HINSTANCE hInstance,
        !          4209:     LPCSTR lpBitmapName);
        !          4210: HBITMAP
        !          4211: WINAPI
        !          4212: LoadBitmapW(
        !          4213:     HINSTANCE hInstance,
        !          4214:     LPCWSTR lpBitmapName);
        !          4215: #ifdef UNICODE
        !          4216: #define LoadBitmap LoadBitmapW
        !          4217: #else
        !          4218: #define LoadBitmap LoadBitmapA
        !          4219: #endif // !UNICODE
        !          4220: 
        !          4221: HCURSOR
        !          4222: WINAPI
        !          4223: LoadCursorA(
        !          4224:     HINSTANCE hInstance,
        !          4225:     LPCSTR lpCursorName);
        !          4226: HCURSOR
        !          4227: WINAPI
        !          4228: LoadCursorW(
        !          4229:     HINSTANCE hInstance,
        !          4230:     LPCWSTR lpCursorName);
        !          4231: #ifdef UNICODE
        !          4232: #define LoadCursor LoadCursorW
        !          4233: #else
        !          4234: #define LoadCursor LoadCursorA
        !          4235: #endif // !UNICODE
        !          4236: 
        !          4237: HCURSOR
        !          4238: WINAPI
        !          4239: CreateCursor(
        !          4240:     HINSTANCE,
        !          4241:     int,
        !          4242:     int,
        !          4243:     int,
        !          4244:     int,
        !          4245:     CONST VOID *,
        !          4246:     CONST VOID *);
        !          4247: 
        !          4248: BOOL
        !          4249: WINAPI
        !          4250: DestroyCursor(
        !          4251:     HCURSOR);
        !          4252: 
        !          4253: #define CopyCursor(pcur) ((HCURSOR)CopyIcon((HICON)(pcur)))
        !          4254: 
        !          4255: /* Standard Cursor IDs */
        !          4256: #define IDC_ARROW           MAKEINTRESOURCE(32512)
        !          4257: #define IDC_IBEAM           MAKEINTRESOURCE(32513)
        !          4258: #define IDC_WAIT            MAKEINTRESOURCE(32514)
        !          4259: #define IDC_CROSS           MAKEINTRESOURCE(32515)
        !          4260: #define IDC_UPARROW         MAKEINTRESOURCE(32516)
        !          4261: #define IDC_SIZE            MAKEINTRESOURCE(32640)
        !          4262: #define IDC_ICON            MAKEINTRESOURCE(32641)
        !          4263: #define IDC_SIZENWSE        MAKEINTRESOURCE(32642)
        !          4264: #define IDC_SIZENESW        MAKEINTRESOURCE(32643)
        !          4265: #define IDC_SIZEWE          MAKEINTRESOURCE(32644)
        !          4266: #define IDC_SIZENS          MAKEINTRESOURCE(32645)
        !          4267: #define IDC_SIZEALL         MAKEINTRESOURCE(32646) //not in win3.1
        !          4268: #define IDC_NO              MAKEINTRESOURCE(32648) //not in win3.1
        !          4269: 
        !          4270: typedef struct _ICONINFO {
        !          4271:     BOOL    fIcon;
        !          4272:     DWORD   xHotspot;
        !          4273:     DWORD   yHotspot;
        !          4274:     HBITMAP hbmMask;
        !          4275:     HBITMAP hbmColor;
        !          4276: } ICONINFO;
        !          4277: typedef ICONINFO *PICONINFO;
        !          4278: 
        !          4279: HICON
        !          4280: WINAPI
        !          4281: LoadIconA(
        !          4282:     HINSTANCE hInstance,
        !          4283:     LPCSTR lpIconName);
        !          4284: HICON
        !          4285: WINAPI
        !          4286: LoadIconW(
        !          4287:     HINSTANCE hInstance,
        !          4288:     LPCWSTR lpIconName);
        !          4289: #ifdef UNICODE
        !          4290: #define LoadIcon LoadIconW
        !          4291: #else
        !          4292: #define LoadIcon LoadIconA
        !          4293: #endif // !UNICODE
        !          4294: 
        !          4295: HICON
        !          4296: WINAPI
        !          4297: CreateIcon(
        !          4298:     HINSTANCE,
        !          4299:     int,
        !          4300:     int,
        !          4301:     BYTE,
        !          4302:     BYTE,
        !          4303:     CONST BYTE *,
        !          4304:     CONST BYTE *);
        !          4305: 
        !          4306: BOOL
        !          4307: WINAPI
        !          4308: DestroyIcon(
        !          4309:     HICON);
        !          4310: 
        !          4311: int
        !          4312: WINAPI
        !          4313: LookupIconIdFromDirectory(
        !          4314:     PBYTE presbits,
        !          4315:     BOOL fIcon);
        !          4316: 
        !          4317: HICON
        !          4318: WINAPI
        !          4319: CreateIconFromResource(
        !          4320:     PBYTE presbits,
        !          4321:     DWORD dwResSize,
        !          4322:     BOOL fIcon,
        !          4323:     DWORD dwVer);
        !          4324: 
        !          4325: HICON
        !          4326: WINAPI
        !          4327: CreateIconIndirect(
        !          4328:     PICONINFO piconinfo);
        !          4329: 
        !          4330: HICON
        !          4331: WINAPI
        !          4332: CopyIcon(
        !          4333:     HICON);
        !          4334: 
        !          4335: BOOL
        !          4336: WINAPI
        !          4337: GetIconInfo(
        !          4338:     HICON hIcon,
        !          4339:     PICONINFO piconinfo);
        !          4340: 
        !          4341: #ifdef OEMRESOURCE
        !          4342: 
        !          4343: /* OEM Resource Ordinal Numbers */
        !          4344: #define OBM_CLOSE           32754
        !          4345: #define OBM_UPARROW         32753
        !          4346: #define OBM_DNARROW         32752
        !          4347: #define OBM_RGARROW         32751
        !          4348: #define OBM_LFARROW         32750
        !          4349: #define OBM_REDUCE          32749
        !          4350: #define OBM_ZOOM            32748
        !          4351: #define OBM_RESTORE         32747
        !          4352: #define OBM_REDUCED         32746
        !          4353: #define OBM_ZOOMD           32745
        !          4354: #define OBM_RESTORED        32744
        !          4355: #define OBM_UPARROWD        32743
        !          4356: #define OBM_DNARROWD        32742
        !          4357: #define OBM_RGARROWD        32741
        !          4358: #define OBM_LFARROWD        32740
        !          4359: #define OBM_MNARROW         32739
        !          4360: #define OBM_COMBO           32738
        !          4361: #define OBM_UPARROWI        32737
        !          4362: #define OBM_DNARROWI        32736
        !          4363: #define OBM_RGARROWI        32735
        !          4364: #define OBM_LFARROWI        32734
        !          4365: 
        !          4366: #define OBM_OLD_CLOSE       32767
        !          4367: #define OBM_SIZE            32766
        !          4368: #define OBM_OLD_UPARROW     32765
        !          4369: #define OBM_OLD_DNARROW     32764
        !          4370: #define OBM_OLD_RGARROW     32763
        !          4371: #define OBM_OLD_LFARROW     32762
        !          4372: #define OBM_BTSIZE          32761
        !          4373: #define OBM_CHECK           32760
        !          4374: #define OBM_CHECKBOXES      32759
        !          4375: #define OBM_BTNCORNERS      32758
        !          4376: #define OBM_OLD_REDUCE      32757
        !          4377: #define OBM_OLD_ZOOM        32756
        !          4378: #define OBM_OLD_RESTORE     32755
        !          4379: 
        !          4380: #define OCR_NORMAL          32512
        !          4381: #define OCR_IBEAM           32513
        !          4382: #define OCR_WAIT            32514
        !          4383: #define OCR_CROSS           32515
        !          4384: #define OCR_UP              32516
        !          4385: #define OCR_SIZE            32640
        !          4386: #define OCR_ICON            32641
        !          4387: #define OCR_SIZENWSE        32642
        !          4388: #define OCR_SIZENESW        32643
        !          4389: #define OCR_SIZEWE          32644
        !          4390: #define OCR_SIZENS          32645
        !          4391: #define OCR_SIZEALL         32646
        !          4392: #define OCR_ICOCUR          32647
        !          4393: #define OCR_NO              32648 //not in win3.1
        !          4394: 
        !          4395: #define OIC_SAMPLE          32512
        !          4396: #define OIC_HAND            32513
        !          4397: #define OIC_QUES            32514
        !          4398: #define OIC_BANG            32515
        !          4399: #define OIC_NOTE            32516
        !          4400: 
        !          4401: #endif /* OEMRESOURCE */
        !          4402: 
        !          4403: #define ORD_LANGDRIVER    1     /* The ordinal number for the entry point of
        !          4404:                                 ** language drivers.
        !          4405:                                 */
        !          4406: 
        !          4407: #ifndef NOICONS
        !          4408: 
        !          4409: /* Standard Icon IDs */
        !          4410: #define IDI_APPLICATION   MAKEINTRESOURCE(32512)
        !          4411: #define IDI_HAND          MAKEINTRESOURCE(32513)
        !          4412: #define IDI_QUESTION      MAKEINTRESOURCE(32514)
        !          4413: #define IDI_EXCLAMATION   MAKEINTRESOURCE(32515)
        !          4414: #define IDI_ASTERISK      MAKEINTRESOURCE(32516)
        !          4415: 
        !          4416: #endif /* NOICONS */
        !          4417: 
        !          4418: int
        !          4419: WINAPI
        !          4420: LoadStringA(
        !          4421:     HINSTANCE hInstance,
        !          4422:     UINT uID,
        !          4423:     LPSTR lpBuffer,
        !          4424:     int nBufferMax);
        !          4425: int
        !          4426: WINAPI
        !          4427: LoadStringW(
        !          4428:     HINSTANCE hInstance,
        !          4429:     UINT uID,
        !          4430:     LPWSTR lpBuffer,
        !          4431:     int nBufferMax);
        !          4432: #ifdef UNICODE
        !          4433: #define LoadString LoadStringW
        !          4434: #else
        !          4435: #define LoadString LoadStringA
        !          4436: #endif // !UNICODE
        !          4437: 
        !          4438: /* Dialog Box Command IDs */
        !          4439: #define IDOK                1
        !          4440: #define IDCANCEL            2
        !          4441: #define IDABORT             3
        !          4442: #define IDRETRY             4
        !          4443: #define IDIGNORE            5
        !          4444: #define IDYES               6
        !          4445: #define IDNO                7
        !          4446: 
        !          4447: #ifndef NOCTLMGR
        !          4448: 
        !          4449: /* Control Manager Structures and Definitions */
        !          4450: 
        !          4451: #ifndef NOWINSTYLES
        !          4452: 
        !          4453: /* Edit Control Styles */
        !          4454: #define ES_LEFT             0x0000L
        !          4455: #define ES_CENTER           0x0001L
        !          4456: #define ES_RIGHT            0x0002L
        !          4457: #define ES_MULTILINE        0x0004L
        !          4458: #define ES_UPPERCASE        0x0008L
        !          4459: #define ES_LOWERCASE        0x0010L
        !          4460: #define ES_PASSWORD         0x0020L
        !          4461: #define ES_AUTOVSCROLL      0x0040L
        !          4462: #define ES_AUTOHSCROLL      0x0080L
        !          4463: #define ES_NOHIDESEL        0x0100L
        !          4464: #define ES_OEMCONVERT       0x0400L
        !          4465: #define ES_READONLY         0x0800L
        !          4466: #define ES_WANTRETURN       0x1000L
        !          4467: 
        !          4468: 
        !          4469: #endif /* NOWINSTYLES */
        !          4470: 
        !          4471: /* Edit Control Notification Codes */
        !          4472: #define EN_SETFOCUS         0x0100
        !          4473: #define EN_KILLFOCUS        0x0200
        !          4474: #define EN_CHANGE           0x0300
        !          4475: #define EN_UPDATE           0x0400
        !          4476: #define EN_ERRSPACE         0x0500
        !          4477: #define EN_MAXTEXT          0x0501
        !          4478: #define EN_HSCROLL          0x0601
        !          4479: #define EN_VSCROLL          0x0602
        !          4480: 
        !          4481: #ifndef NOWINMESSAGES
        !          4482: 
        !          4483: /* Edit Control Messages */
        !          4484: #define EM_GETSEL               0x00B0
        !          4485: #define EM_SETSEL               0x00B1
        !          4486: #define EM_GETRECT              0x00B2
        !          4487: #define EM_SETRECT              0x00B3
        !          4488: #define EM_SETRECTNP            0x00B4
        !          4489: #define EM_SCROLL               0x00B5
        !          4490: #define EM_LINESCROLL           0x00B6
        !          4491: #define EM_SCROLLCARET          0x00B7
        !          4492: #define EM_GETMODIFY            0x00B8
        !          4493: #define EM_SETMODIFY            0x00B9
        !          4494: #define EM_GETLINECOUNT         0x00BA
        !          4495: #define EM_LINEINDEX            0x00BB
        !          4496: #define EM_SETHANDLE            0x00BC
        !          4497: #define EM_GETHANDLE            0x00BD
        !          4498: #define EM_GETTHUMB             0x00BE
        !          4499: #define EM_LINELENGTH           0x00C1
        !          4500: #define EM_REPLACESEL           0x00C2
        !          4501: #define EM_SETFONT              0x00C3
        !          4502: #define EM_GETLINE              0x00C4
        !          4503: #define EM_LIMITTEXT            0x00C5
        !          4504: #define EM_CANUNDO              0x00C6
        !          4505: #define EM_UNDO                 0x00C7
        !          4506: #define EM_FMTLINES             0x00C8
        !          4507: #define EM_LINEFROMCHAR         0x00C9
        !          4508: #define EM_SETWORDBREAK         0x00CA
        !          4509: #define EM_SETTABSTOPS          0x00CB
        !          4510: #define EM_SETPASSWORDCHAR      0x00CC
        !          4511: #define EM_EMPTYUNDOBUFFER      0x00CD
        !          4512: #define EM_GETFIRSTVISIBLELINE  0x00CE
        !          4513: #define EM_SETREADONLY          0x00CF
        !          4514: #define EM_SETWORDBREAKPROC     0x00D0
        !          4515: #define EM_GETWORDBREAKPROC     0x00D1
        !          4516: #define EM_GETPASSWORDCHAR      0x00D2
        !          4517: #define EM_MSGMAX               0x00D3
        !          4518: 
        !          4519: #endif /* NOWINMESSAGES */
        !          4520: 
        !          4521: /* EDITWORDBREAKPROC code values */
        !          4522: #define WB_LEFT            0
        !          4523: #define WB_RIGHT           1
        !          4524: #define WB_ISDELIMITER     2
        !          4525: 
        !          4526: /* Button Control Styles */
        !          4527: #define BS_PUSHBUTTON      0x00L
        !          4528: #define BS_DEFPUSHBUTTON   0x01L
        !          4529: #define BS_CHECKBOX        0x02L
        !          4530: #define BS_AUTOCHECKBOX    0x03L
        !          4531: #define BS_RADIOBUTTON     0x04L
        !          4532: #define BS_3STATE          0x05L
        !          4533: #define BS_AUTO3STATE      0x06L
        !          4534: #define BS_GROUPBOX        0x07L
        !          4535: #define BS_USERBUTTON      0x08L
        !          4536: #define BS_AUTORADIOBUTTON 0x09L
        !          4537: #define BS_PUSHBOX         0x0AL
        !          4538: #define BS_OWNERDRAW       0x0BL
        !          4539: #define BS_LEFTTEXT        0x20L
        !          4540: 
        !          4541: 
        !          4542: /* User Button Notification Codes */
        !          4543: #define BN_CLICKED         0
        !          4544: #define BN_PAINT           1
        !          4545: #define BN_HILITE          2
        !          4546: #define BN_UNHILITE        3
        !          4547: #define BN_DISABLE         4
        !          4548: #define BN_DOUBLECLICKED   5
        !          4549: 
        !          4550: /* Button Control Messages */
        !          4551: #define BM_GETCHECK        0x00F0
        !          4552: #define BM_SETCHECK        0x00F1
        !          4553: #define BM_GETSTATE        0x00F2
        !          4554: #define BM_SETSTATE        0x00F3
        !          4555: #define BM_SETSTYLE        0x00F4
        !          4556: 
        !          4557: /* Static Control Constants */
        !          4558: #define SS_LEFT            0x00L
        !          4559: #define SS_CENTER          0x01L
        !          4560: #define SS_RIGHT           0x02L
        !          4561: #define SS_ICON            0x03L
        !          4562: #define SS_BLACKRECT       0x04L
        !          4563: #define SS_GRAYRECT        0x05L
        !          4564: #define SS_WHITERECT       0x06L
        !          4565: #define SS_BLACKFRAME      0x07L
        !          4566: #define SS_GRAYFRAME       0x08L
        !          4567: #define SS_WHITEFRAME      0x09L
        !          4568: #define SS_USERITEM        0x0AL
        !          4569: #define SS_SIMPLE          0x0BL
        !          4570: #define SS_LEFTNOWORDWRAP  0x0CL
        !          4571: #define SS_NOPREFIX        0x80L    /* Don't do "&" character translation */
        !          4572: 
        !          4573: #ifndef NOWINMESSAGES
        !          4574: /* Static Control Mesages */
        !          4575: #define STM_SETICON        0x170
        !          4576: #define STM_GETICON        0x171
        !          4577: #define STM_MSGMAX         0x172
        !          4578: #endif /* NOWINMESSAGES */
        !          4579: /* Dialog Manager Routines */
        !          4580: 
        !          4581: #ifndef NOMSG
        !          4582: BOOL
        !          4583: WINAPI
        !          4584: IsDialogMessage(
        !          4585:     HWND hDlg,
        !          4586:     LPMSG lpMsg);
        !          4587: #endif
        !          4588: 
        !          4589: BOOL
        !          4590: WINAPI
        !          4591: MapDialogRect(
        !          4592:     HWND hDlg,
        !          4593:     LPRECT lpRect);
        !          4594: 
        !          4595: int
        !          4596: WINAPI
        !          4597: DlgDirListA(
        !          4598:     HWND hDlg,
        !          4599:     LPSTR lpPathSpec,
        !          4600:     int nIDListBox,
        !          4601:     int nIDStaticPath,
        !          4602:     UINT uFileType);
        !          4603: int
        !          4604: WINAPI
        !          4605: DlgDirListW(
        !          4606:     HWND hDlg,
        !          4607:     LPWSTR lpPathSpec,
        !          4608:     int nIDListBox,
        !          4609:     int nIDStaticPath,
        !          4610:     UINT uFileType);
        !          4611: #ifdef UNICODE
        !          4612: #define DlgDirList DlgDirListW
        !          4613: #else
        !          4614: #define DlgDirList DlgDirListA
        !          4615: #endif // !UNICODE
        !          4616: 
        !          4617: BOOL
        !          4618: WINAPI
        !          4619: DlgDirSelectExA(
        !          4620:     HWND hDlg,
        !          4621:     LPSTR lpString,
        !          4622:     int nCount,
        !          4623:     int nIDListBox);
        !          4624: BOOL
        !          4625: WINAPI
        !          4626: DlgDirSelectExW(
        !          4627:     HWND hDlg,
        !          4628:     LPWSTR lpString,
        !          4629:     int nCount,
        !          4630:     int nIDListBox);
        !          4631: #ifdef UNICODE
        !          4632: #define DlgDirSelectEx DlgDirSelectExW
        !          4633: #else
        !          4634: #define DlgDirSelectEx DlgDirSelectExA
        !          4635: #endif // !UNICODE
        !          4636: 
        !          4637: int
        !          4638: WINAPI
        !          4639: DlgDirListComboBoxA(
        !          4640:     HWND hDlg,
        !          4641:     LPSTR lpPathSpec,
        !          4642:     int nIDComboBox,
        !          4643:     int nIDStaticPath,
        !          4644:     UINT uFiletype);
        !          4645: int
        !          4646: WINAPI
        !          4647: DlgDirListComboBoxW(
        !          4648:     HWND hDlg,
        !          4649:     LPWSTR lpPathSpec,
        !          4650:     int nIDComboBox,
        !          4651:     int nIDStaticPath,
        !          4652:     UINT uFiletype);
        !          4653: #ifdef UNICODE
        !          4654: #define DlgDirListComboBox DlgDirListComboBoxW
        !          4655: #else
        !          4656: #define DlgDirListComboBox DlgDirListComboBoxA
        !          4657: #endif // !UNICODE
        !          4658: 
        !          4659: BOOL
        !          4660: WINAPI
        !          4661: DlgDirSelectComboBoxExA(
        !          4662:     HWND hDlg,
        !          4663:     LPSTR lpString,
        !          4664:     int nCount,
        !          4665:     int nIDComboBox);
        !          4666: BOOL
        !          4667: WINAPI
        !          4668: DlgDirSelectComboBoxExW(
        !          4669:     HWND hDlg,
        !          4670:     LPWSTR lpString,
        !          4671:     int nCount,
        !          4672:     int nIDComboBox);
        !          4673: #ifdef UNICODE
        !          4674: #define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW
        !          4675: #else
        !          4676: #define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA
        !          4677: #endif // !UNICODE
        !          4678: 
        !          4679: 
        !          4680: /* Dialog Styles */
        !          4681: #define DS_ABSALIGN         0x01L
        !          4682: #define DS_SYSMODAL         0x02L
        !          4683: #define DS_LOCALEDIT        0x20L   /* Edit items get Local storage. */
        !          4684: #define DS_SETFONT          0x40L   /* User specified font for Dlg controls */
        !          4685: #define DS_MODALFRAME       0x80L   /* Can be combined with WS_CAPTION  */
        !          4686: #define DS_NOIDLEMSG        0x100L  /* WM_ENTERIDLE message will not be sent */
        !          4687: #define DS_SETFOREGROUND    0x200L  //not in win3.1
        !          4688: 
        !          4689: #define DM_GETDEFID         (WM_USER+0)
        !          4690: #define DM_SETDEFID         (WM_USER+1)
        !          4691: #define DC_HASDEFID         0x534B      //not in win3.1
        !          4692: 
        !          4693: /* Dialog Codes */
        !          4694: #define DLGC_WANTARROWS     0x0001      /* Control wants arrow keys         */
        !          4695: #define DLGC_WANTTAB        0x0002      /* Control wants tab keys           */
        !          4696: #define DLGC_WANTALLKEYS    0x0004      /* Control wants all keys           */
        !          4697: #define DLGC_WANTMESSAGE    0x0004      /* Pass message to control          */
        !          4698: #define DLGC_HASSETSEL      0x0008      /* Understands EM_SETSEL message    */
        !          4699: #define DLGC_DEFPUSHBUTTON  0x0010      /* Default pushbutton               */
        !          4700: #define DLGC_UNDEFPUSHBUTTON 0x0020     /* Non-default pushbutton           */
        !          4701: #define DLGC_RADIOBUTTON    0x0040      /* Radio button                     */
        !          4702: #define DLGC_WANTCHARS      0x0080      /* Want WM_CHAR messages            */
        !          4703: #define DLGC_STATIC         0x0100      /* Static item: don't include       */
        !          4704: #define DLGC_BUTTON         0x2000      /* Button item: can be checked      */
        !          4705: 
        !          4706: #define LB_CTLCODE          0L
        !          4707: 
        !          4708: /* Listbox Return Values */
        !          4709: #define LB_OKAY             0
        !          4710: #define LB_ERR              (-1)
        !          4711: #define LB_ERRSPACE         (-2)
        !          4712: 
        !          4713: /*
        !          4714: **  The idStaticPath parameter to DlgDirList can have the following values
        !          4715: **  ORed if the list box should show other details of the files along with
        !          4716: **  the name of the files;
        !          4717: */
        !          4718:                                   /* all other details also will be returned */
        !          4719: 
        !          4720: 
        !          4721: /* Listbox Notification Codes */
        !          4722: #define LBN_ERRSPACE        (-2)
        !          4723: #define LBN_SELCHANGE       1
        !          4724: #define LBN_DBLCLK          2
        !          4725: #define LBN_SELCANCEL       3
        !          4726: #define LBN_SETFOCUS        4
        !          4727: #define LBN_KILLFOCUS       5
        !          4728: 
        !          4729: 
        !          4730: 
        !          4731: #ifndef NOWINMESSAGES
        !          4732: 
        !          4733: /* Listbox messages */
        !          4734: #define LB_ADDSTRING            0x0180
        !          4735: #define LB_INSERTSTRING         0x0181
        !          4736: #define LB_DELETESTRING         0x0182
        !          4737: #define LB_RESETCONTENT         0x0184
        !          4738: #define LB_SETSEL               0x0185
        !          4739: #define LB_SETCURSEL            0x0186
        !          4740: #define LB_GETSEL               0x0187
        !          4741: #define LB_GETCURSEL            0x0188
        !          4742: #define LB_GETTEXT              0x0189
        !          4743: #define LB_GETTEXTLEN           0x018A
        !          4744: #define LB_GETCOUNT             0x018B
        !          4745: #define LB_SELECTSTRING         0x018C
        !          4746: #define LB_DIR                  0x018D
        !          4747: #define LB_GETTOPINDEX          0x018E
        !          4748: #define LB_FINDSTRING           0x018F
        !          4749: #define LB_GETSELCOUNT          0x0190
        !          4750: #define LB_GETSELITEMS          0x0191
        !          4751: #define LB_SETTABSTOPS          0x0192
        !          4752: #define LB_GETHORIZONTALEXTENT  0x0193
        !          4753: #define LB_SETHORIZONTALEXTENT  0x0194
        !          4754: #define LB_SETCOLUMNWIDTH       0x0195
        !          4755: #define LB_ADDFILE              0x0196
        !          4756: #define LB_SETTOPINDEX          0x0197
        !          4757: #define LB_GETITEMRECT          0x0198
        !          4758: #define LB_GETITEMDATA          0x0199
        !          4759: #define LB_SETITEMDATA          0x019A
        !          4760: #define LB_SELITEMRANGE         0x019B
        !          4761: #define LB_SETANCHORINDEX       0x019C
        !          4762: #define LB_GETANCHORINDEX       0x019D
        !          4763: #define LB_SETCARETINDEX        0x019E
        !          4764: #define LB_GETCARETINDEX        0x019F
        !          4765: #define LB_SETITEMHEIGHT        0x01A0
        !          4766: #define LB_GETITEMHEIGHT        0x01A1
        !          4767: #define LB_FINDSTRINGEXACT      0x01A2
        !          4768: #define LBCB_CARETON            0x01A3
        !          4769: #define LBCB_CARETOFF           0x01A4
        !          4770: #define LB_SETLOCALE            0x01A5
        !          4771: #define LB_GETLOCALE            0x01A6
        !          4772: #define LB_SETCOUNT             0x01A7
        !          4773: #define LB_MSGMAX               0x01A8
        !          4774: 
        !          4775: #endif /* NOWINMESSAGES */
        !          4776: 
        !          4777: #ifndef NOWINSTYLES
        !          4778: 
        !          4779: /* Listbox Styles */
        !          4780: #define LBS_NOTIFY            0x0001L
        !          4781: #define LBS_SORT              0x0002L
        !          4782: #define LBS_NOREDRAW          0x0004L
        !          4783: #define LBS_MULTIPLESEL       0x0008L
        !          4784: #define LBS_OWNERDRAWFIXED    0x0010L
        !          4785: #define LBS_OWNERDRAWVARIABLE 0x0020L
        !          4786: #define LBS_HASSTRINGS        0x0040L
        !          4787: #define LBS_USETABSTOPS       0x0080L
        !          4788: #define LBS_NOINTEGRALHEIGHT  0x0100L
        !          4789: #define LBS_MULTICOLUMN       0x0200L
        !          4790: #define LBS_WANTKEYBOARDINPUT 0x0400L
        !          4791: #define LBS_EXTENDEDSEL       0x0800L
        !          4792: #define LBS_DISABLENOSCROLL   0x1000L
        !          4793: #define LBS_NODATA            0x2000L
        !          4794: #define LBS_STANDARD          (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
        !          4795: 
        !          4796: #endif /* NOWINSTYLES */
        !          4797: 
        !          4798: 
        !          4799: /* Combo Box return Values */
        !          4800: #define CB_OKAY             0
        !          4801: #define CB_ERR              (-1)
        !          4802: #define CB_ERRSPACE         (-2)
        !          4803: 
        !          4804: 
        !          4805: /* Combo Box Notification Codes */
        !          4806: #define CBN_ERRSPACE        (-1)
        !          4807: #define CBN_SELCHANGE       1
        !          4808: #define CBN_DBLCLK          2
        !          4809: #define CBN_SETFOCUS        3
        !          4810: #define CBN_KILLFOCUS       4
        !          4811: #define CBN_EDITCHANGE      5
        !          4812: #define CBN_EDITUPDATE      6
        !          4813: #define CBN_DROPDOWN        7
        !          4814: #define CBN_CLOSEUP         8
        !          4815: #define CBN_SELENDOK        9
        !          4816: #define CBN_SELENDCANCEL    10
        !          4817: 
        !          4818: /* Combo Box styles */
        !          4819: #ifndef NOWINSTYLES
        !          4820: #define CBS_SIMPLE            0x0001L
        !          4821: #define CBS_DROPDOWN          0x0002L
        !          4822: #define CBS_DROPDOWNLIST      0x0003L
        !          4823: #define CBS_OWNERDRAWFIXED    0x0010L
        !          4824: #define CBS_OWNERDRAWVARIABLE 0x0020L
        !          4825: #define CBS_AUTOHSCROLL       0x0040L
        !          4826: #define CBS_OEMCONVERT        0x0080L
        !          4827: #define CBS_SORT              0x0100L
        !          4828: #define CBS_HASSTRINGS        0x0200L
        !          4829: #define CBS_NOINTEGRALHEIGHT  0x0400L
        !          4830: #define CBS_DISABLENOSCROLL   0x0800L
        !          4831: #endif  /* NOWINSTYLES */
        !          4832: 
        !          4833: 
        !          4834: /* Combo Box messages */
        !          4835: #ifndef NOWINMESSAGES
        !          4836: #define CB_GETEDITSEL               0x0140
        !          4837: #define CB_LIMITTEXT                0x0141
        !          4838: #define CB_SETEDITSEL               0x0142
        !          4839: #define CB_ADDSTRING                0x0143
        !          4840: #define CB_DELETESTRING             0x0144
        !          4841: #define CB_DIR                      0x0145
        !          4842: #define CB_GETCOUNT                 0x0146
        !          4843: #define CB_GETCURSEL                0x0147
        !          4844: #define CB_GETLBTEXT                0x0148
        !          4845: #define CB_GETLBTEXTLEN             0x0149
        !          4846: #define CB_INSERTSTRING             0x014A
        !          4847: #define CB_RESETCONTENT             0x014B
        !          4848: #define CB_FINDSTRING               0x014C
        !          4849: #define CB_SELECTSTRING             0x014D
        !          4850: #define CB_SETCURSEL                0x014E
        !          4851: #define CB_SHOWDROPDOWN             0x014F
        !          4852: #define CB_GETITEMDATA              0x0150
        !          4853: #define CB_SETITEMDATA              0x0151
        !          4854: #define CB_GETDROPPEDCONTROLRECT    0x0152
        !          4855: #define CB_SETITEMHEIGHT            0x0153
        !          4856: #define CB_GETITEMHEIGHT            0x0154
        !          4857: #define CB_SETEXTENDEDUI            0x0155
        !          4858: #define CB_GETEXTENDEDUI            0x0156
        !          4859: #define CB_GETDROPPEDSTATE          0x0157
        !          4860: #define CB_FINDSTRINGEXACT          0x0158
        !          4861: #define CB_SETLOCALE                0x0159
        !          4862: #define CB_GETLOCALE                0x015a
        !          4863: #define CB_MSGMAX                   0x015b
        !          4864: #endif  /* NOWINMESSAGES */
        !          4865: 
        !          4866: 
        !          4867: 
        !          4868: #ifndef NOWINSTYLES
        !          4869: 
        !          4870: /* Scroll Bar Styles */
        !          4871: #define SBS_HORZ                    0x0000L
        !          4872: #define SBS_VERT                    0x0001L
        !          4873: #define SBS_TOPALIGN                0x0002L
        !          4874: #define SBS_LEFTALIGN               0x0002L
        !          4875: #define SBS_BOTTOMALIGN             0x0004L
        !          4876: #define SBS_RIGHTALIGN              0x0004L
        !          4877: #define SBS_SIZEBOXTOPLEFTALIGN     0x0002L
        !          4878: #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
        !          4879: #define SBS_SIZEBOX                 0x0008L
        !          4880: #endif /* NOWINSTYLES */
        !          4881: 
        !          4882: /* Scroll bar messages */
        !          4883: #ifndef NOWINMESSAGES
        !          4884: #define SBM_SETPOS                  0x00E0 //not in win3.1
        !          4885: #define SBM_GETPOS                  0x00E1 //not in win3.1
        !          4886: #define SBM_SETRANGE                0x00E2 //not in win3.1
        !          4887: #define SBM_GETRANGE                0x00E3 //not in win3.1
        !          4888: #define SBM_ENABLE_ARROWS           0x00E4 //not in win3.1
        !          4889: #endif
        !          4890: #endif /* NOCTLMGR */
        !          4891: 
        !          4892: #ifndef NOMDI
        !          4893: 
        !          4894: /* MDI client style bits */
        !          4895: #define MDIS_ALLCHILDSTYLES    0x0001
        !          4896: 
        !          4897: /* wParam Flags for WM_MDITILE and WM_MDICASCADE messages. */
        !          4898: #define MDITILE_VERTICAL       0x0000 //not in win3.1
        !          4899: #define MDITILE_HORIZONTAL     0x0001 //not in win3.1
        !          4900: #define MDITILE_SKIPDISABLED   0x0002 //not in win3.1
        !          4901: 
        !          4902: typedef struct tagMDICREATESTRUCTA {
        !          4903:     LPCSTR   szClass;
        !          4904:     LPCSTR   szTitle;
        !          4905:     HANDLE hOwner;
        !          4906:     int x;
        !          4907:     int y;
        !          4908:     int cx;
        !          4909:     int cy;
        !          4910:     DWORD style;
        !          4911:     LPARAM lParam;        /* app-defined stuff */
        !          4912: } MDICREATESTRUCTA, *LPMDICREATESTRUCTA;
        !          4913: typedef struct tagMDICREATESTRUCTW {
        !          4914:     LPCWSTR  szClass;
        !          4915:     LPCWSTR  szTitle;
        !          4916:     HANDLE hOwner;
        !          4917:     int x;
        !          4918:     int y;
        !          4919:     int cx;
        !          4920:     int cy;
        !          4921:     DWORD style;
        !          4922:     LPARAM lParam;        /* app-defined stuff */
        !          4923: } MDICREATESTRUCTW, *LPMDICREATESTRUCTW;
        !          4924: #ifdef UNICODE
        !          4925: #define MDICREATESTRUCT MDICREATESTRUCTW
        !          4926: #define LPMDICREATESTRUCT LPMDICREATESTRUCTW
        !          4927: #else
        !          4928: #define MDICREATESTRUCT MDICREATESTRUCTA
        !          4929: #define LPMDICREATESTRUCT LPMDICREATESTRUCTA
        !          4930: #endif // UNICODE
        !          4931: 
        !          4932: typedef struct tagCLIENTCREATESTRUCT {
        !          4933:     HANDLE hWindowMenu;
        !          4934:     UINT idFirstChild;
        !          4935: } CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;
        !          4936: 
        !          4937: LRESULT
        !          4938: WINAPI
        !          4939: DefFrameProcA(
        !          4940:     HWND hWnd,
        !          4941:     HWND hWndMDIClient ,
        !          4942:     UINT uMsg,
        !          4943:     WPARAM wParam,
        !          4944:     LPARAM lParam);
        !          4945: LRESULT
        !          4946: WINAPI
        !          4947: DefFrameProcW(
        !          4948:     HWND hWnd,
        !          4949:     HWND hWndMDIClient ,
        !          4950:     UINT uMsg,
        !          4951:     WPARAM wParam,
        !          4952:     LPARAM lParam);
        !          4953: #ifdef UNICODE
        !          4954: #define DefFrameProc DefFrameProcW
        !          4955: #else
        !          4956: #define DefFrameProc DefFrameProcA
        !          4957: #endif // !UNICODE
        !          4958: 
        !          4959: LRESULT
        !          4960: WINAPI
        !          4961: DefMDIChildProcA(
        !          4962:     HWND hWnd,
        !          4963:     UINT uMsg,
        !          4964:     WPARAM wParam,
        !          4965:     LPARAM lParam);
        !          4966: LRESULT
        !          4967: WINAPI
        !          4968: DefMDIChildProcW(
        !          4969:     HWND hWnd,
        !          4970:     UINT uMsg,
        !          4971:     WPARAM wParam,
        !          4972:     LPARAM lParam);
        !          4973: #ifdef UNICODE
        !          4974: #define DefMDIChildProc DefMDIChildProcW
        !          4975: #else
        !          4976: #define DefMDIChildProc DefMDIChildProcA
        !          4977: #endif // !UNICODE
        !          4978: 
        !          4979: #ifndef NOMSG
        !          4980: BOOL
        !          4981: WINAPI
        !          4982: TranslateMDISysAccel(
        !          4983:     HWND hWndClient,
        !          4984:     LPMSG lpMsg);
        !          4985: #endif
        !          4986: 
        !          4987: UINT
        !          4988: WINAPI
        !          4989: ArrangeIconicWindows(
        !          4990:     HWND hWnd);
        !          4991: 
        !          4992: HWND
        !          4993: WINAPI
        !          4994: CreateMDIWindowA(
        !          4995:     LPSTR lpClassName,
        !          4996:     LPSTR lpWindowName,
        !          4997:     DWORD dwStyle,
        !          4998:     int X,
        !          4999:     int Y,
        !          5000:     int nWidth,
        !          5001:     int nHeight,
        !          5002:     HWND hWndParent,
        !          5003:     HINSTANCE hInstance,
        !          5004:     LONG lParam
        !          5005:     );
        !          5006: HWND
        !          5007: WINAPI
        !          5008: CreateMDIWindowW(
        !          5009:     LPWSTR lpClassName,
        !          5010:     LPWSTR lpWindowName,
        !          5011:     DWORD dwStyle,
        !          5012:     int X,
        !          5013:     int Y,
        !          5014:     int nWidth,
        !          5015:     int nHeight,
        !          5016:     HWND hWndParent,
        !          5017:     HINSTANCE hInstance,
        !          5018:     LONG lParam
        !          5019:     );
        !          5020: #ifdef UNICODE
        !          5021: #define CreateMDIWindow CreateMDIWindowW
        !          5022: #else
        !          5023: #define CreateMDIWindow CreateMDIWindowA
        !          5024: #endif // !UNICODE
        !          5025: 
        !          5026: #endif /* NOMDI */
        !          5027: #endif /* NOUSER */
        !          5028: 
        !          5029: /****** Help support ********************************************************/
        !          5030: 
        !          5031: #ifndef NOHELP
        !          5032: 
        !          5033: typedef DWORD HELPPOLY;
        !          5034: typedef struct tagMULTIKEYHELPA {
        !          5035:     DWORD mkSize;
        !          5036:     CHAR   mkKeylist;
        !          5037:     CHAR   szKeyphrase[1];
        !          5038: } MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
        !          5039: typedef struct tagMULTIKEYHELPW {
        !          5040:     DWORD mkSize;
        !          5041:     WCHAR  mkKeylist;
        !          5042:     WCHAR  szKeyphrase[1];
        !          5043: } MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
        !          5044: #ifdef UNICODE
        !          5045: #define MULTIKEYHELP MULTIKEYHELPW
        !          5046: #define PMULTIKEYHELP PMULTIKEYHELPW
        !          5047: #define LPMULTIKEYHELP LPMULTIKEYHELPW
        !          5048: #else
        !          5049: #define MULTIKEYHELP MULTIKEYHELPA
        !          5050: #define PMULTIKEYHELP PMULTIKEYHELPA
        !          5051: #define LPMULTIKEYHELP LPMULTIKEYHELPA
        !          5052: #endif // UNICODE
        !          5053: 
        !          5054: typedef struct tagHELPWININFOA {
        !          5055:     int  wStructSize;
        !          5056:     int  x;
        !          5057:     int  y;
        !          5058:     int  dx;
        !          5059:     int  dy;
        !          5060:     int  wMax;
        !          5061:     CHAR   rgchMember[2];
        !          5062: } HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;
        !          5063: typedef struct tagHELPWININFOW {
        !          5064:     int  wStructSize;
        !          5065:     int  x;
        !          5066:     int  y;
        !          5067:     int  dx;
        !          5068:     int  dy;
        !          5069:     int  wMax;
        !          5070:     WCHAR  rgchMember[2];
        !          5071: } HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
        !          5072: #ifdef UNICODE
        !          5073: #define HELPWININFO HELPWININFOW
        !          5074: #define PHELPWININFO PHELPWININFOW
        !          5075: #define LPHELPWININFO LPHELPWININFOW
        !          5076: #else
        !          5077: #define HELPWININFO HELPWININFOA
        !          5078: #define PHELPWININFO PHELPWININFOA
        !          5079: #define LPHELPWININFO LPHELPWININFOA
        !          5080: #endif // UNICODE
        !          5081: 
        !          5082: //
        !          5083: // Commands to pass WinHelp()
        !          5084: //
        !          5085: 
        !          5086: #define HELP_CONTEXT      0x0001L  /* Display topic in ulTopic */
        !          5087: #define HELP_QUIT         0x0002L  /* Terminate help */
        !          5088: #define HELP_INDEX        0x0003L  /* Display index */
        !          5089: #define HELP_CONTENTS     0x0003L
        !          5090: #define HELP_HELPONHELP   0x0004L  /* Display help on using help */
        !          5091: #define HELP_SETINDEX     0x0005L  /* Set current Index for multi index help */
        !          5092: #define HELP_SETCONTENTS  0x0005L
        !          5093: #define HELP_CONTEXTPOPUP 0x0008L
        !          5094: #define HELP_FORCEFILE    0x0009L
        !          5095: #define HELP_KEY          0x0101L  /* Display topic for keyword in offabData */
        !          5096: #define HELP_COMMAND      0x0102L
        !          5097: #define HELP_PARTIALKEY   0x0105L
        !          5098: #define HELP_MULTIKEY     0x0201L
        !          5099: #define HELP_SETWINPOS    0x0203L
        !          5100: 
        !          5101: 
        !          5102: BOOL
        !          5103: WINAPI
        !          5104: WinHelpA(
        !          5105:     HWND hwndMain,
        !          5106:     LPCSTR lpszHelp,
        !          5107:     UINT uCommand,
        !          5108:     DWORD dwData
        !          5109:     );
        !          5110: BOOL
        !          5111: WINAPI
        !          5112: WinHelpW(
        !          5113:     HWND hwndMain,
        !          5114:     LPCWSTR lpszHelp,
        !          5115:     UINT uCommand,
        !          5116:     DWORD dwData
        !          5117:     );
        !          5118: #ifdef UNICODE
        !          5119: #define WinHelp WinHelpW
        !          5120: #else
        !          5121: #define WinHelp WinHelpA
        !          5122: #endif // !UNICODE
        !          5123: 
        !          5124: #endif /* NOHELP */
        !          5125: 
        !          5126: #ifndef NOPROFILER
        !          5127: 
        !          5128: /* function declarations for profiler routines contained in Windows libraries */
        !          5129: int
        !          5130: WINAPI
        !          5131: ProfInsChk(
        !          5132:     VOID);
        !          5133: 
        !          5134: VOID
        !          5135: WINAPI
        !          5136: ProfSetup(
        !          5137:     int,
        !          5138:     int);
        !          5139: 
        !          5140: VOID
        !          5141: WINAPI
        !          5142: ProfSampRate(
        !          5143:     int,
        !          5144:     int);
        !          5145: 
        !          5146: VOID
        !          5147: WINAPI
        !          5148: ProfStart(
        !          5149:     VOID);
        !          5150: 
        !          5151: VOID
        !          5152: WINAPI
        !          5153: ProfStop(
        !          5154:     VOID);
        !          5155: 
        !          5156: VOID
        !          5157: WINAPI
        !          5158: ProfClear(
        !          5159:     VOID);
        !          5160: 
        !          5161: VOID
        !          5162: WINAPI
        !          5163: ProfFlush(
        !          5164:     VOID);
        !          5165: 
        !          5166: VOID
        !          5167: WINAPI
        !          5168: ProfFinish(
        !          5169:     VOID);
        !          5170: 
        !          5171: #endif /* NOPROFILER */
        !          5172: 
        !          5173: #ifndef NOSYSPARAMSINFO
        !          5174: /* Parameter for SystemParametersInfo() */
        !          5175: 
        !          5176: #define SPI_GETBEEP                 1
        !          5177: #define SPI_SETBEEP                 2
        !          5178: #define SPI_GETMOUSE                3
        !          5179: #define SPI_SETMOUSE                4
        !          5180: #define SPI_GETBORDER               5
        !          5181: #define SPI_SETBORDER               6
        !          5182: #define SPI_TIMEOUTS                7
        !          5183: #define SPI_GETKEYBOARDSPEED       10
        !          5184: #define SPI_SETKEYBOARDSPEED       11
        !          5185: #define SPI_LANGDRIVER             12
        !          5186: #define SPI_ICONHORIZONTALSPACING  13
        !          5187: #define SPI_GETSCREENSAVETIMEOUT   14
        !          5188: #define SPI_SETSCREENSAVETIMEOUT   15
        !          5189: #define SPI_GETSCREENSAVEACTIVE    16
        !          5190: #define SPI_SETSCREENSAVEACTIVE    17
        !          5191: #define SPI_GETGRIDGRANULARITY     18
        !          5192: #define SPI_SETGRIDGRANULARITY     19
        !          5193: #define SPI_SETDESKWALLPAPER       20
        !          5194: #define SPI_SETDESKPATTERN         21
        !          5195: #define SPI_GETKEYBOARDDELAY       22
        !          5196: #define SPI_SETKEYBOARDDELAY       23
        !          5197: #define SPI_ICONVERTICALSPACING    24
        !          5198: #define SPI_GETICONTITLEWRAP       25
        !          5199: #define SPI_SETICONTITLEWRAP       26
        !          5200: #define SPI_GETMENUDROPALIGNMENT   27
        !          5201: #define SPI_SETMENUDROPALIGNMENT   28
        !          5202: #define SPI_SETDOUBLECLKWIDTH      29
        !          5203: #define SPI_SETDOUBLECLKHEIGHT     30
        !          5204: #define SPI_GETICONTITLELOGFONT    31
        !          5205: #define SPI_SETDOUBLECLICKTIME     32
        !          5206: #define SPI_SETMOUSEBUTTONSWAP     33
        !          5207: #define SPI_SETICONTITLELOGFONT    34
        !          5208: #define SPI_GETFASTTASKSWITCH      35
        !          5209: #define SPI_SETFASTTASKSWITCH      36
        !          5210: #define SPI_MAX                    36
        !          5211: 
        !          5212: 
        !          5213: BOOL
        !          5214: WINAPI
        !          5215: SystemParametersInfoA(
        !          5216:     UINT,
        !          5217:     UINT,
        !          5218:     PVOID,
        !          5219:     UINT);
        !          5220: BOOL
        !          5221: WINAPI
        !          5222: SystemParametersInfoW(
        !          5223:     UINT,
        !          5224:     UINT,
        !          5225:     PVOID,
        !          5226:     UINT);
        !          5227: #ifdef UNICODE
        !          5228: #define SystemParametersInfo SystemParametersInfoW
        !          5229: #else
        !          5230: #define SystemParametersInfo SystemParametersInfoA
        !          5231: #endif // !UNICODE
        !          5232: 
        !          5233: /* Flags */
        !          5234: #define SPIF_UPDATEINIFILE    0x0001
        !          5235: #define SPIF_SENDWININICHANGE 0x0002
        !          5236: 
        !          5237: #endif  /* NOSYSPARAMSINFO  */
        !          5238: #endif // _WINUSER_

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.