Annotation of mstools/h/winuser.h, revision 1.1.1.3

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

unix.superglobalmegacorp.com

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