winuser.h
资源名称:USBView.rar [点击查看]
上传用户:gzccxsp
上传日期:2015-07-14
资源大小:182k
文件大小:238k
源码类别:
MacOS编程
开发平台:
Visual C++
- UINT uPos;
- HMENU hmenu;
- PVOID riid;
- PVOID pvObj;
- } MENUGETOBJECTINFO, * PMENUGETOBJECTINFO;
- /*
- * MENUGETOBJECTINFO dwFlags values
- */
- #define MNGOF_GAP 0x00000003
- /*
- * WM_MENUGETOBJECT return values
- */
- #define MNGO_NOINTERFACE 0x00000000
- #define MNGO_NOERROR 0x00000001
- #endif /* _WIN32_WINDOWS >= 0x040a */
- #if(WINVER >= 0x0400)
- #define MIIM_STATE 0x00000001
- #define MIIM_ID 0x00000002
- #define MIIM_SUBMENU 0x00000004
- #define MIIM_CHECKMARKS 0x00000008
- #define MIIM_TYPE 0x00000010
- #define MIIM_DATA 0x00000020
- #endif /* WINVER >= 0x0400 */
- #if(_WIN32_WINDOWS >= 0x040a)
- #define MIIM_STRING 0x00000040
- #define MIIM_BITMAP 0x00000080
- #define MIIM_FTYPE 0x00000100
- #define HBM_BITMAPCALLBACK (HBITMAP)(-1)
- #define HBMMENU_MBAR_RESTORE ((HBITMAP) 2)
- #define HBMMENU_MBAR_MINIMIZE ((HBITMAP) 3)
- #define HBMMENU_BULLET ((HBITMAP) 4)
- #define HBMMENU_MBAR_CLOSE ((HBITMAP) 5)
- #define HBMMENU_MBAR_CLOSE_D ((HBITMAP) 6)
- #define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP) 7)
- #define HBMMENU_POPUP_CLOSE ((HBITMAP) 8)
- #define HBMMENU_POPUP_RESTORE ((HBITMAP) 9)
- #define HBMMENU_POPUP_MAXIMIZE ((HBITMAP) 10)
- #define HBMMENU_POPUP_MINIMIZE ((HBITMAP) 11)
- #endif /* _WIN32_WINDOWS >= 0x040a */
- #if(WINVER >= 0x0400)
- typedef struct tagMENUITEMINFOA
- {
- UINT cbSize;
- UINT fMask;
- UINT fType; // used if MIIM_TYPE
- UINT fState; // used if MIIM_STATE
- UINT wID; // used if MIIM_ID
- HMENU hSubMenu; // used if MIIM_SUBMENU
- HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS
- HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS
- DWORD dwItemData; // used if MIIM_DATA
- LPSTR dwTypeData; // used if MIIM_STRING
- UINT cch; // used if MIIM_STRING
- #if(_WIN32_WINDOWS >= 0x040a)
- HBITMAP hbmpItem; // used if MIIM_BITMAP
- #endif /* _WIN32_WINDOWS >= 0x040a */
- } MENUITEMINFOA, FAR *LPMENUITEMINFOA;
- typedef struct tagMENUITEMINFOW
- {
- UINT cbSize;
- UINT fMask;
- UINT fType; // used if MIIM_TYPE
- UINT fState; // used if MIIM_STATE
- UINT wID; // used if MIIM_ID
- HMENU hSubMenu; // used if MIIM_SUBMENU
- HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS
- HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS
- DWORD dwItemData; // used if MIIM_DATA
- LPWSTR dwTypeData; // used if MIIM_STRING
- UINT cch; // used if MIIM_STRING
- #if(_WIN32_WINDOWS >= 0x040a)
- HBITMAP hbmpItem; // used if MIIM_BITMAP
- #endif /* _WIN32_WINDOWS >= 0x040a */
- } MENUITEMINFOW, FAR *LPMENUITEMINFOW;
- #ifdef UNICODE
- typedef MENUITEMINFOW MENUITEMINFO;
- typedef LPMENUITEMINFOW LPMENUITEMINFO;
- #else
- typedef MENUITEMINFOA MENUITEMINFO;
- typedef LPMENUITEMINFOA LPMENUITEMINFO;
- #endif // UNICODE
- typedef MENUITEMINFOA CONST FAR *LPCMENUITEMINFOA;
- typedef MENUITEMINFOW CONST FAR *LPCMENUITEMINFOW;
- #ifdef UNICODE
- typedef LPCMENUITEMINFOW LPCMENUITEMINFO;
- #else
- typedef LPCMENUITEMINFOA LPCMENUITEMINFO;
- #endif // UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- InsertMenuItemA(
- HMENU,
- UINT,
- BOOL,
- LPCMENUITEMINFOA
- );
- WINUSERAPI
- BOOL
- WINAPI
- InsertMenuItemW(
- HMENU,
- UINT,
- BOOL,
- LPCMENUITEMINFOW
- );
- #ifdef UNICODE
- #define InsertMenuItem InsertMenuItemW
- #else
- #define InsertMenuItem InsertMenuItemA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- GetMenuItemInfoA(
- HMENU,
- UINT,
- BOOL,
- LPMENUITEMINFOA
- );
- WINUSERAPI
- BOOL
- WINAPI
- GetMenuItemInfoW(
- HMENU,
- UINT,
- BOOL,
- LPMENUITEMINFOW
- );
- #ifdef UNICODE
- #define GetMenuItemInfo GetMenuItemInfoW
- #else
- #define GetMenuItemInfo GetMenuItemInfoA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- SetMenuItemInfoA(
- HMENU,
- UINT,
- BOOL,
- LPCMENUITEMINFOA
- );
- WINUSERAPI
- BOOL
- WINAPI
- SetMenuItemInfoW(
- HMENU,
- UINT,
- BOOL,
- LPCMENUITEMINFOW
- );
- #ifdef UNICODE
- #define SetMenuItemInfo SetMenuItemInfoW
- #else
- #define SetMenuItemInfo SetMenuItemInfoA
- #endif // !UNICODE
- #define GMDI_USEDISABLED 0x0001L
- #define GMDI_GOINTOPOPUPS 0x0002L
- WINUSERAPI UINT WINAPI GetMenuDefaultItem(HMENU hMenu, UINT fByPos, UINT gmdiFlags);
- WINUSERAPI BOOL WINAPI SetMenuDefaultItem(HMENU hMenu, UINT uItem, UINT fByPos);
- WINUSERAPI BOOL WINAPI GetMenuItemRect(HWND hWnd, HMENU hMenu, UINT uItem, LPRECT lprcItem);
- WINUSERAPI int WINAPI MenuItemFromPoint(HWND hWnd, HMENU hMenu, POINT ptScreen);
- #endif /* WINVER >= 0x0400 */
- /*
- * Flags for TrackPopupMenu
- */
- #define TPM_LEFTBUTTON 0x0000L
- #define TPM_RIGHTBUTTON 0x0002L
- #define TPM_LEFTALIGN 0x0000L
- #define TPM_CENTERALIGN 0x0004L
- #define TPM_RIGHTALIGN 0x0008L
- #if(WINVER >= 0x0400)
- #define TPM_TOPALIGN 0x0000L
- #define TPM_VCENTERALIGN 0x0010L
- #define TPM_BOTTOMALIGN 0x0020L
- #define TPM_HORIZONTAL 0x0000L /* Horz alignment matters more */
- #define TPM_VERTICAL 0x0040L /* Vert alignment matters more */
- #define TPM_NONOTIFY 0x0080L /* Don't send any notification msgs */
- #define TPM_RETURNCMD 0x0100L
- #endif /* WINVER >= 0x0400 */
- #if (_WIN32_WINDOWS >= 0x040A)
- #define TPM_RECURSE 0x0001L
- #define TPM_HORPOSANIMATION 0x0400L
- #define TPM_HORNEGANIMATION 0x0800L
- #define TPM_VERPOSANIMATION 0x1000L
- #define TPM_VERNEGANIMATION 0x2000L
- #endif
- #if(_WIN32_WINDOWS >= 0x040a)
- #define TPM_VALID (TPM_LEFTBUTTON |
- TPM_RIGHTBUTTON |
- TPM_LEFTALIGN |
- TPM_CENTERALIGN |
- TPM_RIGHTALIGN |
- TPM_TOPALIGN |
- TPM_VCENTERALIGN |
- TPM_BOTTOMALIGN |
- TPM_HORIZONTAL |
- TPM_VERTICAL |
- TPM_NONOTIFY |
- TPM_RECURSE |
- TPM_RETURNCMD)
- #endif /* _WIN32_WINDOWS >= 0x040a */
- #endif /* !NOMENUS */
- #if(WINVER >= 0x0400)
- //
- // Drag-and-drop support
- //
- typedef struct tagDROPSTRUCT
- {
- HWND hwndSource;
- HWND hwndSink;
- DWORD wFmt;
- DWORD dwData;
- POINT ptDrop;
- DWORD dwControlData;
- } DROPSTRUCT, *PDROPSTRUCT, *LPDROPSTRUCT;
- #define DOF_EXECUTABLE 0x8001 // wFmt flags
- #define DOF_DOCUMENT 0x8002
- #define DOF_DIRECTORY 0x8003
- #define DOF_MULTIPLE 0x8004
- #define DOF_PROGMAN 0x0001
- #define DOF_SHELLDATA 0x0002
- #define DO_DROPFILE 0x454C4946L
- #define DO_PRINTFILE 0x544E5250L
- WINUSERAPI
- DWORD
- WINAPI
- DragObject(HWND, HWND, UINT, DWORD, HCURSOR);
- WINUSERAPI
- BOOL
- WINAPI
- DragDetect(HWND, POINT);
- #endif /* WINVER >= 0x0400 */
- WINUSERAPI
- BOOL
- WINAPI
- DrawIcon(
- HDC hDC,
- int X,
- int Y,
- HICON hIcon);
- #ifndef NODRAWTEXT
- /*
- * DrawText() Format Flags
- */
- #define DT_TOP 0x00000000
- #define DT_LEFT 0x00000000
- #define DT_CENTER 0x00000001
- #define DT_RIGHT 0x00000002
- #define DT_VCENTER 0x00000004
- #define DT_BOTTOM 0x00000008
- #define DT_WORDBREAK 0x00000010
- #define DT_SINGLELINE 0x00000020
- #define DT_EXPANDTABS 0x00000040
- #define DT_TABSTOP 0x00000080
- #define DT_NOCLIP 0x00000100
- #define DT_EXTERNALLEADING 0x00000200
- #define DT_CALCRECT 0x00000400
- #define DT_NOPREFIX 0x00000800
- #define DT_INTERNAL 0x00001000
- #if(WINVER >= 0x0400)
- #define DT_EDITCONTROL 0x00002000
- #define DT_PATH_ELLIPSIS 0x00004000
- #define DT_END_ELLIPSIS 0x00008000
- #define DT_MODIFYSTRING 0x00010000
- #define DT_RTLREADING 0x00020000
- #define DT_WORD_ELLIPSIS 0x00040000
- #if (_WIN32_WINDOWS >= 0x040A)
- #define DT_NOFULLWIDTHCHARBREAK 0x00080000
- #endif
- typedef struct tagDRAWTEXTPARAMS
- {
- UINT cbSize;
- int iTabLength;
- int iLeftMargin;
- int iRightMargin;
- UINT uiLengthDrawn;
- } DRAWTEXTPARAMS, FAR *LPDRAWTEXTPARAMS;
- #endif /* WINVER >= 0x0400 */
- WINUSERAPI
- int
- WINAPI
- DrawTextA(
- HDC hDC,
- LPCSTR lpString,
- int nCount,
- LPRECT lpRect,
- UINT uFormat);
- WINUSERAPI
- int
- WINAPI
- DrawTextW(
- HDC hDC,
- LPCWSTR lpString,
- int nCount,
- LPRECT lpRect,
- UINT uFormat);
- #ifdef UNICODE
- #define DrawText DrawTextW
- #else
- #define DrawText DrawTextA
- #endif // !UNICODE
- #if(WINVER >= 0x0400)
- WINUSERAPI
- int
- WINAPI
- DrawTextExA(HDC, LPSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
- WINUSERAPI
- int
- WINAPI
- DrawTextExW(HDC, LPWSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
- #ifdef UNICODE
- #define DrawTextEx DrawTextExW
- #else
- #define DrawTextEx DrawTextExA
- #endif // !UNICODE
- #endif /* WINVER >= 0x0400 */
- #endif /* !NODRAWTEXT */
- WINUSERAPI
- BOOL
- WINAPI
- GrayStringA(
- HDC hDC,
- HBRUSH hBrush,
- GRAYSTRINGPROC lpOutputFunc,
- LPARAM lpData,
- int nCount,
- int X,
- int Y,
- int nWidth,
- int nHeight);
- WINUSERAPI
- BOOL
- WINAPI
- GrayStringW(
- HDC hDC,
- HBRUSH hBrush,
- GRAYSTRINGPROC lpOutputFunc,
- LPARAM lpData,
- int nCount,
- int X,
- int Y,
- int nWidth,
- int nHeight);
- #ifdef UNICODE
- #define GrayString GrayStringW
- #else
- #define GrayString GrayStringA
- #endif // !UNICODE
- #if(WINVER >= 0x0400)
- /* Monolithic state-drawing routine */
- /* Image type */
- #define DST_COMPLEX 0x0000
- #define DST_TEXT 0x0001
- #define DST_PREFIXTEXT 0x0002
- #define DST_ICON 0x0003
- #define DST_BITMAP 0x0004
- /* State type */
- #define DSS_NORMAL 0x0000
- #define DSS_UNION 0x0010 /* Gray string appearance */
- #define DSS_DISABLED 0x0020
- #define DSS_MONO 0x0080
- #define DSS_RIGHT 0x8000
- WINUSERAPI BOOL WINAPI DrawStateA(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
- WINUSERAPI BOOL WINAPI DrawStateW(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
- #ifdef UNICODE
- #define DrawState DrawStateW
- #else
- #define DrawState DrawStateA
- #endif // !UNICODE
- #endif /* WINVER >= 0x0400 */
- WINUSERAPI
- LONG
- WINAPI
- TabbedTextOutA(
- HDC hDC,
- int X,
- int Y,
- LPCSTR lpString,
- int nCount,
- int nTabPositions,
- LPINT lpnTabStopPositions,
- int nTabOrigin);
- WINUSERAPI
- LONG
- WINAPI
- TabbedTextOutW(
- HDC hDC,
- int X,
- int Y,
- LPCWSTR lpString,
- int nCount,
- int nTabPositions,
- LPINT lpnTabStopPositions,
- int nTabOrigin);
- #ifdef UNICODE
- #define TabbedTextOut TabbedTextOutW
- #else
- #define TabbedTextOut TabbedTextOutA
- #endif // !UNICODE
- WINUSERAPI
- DWORD
- WINAPI
- GetTabbedTextExtentA(
- HDC hDC,
- LPCSTR lpString,
- int nCount,
- int nTabPositions,
- LPINT lpnTabStopPositions);
- WINUSERAPI
- DWORD
- WINAPI
- GetTabbedTextExtentW(
- HDC hDC,
- LPCWSTR lpString,
- int nCount,
- int nTabPositions,
- LPINT lpnTabStopPositions);
- #ifdef UNICODE
- #define GetTabbedTextExtent GetTabbedTextExtentW
- #else
- #define GetTabbedTextExtent GetTabbedTextExtentA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- UpdateWindow(
- HWND hWnd);
- WINUSERAPI
- HWND
- WINAPI
- SetActiveWindow(
- HWND hWnd);
- WINUSERAPI
- HWND
- WINAPI
- GetForegroundWindow(
- VOID);
- #if(WINVER >= 0x0400)
- WINUSERAPI BOOL WINAPI PaintDesktop(HDC hdc);
- #endif /* WINVER >= 0x0400 */
- WINUSERAPI
- BOOL
- WINAPI
- SetForegroundWindow(
- HWND hWnd);
- #if (_WIN32_WINDOWS >= 0x045A)
- WINUSERAPI
- BOOL
- WINAPI
- AllowSetForegroundWindow(
- DWORD dwProcessId);
- #define ASFW_ANY ((DWORD)-1)
- WINUSERAPI
- BOOL
- WINAPI
- LockSetForegroundWindow(
- UINT uLockCode);
- #define LSFW_LOCK 1
- #define LSFW_UNLOCK 2
- #endif // (_WIN32_WINDOWS >= 0x045A)
- WINUSERAPI
- HWND
- WINAPI
- WindowFromDC(
- HDC hDC);
- WINUSERAPI
- HDC
- WINAPI
- GetDC(
- HWND hWnd);
- WINUSERAPI
- HDC
- WINAPI
- GetDCEx(
- HWND hWnd ,
- HRGN hrgnClip,
- DWORD flags);
- /*
- * GetDCEx() flags
- */
- #define DCX_WINDOW 0x00000001L
- #define DCX_CACHE 0x00000002L
- #define DCX_NORESETATTRS 0x00000004L
- #define DCX_CLIPCHILDREN 0x00000008L
- #define DCX_CLIPSIBLINGS 0x00000010L
- #define DCX_PARENTCLIP 0x00000020L
- #define DCX_EXCLUDERGN 0x00000040L
- #define DCX_INTERSECTRGN 0x00000080L
- #define DCX_EXCLUDEUPDATE 0x00000100L
- #define DCX_INTERSECTUPDATE 0x00000200L
- #define DCX_LOCKWINDOWUPDATE 0x00000400L
- #define DCX_VALIDATE 0x00200000L
- #if(_WIN32_WINDOWS >= 0x040a)
- #define DCX_MONITOR 0x00004000L
- #endif /* _WIN32_WINDOWS >= 0x040a */
- WINUSERAPI
- HDC
- WINAPI
- GetWindowDC(
- HWND hWnd);
- WINUSERAPI
- int
- WINAPI
- ReleaseDC(
- HWND hWnd,
- HDC hDC);
- WINUSERAPI
- HDC
- WINAPI
- BeginPaint(
- HWND hWnd,
- LPPAINTSTRUCT lpPaint);
- WINUSERAPI
- BOOL
- WINAPI
- EndPaint(
- HWND hWnd,
- CONST PAINTSTRUCT *lpPaint);
- WINUSERAPI
- BOOL
- WINAPI
- GetUpdateRect(
- HWND hWnd,
- LPRECT lpRect,
- BOOL bErase);
- WINUSERAPI
- int
- WINAPI
- GetUpdateRgn(
- HWND hWnd,
- HRGN hRgn,
- BOOL bErase);
- WINUSERAPI
- int
- WINAPI
- SetWindowRgn(
- HWND hWnd,
- HRGN hRgn,
- BOOL bRedraw);
- WINUSERAPI
- int
- WINAPI
- GetWindowRgn(
- HWND hWnd,
- HRGN hRgn);
- WINUSERAPI
- int
- WINAPI
- ExcludeUpdateRgn(
- HDC hDC,
- HWND hWnd);
- WINUSERAPI
- BOOL
- WINAPI
- InvalidateRect(
- HWND hWnd ,
- CONST RECT *lpRect,
- BOOL bErase);
- WINUSERAPI
- BOOL
- WINAPI
- ValidateRect(
- HWND hWnd ,
- CONST RECT *lpRect);
- WINUSERAPI
- BOOL
- WINAPI
- InvalidateRgn(
- HWND hWnd,
- HRGN hRgn,
- BOOL bErase);
- WINUSERAPI
- BOOL
- WINAPI
- ValidateRgn(
- HWND hWnd,
- HRGN hRgn);
- WINUSERAPI
- BOOL
- WINAPI
- RedrawWindow(
- HWND hWnd,
- CONST RECT *lprcUpdate,
- HRGN hrgnUpdate,
- UINT flags);
- /*
- * RedrawWindow() flags
- */
- #define RDW_INVALIDATE 0x0001
- #define RDW_INTERNALPAINT 0x0002
- #define RDW_ERASE 0x0004
- #define RDW_VALIDATE 0x0008
- #define RDW_NOINTERNALPAINT 0x0010
- #define RDW_NOERASE 0x0020
- #define RDW_NOCHILDREN 0x0040
- #define RDW_ALLCHILDREN 0x0080
- #define RDW_UPDATENOW 0x0100
- #define RDW_ERASENOW 0x0200
- #define RDW_FRAME 0x0400
- #define RDW_NOFRAME 0x0800
- /*
- * LockWindowUpdate API
- */
- WINUSERAPI
- BOOL
- WINAPI
- LockWindowUpdate(
- HWND hWndLock);
- WINUSERAPI
- BOOL
- WINAPI
- ScrollWindow(
- HWND hWnd,
- int XAmount,
- int YAmount,
- CONST RECT *lpRect,
- CONST RECT *lpClipRect);
- WINUSERAPI
- BOOL
- WINAPI
- ScrollDC(
- HDC hDC,
- int dx,
- int dy,
- CONST RECT *lprcScroll,
- CONST RECT *lprcClip ,
- HRGN hrgnUpdate,
- LPRECT lprcUpdate);
- WINUSERAPI
- int
- WINAPI
- ScrollWindowEx(
- HWND hWnd,
- int dx,
- int dy,
- CONST RECT *prcScroll,
- CONST RECT *prcClip ,
- HRGN hrgnUpdate,
- LPRECT prcUpdate,
- UINT flags);
- #define SW_SCROLLCHILDREN 0x0001 /* Scroll children within *lprcScroll. */
- #define SW_INVALIDATE 0x0002 /* Invalidate after scrolling */
- #define SW_ERASE 0x0004 /* If SW_INVALIDATE, don't send WM_ERASEBACKGROUND */
- #if (_WIN32_WINDOWS >= 0x040A)
- #define SW_SMOOTHSCROLL 0x0010 /* Use smooth scrolling */
- #endif // (_WIN32_WINDOWS >= 0x040A)
- #ifndef NOSCROLL
- WINUSERAPI
- int
- WINAPI
- SetScrollPos(
- HWND hWnd,
- int nBar,
- int nPos,
- BOOL bRedraw);
- WINUSERAPI
- int
- WINAPI
- GetScrollPos(
- HWND hWnd,
- int nBar);
- WINUSERAPI
- BOOL
- WINAPI
- SetScrollRange(
- HWND hWnd,
- int nBar,
- int nMinPos,
- int nMaxPos,
- BOOL bRedraw);
- WINUSERAPI
- BOOL
- WINAPI
- GetScrollRange(
- HWND hWnd,
- int nBar,
- LPINT lpMinPos,
- LPINT lpMaxPos);
- WINUSERAPI
- BOOL
- WINAPI
- ShowScrollBar(
- HWND hWnd,
- int wBar,
- BOOL bShow);
- WINUSERAPI
- BOOL
- WINAPI
- EnableScrollBar(
- HWND hWnd,
- UINT wSBflags,
- UINT wArrows);
- /*
- * EnableScrollBar() flags
- */
- #define ESB_ENABLE_BOTH 0x0000
- #define ESB_DISABLE_BOTH 0x0003
- #define ESB_DISABLE_LEFT 0x0001
- #define ESB_DISABLE_RIGHT 0x0002
- #define ESB_DISABLE_UP 0x0001
- #define ESB_DISABLE_DOWN 0x0002
- #define ESB_DISABLE_LTUP ESB_DISABLE_LEFT
- #define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT
- #endif /* !NOSCROLL */
- WINUSERAPI
- BOOL
- WINAPI
- SetPropA(
- HWND hWnd,
- LPCSTR lpString,
- HANDLE hData);
- WINUSERAPI
- BOOL
- WINAPI
- SetPropW(
- HWND hWnd,
- LPCWSTR lpString,
- HANDLE hData);
- #ifdef UNICODE
- #define SetProp SetPropW
- #else
- #define SetProp SetPropA
- #endif // !UNICODE
- WINUSERAPI
- HANDLE
- WINAPI
- GetPropA(
- HWND hWnd,
- LPCSTR lpString);
- WINUSERAPI
- HANDLE
- WINAPI
- GetPropW(
- HWND hWnd,
- LPCWSTR lpString);
- #ifdef UNICODE
- #define GetProp GetPropW
- #else
- #define GetProp GetPropA
- #endif // !UNICODE
- WINUSERAPI
- HANDLE
- WINAPI
- RemovePropA(
- HWND hWnd,
- LPCSTR lpString);
- WINUSERAPI
- HANDLE
- WINAPI
- RemovePropW(
- HWND hWnd,
- LPCWSTR lpString);
- #ifdef UNICODE
- #define RemoveProp RemovePropW
- #else
- #define RemoveProp RemovePropA
- #endif // !UNICODE
- WINUSERAPI
- int
- WINAPI
- EnumPropsExA(
- HWND hWnd,
- PROPENUMPROCEXA lpEnumFunc,
- LPARAM lParam);
- WINUSERAPI
- int
- WINAPI
- EnumPropsExW(
- HWND hWnd,
- PROPENUMPROCEXW lpEnumFunc,
- LPARAM lParam);
- #ifdef UNICODE
- #define EnumPropsEx EnumPropsExW
- #else
- #define EnumPropsEx EnumPropsExA
- #endif // !UNICODE
- WINUSERAPI
- int
- WINAPI
- EnumPropsA(
- HWND hWnd,
- PROPENUMPROCA lpEnumFunc);
- WINUSERAPI
- int
- WINAPI
- EnumPropsW(
- HWND hWnd,
- PROPENUMPROCW lpEnumFunc);
- #ifdef UNICODE
- #define EnumProps EnumPropsW
- #else
- #define EnumProps EnumPropsA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- SetWindowTextA(
- HWND hWnd,
- LPCSTR lpString);
- WINUSERAPI
- BOOL
- WINAPI
- SetWindowTextW(
- HWND hWnd,
- LPCWSTR lpString);
- #ifdef UNICODE
- #define SetWindowText SetWindowTextW
- #else
- #define SetWindowText SetWindowTextA
- #endif // !UNICODE
- WINUSERAPI
- int
- WINAPI
- GetWindowTextA(
- HWND hWnd,
- LPSTR lpString,
- int nMaxCount);
- WINUSERAPI
- int
- WINAPI
- GetWindowTextW(
- HWND hWnd,
- LPWSTR lpString,
- int nMaxCount);
- #ifdef UNICODE
- #define GetWindowText GetWindowTextW
- #else
- #define GetWindowText GetWindowTextA
- #endif // !UNICODE
- WINUSERAPI
- int
- WINAPI
- GetWindowTextLengthA(
- HWND hWnd);
- WINUSERAPI
- int
- WINAPI
- GetWindowTextLengthW(
- HWND hWnd);
- #ifdef UNICODE
- #define GetWindowTextLength GetWindowTextLengthW
- #else
- #define GetWindowTextLength GetWindowTextLengthA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- GetClientRect(
- HWND hWnd,
- LPRECT lpRect);
- WINUSERAPI
- BOOL
- WINAPI
- GetWindowRect(
- HWND hWnd,
- LPRECT lpRect);
- WINUSERAPI
- BOOL
- WINAPI
- AdjustWindowRect(
- LPRECT lpRect,
- DWORD dwStyle,
- BOOL bMenu);
- WINUSERAPI
- BOOL
- WINAPI
- AdjustWindowRectEx(
- LPRECT lpRect,
- DWORD dwStyle,
- BOOL bMenu,
- DWORD dwExStyle);
- #if(WINVER >= 0x0400)
- #define HELPINFO_WINDOW 0x0001
- #define HELPINFO_MENUITEM 0x0002
- typedef struct tagHELPINFO /* Structure pointed to by lParam of WM_HELP */
- {
- UINT cbSize; /* Size in bytes of this struct */
- int iContextType; /* Either HELPINFO_WINDOW or HELPINFO_MENUITEM */
- int iCtrlId; /* Control Id or a Menu item Id. */
- HANDLE hItemHandle; /* hWnd of control or hMenu. */
- DWORD dwContextId; /* Context Id associated with this item */
- POINT MousePos; /* Mouse Position in screen co-ordinates */
- } HELPINFO, FAR *LPHELPINFO;
- WINUSERAPI BOOL WINAPI SetWindowContextHelpId(HWND, DWORD);
- WINUSERAPI DWORD WINAPI GetWindowContextHelpId(HWND);
- WINUSERAPI BOOL WINAPI SetMenuContextHelpId(HMENU, DWORD);
- WINUSERAPI DWORD WINAPI GetMenuContextHelpId(HMENU);
- #endif /* WINVER >= 0x0400 */
- #ifndef NOMB
- /*
- * MessageBox() Flags
- */
- #define MB_OK 0x00000000L
- #define MB_OKCANCEL 0x00000001L
- #define MB_ABORTRETRYIGNORE 0x00000002L
- #define MB_YESNOCANCEL 0x00000003L
- #define MB_YESNO 0x00000004L
- #define MB_RETRYCANCEL 0x00000005L
- #define MB_ICONHAND 0x00000010L
- #define MB_ICONQUESTION 0x00000020L
- #define MB_ICONEXCLAMATION 0x00000030L
- #define MB_ICONASTERISK 0x00000040L
- #if(WINVER >= 0x0400)
- #define MB_USERICON 0x00000080L
- #define MB_ICONWARNING MB_ICONEXCLAMATION
- #define MB_ICONERROR MB_ICONHAND
- #endif /* WINVER >= 0x0400 */
- #define MB_ICONINFORMATION MB_ICONASTERISK
- #define MB_ICONSTOP MB_ICONHAND
- #define MB_DEFBUTTON1 0x00000000L
- #define MB_DEFBUTTON2 0x00000100L
- #define MB_DEFBUTTON3 0x00000200L
- #if(WINVER >= 0x0400)
- #define MB_DEFBUTTON4 0x00000300L
- #endif /* WINVER >= 0x0400 */
- #define MB_APPLMODAL 0x00000000L
- #define MB_SYSTEMMODAL 0x00001000L
- #define MB_TASKMODAL 0x00002000L
- #if(WINVER >= 0x0400)
- #define MB_HELP 0x00004000L // Help Button
- #endif /* WINVER >= 0x0400 */
- #define MB_NOFOCUS 0x00008000L
- #define MB_SETFOREGROUND 0x00010000L
- #define MB_DEFAULT_DESKTOP_ONLY 0x00020000L
- #if(WINVER >= 0x0400)
- #define MB_TOPMOST 0x00040000L
- #define MB_RIGHT 0x00080000L
- #define MB_RTLREADING 0x00100000L
- #endif /* WINVER >= 0x0400 */
- #ifdef _WIN32_WINNT
- #if (_WIN32_WINNT >= 0x0400)
- #define MB_SERVICE_NOTIFICATION 0x00200000L
- #else
- #define MB_SERVICE_NOTIFICATION 0x00040000L
- #endif
- #define MB_SERVICE_NOTIFICATION_NT3X 0x00040000L
- #endif
- #define MB_TYPEMASK 0x0000000FL
- #define MB_ICONMASK 0x000000F0L
- #define MB_DEFMASK 0x00000F00L
- #define MB_MODEMASK 0x00003000L
- #define MB_MISCMASK 0x0000C000L
- WINUSERAPI
- int
- WINAPI
- MessageBoxA(
- HWND hWnd ,
- LPCSTR lpText,
- LPCSTR lpCaption,
- UINT uType);
- WINUSERAPI
- int
- WINAPI
- MessageBoxW(
- HWND hWnd ,
- LPCWSTR lpText,
- LPCWSTR lpCaption,
- UINT uType);
- #ifdef UNICODE
- #define MessageBox MessageBoxW
- #else
- #define MessageBox MessageBoxA
- #endif // !UNICODE
- WINUSERAPI
- int
- WINAPI
- MessageBoxExA(
- HWND hWnd ,
- LPCSTR lpText,
- LPCSTR lpCaption,
- UINT uType,
- WORD wLanguageId);
- WINUSERAPI
- int
- WINAPI
- MessageBoxExW(
- HWND hWnd ,
- LPCWSTR lpText,
- LPCWSTR lpCaption,
- UINT uType,
- WORD wLanguageId);
- #ifdef UNICODE
- #define MessageBoxEx MessageBoxExW
- #else
- #define MessageBoxEx MessageBoxExA
- #endif // !UNICODE
- #if(WINVER >= 0x0400)
- typedef void (CALLBACK *MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo);
- typedef struct tagMSGBOXPARAMSA
- {
- UINT cbSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- LPCSTR lpszText;
- LPCSTR lpszCaption;
- DWORD dwStyle;
- LPCSTR lpszIcon;
- DWORD dwContextHelpId;
- MSGBOXCALLBACK lpfnMsgBoxCallback;
- DWORD dwLanguageId;
- } MSGBOXPARAMSA, *PMSGBOXPARAMSA, *LPMSGBOXPARAMSA;
- typedef struct tagMSGBOXPARAMSW
- {
- UINT cbSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- LPCWSTR lpszText;
- LPCWSTR lpszCaption;
- DWORD dwStyle;
- LPCWSTR lpszIcon;
- DWORD dwContextHelpId;
- MSGBOXCALLBACK lpfnMsgBoxCallback;
- DWORD dwLanguageId;
- } MSGBOXPARAMSW, *PMSGBOXPARAMSW, *LPMSGBOXPARAMSW;
- #ifdef UNICODE
- typedef MSGBOXPARAMSW MSGBOXPARAMS;
- typedef PMSGBOXPARAMSW PMSGBOXPARAMS;
- typedef LPMSGBOXPARAMSW LPMSGBOXPARAMS;
- #else
- typedef MSGBOXPARAMSA MSGBOXPARAMS;
- typedef PMSGBOXPARAMSA PMSGBOXPARAMS;
- typedef LPMSGBOXPARAMSA LPMSGBOXPARAMS;
- #endif // UNICODE
- WINUSERAPI int WINAPI MessageBoxIndirectA(LPMSGBOXPARAMSA);
- WINUSERAPI int WINAPI MessageBoxIndirectW(LPMSGBOXPARAMSW);
- #ifdef UNICODE
- #define MessageBoxIndirect MessageBoxIndirectW
- #else
- #define MessageBoxIndirect MessageBoxIndirectA
- #endif // !UNICODE
- #endif /* WINVER >= 0x0400 */
- WINUSERAPI
- BOOL
- WINAPI
- MessageBeep(
- UINT uType);
- #endif /* !NOMB */
- WINUSERAPI
- int
- WINAPI
- ShowCursor(
- BOOL bShow);
- WINUSERAPI
- BOOL
- WINAPI
- SetCursorPos(
- int X,
- int Y);
- WINUSERAPI
- HCURSOR
- WINAPI
- SetCursor(
- HCURSOR hCursor);
- WINUSERAPI
- BOOL
- WINAPI
- GetCursorPos(
- LPPOINT lpPoint);
- WINUSERAPI
- BOOL
- WINAPI
- ClipCursor(
- CONST RECT *lpRect);
- WINUSERAPI
- BOOL
- WINAPI
- GetClipCursor(
- LPRECT lpRect);
- WINUSERAPI
- HCURSOR
- WINAPI
- GetCursor(
- VOID);
- WINUSERAPI
- BOOL
- WINAPI
- CreateCaret(
- HWND hWnd,
- HBITMAP hBitmap ,
- int nWidth,
- int nHeight);
- WINUSERAPI
- UINT
- WINAPI
- GetCaretBlinkTime(
- VOID);
- WINUSERAPI
- BOOL
- WINAPI
- SetCaretBlinkTime(
- UINT uMSeconds);
- WINUSERAPI
- BOOL
- WINAPI
- DestroyCaret(
- VOID);
- WINUSERAPI
- BOOL
- WINAPI
- HideCaret(
- HWND hWnd);
- WINUSERAPI
- BOOL
- WINAPI
- ShowCaret(
- HWND hWnd);
- WINUSERAPI
- BOOL
- WINAPI
- SetCaretPos(
- int X,
- int Y);
- WINUSERAPI
- BOOL
- WINAPI
- GetCaretPos(
- LPPOINT lpPoint);
- WINUSERAPI
- BOOL
- WINAPI
- ClientToScreen(
- HWND hWnd,
- LPPOINT lpPoint);
- WINUSERAPI
- BOOL
- WINAPI
- ScreenToClient(
- HWND hWnd,
- LPPOINT lpPoint);
- WINUSERAPI
- int
- WINAPI
- MapWindowPoints(
- HWND hWndFrom,
- HWND hWndTo,
- LPPOINT lpPoints,
- UINT cPoints);
- WINUSERAPI
- HWND
- WINAPI
- WindowFromPoint(
- POINT Point);
- WINUSERAPI
- HWND
- WINAPI
- ChildWindowFromPoint(
- HWND hWndParent,
- POINT Point);
- #if(WINVER >= 0x0400)
- #define CWP_ALL 0x0000
- #define CWP_SKIPINVISIBLE 0x0001
- #define CWP_SKIPDISABLED 0x0002
- #define CWP_SKIPTRANSPARENT 0x0004
- WINUSERAPI HWND WINAPI ChildWindowFromPointEx(HWND, POINT, UINT);
- #endif /* WINVER >= 0x0400 */
- #ifndef NOCOLOR
- /*
- * Color Types
- */
- #define CTLCOLOR_MSGBOX 0
- #define CTLCOLOR_EDIT 1
- #define CTLCOLOR_LISTBOX 2
- #define CTLCOLOR_BTN 3
- #define CTLCOLOR_DLG 4
- #define CTLCOLOR_SCROLLBAR 5
- #define CTLCOLOR_STATIC 6
- #define CTLCOLOR_MAX 7
- #define COLOR_SCROLLBAR 0
- #define COLOR_BACKGROUND 1
- #define COLOR_ACTIVECAPTION 2
- #define COLOR_INACTIVECAPTION 3
- #define COLOR_MENU 4
- #define COLOR_WINDOW 5
- #define COLOR_WINDOWFRAME 6
- #define COLOR_MENUTEXT 7
- #define COLOR_WINDOWTEXT 8
- #define COLOR_CAPTIONTEXT 9
- #define COLOR_ACTIVEBORDER 10
- #define COLOR_INACTIVEBORDER 11
- #define COLOR_APPWORKSPACE 12
- #define COLOR_HIGHLIGHT 13
- #define COLOR_HIGHLIGHTTEXT 14
- #define COLOR_BTNFACE 15
- #define COLOR_BTNSHADOW 16
- #define COLOR_GRAYTEXT 17
- #define COLOR_BTNTEXT 18
- #define COLOR_INACTIVECAPTIONTEXT 19
- #define COLOR_BTNHIGHLIGHT 20
- #if(WINVER >= 0x0400)
- #define COLOR_3DDKSHADOW 21
- #define COLOR_3DLIGHT 22
- #define COLOR_INFOTEXT 23
- #define COLOR_INFOBK 24
- #endif /* WINVER >= 0x0400 */
- #if (_WIN32_WINDOWS >= 0x040A)
- #define COLOR_HOTLIGHT 26
- #define COLOR_GRADIENTACTIVECAPTION 27
- #define COLOR_GRADIENTINACTIVECAPTION 28
- #endif
- #if(WINVER >= 0x0400)
- #define COLOR_DESKTOP COLOR_BACKGROUND
- #define COLOR_3DFACE COLOR_BTNFACE
- #define COLOR_3DSHADOW COLOR_BTNSHADOW
- #define COLOR_3DHIGHLIGHT COLOR_BTNHIGHLIGHT
- #define COLOR_3DHILIGHT COLOR_BTNHIGHLIGHT
- #define COLOR_BTNHILIGHT COLOR_BTNHIGHLIGHT
- #endif /* WINVER >= 0x0400 */
- WINUSERAPI
- DWORD
- WINAPI
- GetSysColor(
- int nIndex);
- #if(WINVER >= 0x0400)
- WINUSERAPI
- HBRUSH
- WINAPI
- GetSysColorBrush(
- int nIndex);
- #endif /* WINVER >= 0x0400 */
- WINUSERAPI
- BOOL
- WINAPI
- SetSysColors(
- int cElements,
- CONST INT * lpaElements,
- CONST COLORREF * lpaRgbValues);
- #endif /* !NOCOLOR */
- WINUSERAPI
- BOOL
- WINAPI
- DrawFocusRect(
- HDC hDC,
- CONST RECT * lprc);
- WINUSERAPI
- int
- WINAPI
- FillRect(
- HDC hDC,
- CONST RECT *lprc,
- HBRUSH hbr);
- WINUSERAPI
- int
- WINAPI
- FrameRect(
- HDC hDC,
- CONST RECT *lprc,
- HBRUSH hbr);
- WINUSERAPI
- BOOL
- WINAPI
- InvertRect(
- HDC hDC,
- CONST RECT *lprc);
- WINUSERAPI
- BOOL
- WINAPI
- SetRect(
- LPRECT lprc,
- int xLeft,
- int yTop,
- int xRight,
- int yBottom);
- WINUSERAPI
- BOOL
- WINAPI
- SetRectEmpty(
- LPRECT lprc);
- WINUSERAPI
- BOOL
- WINAPI
- CopyRect(
- LPRECT lprcDst,
- CONST RECT *lprcSrc);
- WINUSERAPI
- BOOL
- WINAPI
- InflateRect(
- LPRECT lprc,
- int dx,
- int dy);
- WINUSERAPI
- BOOL
- WINAPI
- IntersectRect(
- LPRECT lprcDst,
- CONST RECT *lprcSrc1,
- CONST RECT *lprcSrc2);
- WINUSERAPI
- BOOL
- WINAPI
- UnionRect(
- LPRECT lprcDst,
- CONST RECT *lprcSrc1,
- CONST RECT *lprcSrc2);
- WINUSERAPI
- BOOL
- WINAPI
- SubtractRect(
- LPRECT lprcDst,
- CONST RECT *lprcSrc1,
- CONST RECT *lprcSrc2);
- WINUSERAPI
- BOOL
- WINAPI
- OffsetRect(
- LPRECT lprc,
- int dx,
- int dy);
- WINUSERAPI
- BOOL
- WINAPI
- IsRectEmpty(
- CONST RECT *lprc);
- WINUSERAPI
- BOOL
- WINAPI
- EqualRect(
- CONST RECT *lprc1,
- CONST RECT *lprc2);
- WINUSERAPI
- BOOL
- WINAPI
- PtInRect(
- CONST RECT *lprc,
- POINT pt);
- #ifndef NOWINOFFSETS
- WINUSERAPI
- WORD
- WINAPI
- GetWindowWord(
- HWND hWnd,
- int nIndex);
- WINUSERAPI
- WORD
- WINAPI
- SetWindowWord(
- HWND hWnd,
- int nIndex,
- WORD wNewWord);
- WINUSERAPI
- LONG
- WINAPI
- GetWindowLongA(
- HWND hWnd,
- int nIndex);
- WINUSERAPI
- LONG
- WINAPI
- GetWindowLongW(
- HWND hWnd,
- int nIndex);
- #ifdef UNICODE
- #define GetWindowLong GetWindowLongW
- #else
- #define GetWindowLong GetWindowLongA
- #endif // !UNICODE
- WINUSERAPI
- LONG
- WINAPI
- SetWindowLongA(
- HWND hWnd,
- int nIndex,
- LONG dwNewLong);
- WINUSERAPI
- LONG
- WINAPI
- SetWindowLongW(
- HWND hWnd,
- int nIndex,
- LONG dwNewLong);
- #ifdef UNICODE
- #define SetWindowLong SetWindowLongW
- #else
- #define SetWindowLong SetWindowLongA
- #endif // !UNICODE
- #define GetWindowLongPtrA GetWindowLongA
- #define GetWindowLongPtrW GetWindowLongW
- #ifdef UNICODE
- #define GetWindowLongPtr GetWindowLongPtrW
- #else
- #define GetWindowLongPtr GetWindowLongPtrA
- #endif // !UNICODE
- #define SetWindowLongPtrA SetWindowLongA
- #define SetWindowLongPtrW SetWindowLongW
- #ifdef UNICODE
- #define SetWindowLongPtr SetWindowLongPtrW
- #else
- #define SetWindowLongPtr SetWindowLongPtrA
- #endif // !UNICODE
- WINUSERAPI
- WORD
- WINAPI
- GetClassWord(
- HWND hWnd,
- int nIndex);
- WINUSERAPI
- WORD
- WINAPI
- SetClassWord(
- HWND hWnd,
- int nIndex,
- WORD wNewWord);
- WINUSERAPI
- DWORD
- WINAPI
- GetClassLongA(
- HWND hWnd,
- int nIndex);
- WINUSERAPI
- DWORD
- WINAPI
- GetClassLongW(
- HWND hWnd,
- int nIndex);
- #ifdef UNICODE
- #define GetClassLong GetClassLongW
- #else
- #define GetClassLong GetClassLongA
- #endif // !UNICODE
- WINUSERAPI
- DWORD
- WINAPI
- SetClassLongA(
- HWND hWnd,
- int nIndex,
- LONG dwNewLong);
- WINUSERAPI
- DWORD
- WINAPI
- SetClassLongW(
- HWND hWnd,
- int nIndex,
- LONG dwNewLong);
- #ifdef UNICODE
- #define SetClassLong SetClassLongW
- #else
- #define SetClassLong SetClassLongA
- #endif // !UNICODE
- #endif /* !NOWINOFFSETS */
- #if(WINVER >= 0x040a)
- #ifdef USE_MIRRORING
- WINUSERAPI
- BOOL
- WINAPI
- GetProcessDefaultLayout(OUT DWORD *pdwDefaultLayout);
- WINUSERAPI
- BOOL
- WINAPI
- SetProcessDefaultLayout(IN DWORD dwDefaultlayout);
- #endif //USE_MIRRORING
- #endif /* WINVER >= 0x040a */
- WINUSERAPI
- HWND
- WINAPI
- GetDesktopWindow(
- VOID);
- WINUSERAPI
- HWND
- WINAPI
- GetParent(
- HWND hWnd);
- WINUSERAPI
- HWND
- WINAPI
- SetParent(
- HWND hWndChild,
- HWND hWndNewParent);
- WINUSERAPI
- BOOL
- WINAPI
- EnumChildWindows(
- HWND hWndParent,
- WNDENUMPROC lpEnumFunc,
- LPARAM lParam);
- WINUSERAPI
- HWND
- WINAPI
- FindWindowA(
- LPCSTR lpClassName ,
- LPCSTR lpWindowName);
- WINUSERAPI
- HWND
- WINAPI
- FindWindowW(
- LPCWSTR lpClassName ,
- LPCWSTR lpWindowName);
- #ifdef UNICODE
- #define FindWindow FindWindowW
- #else
- #define FindWindow FindWindowA
- #endif // !UNICODE
- #if(WINVER >= 0x0400)
- WINUSERAPI HWND WINAPI FindWindowExA(HWND, HWND, LPCSTR, LPCSTR);
- WINUSERAPI HWND WINAPI FindWindowExW(HWND, HWND, LPCWSTR, LPCWSTR);
- #ifdef UNICODE
- #define FindWindowEx FindWindowExW
- #else
- #define FindWindowEx FindWindowExA
- #endif // !UNICODE
- #endif /* WINVER >= 0x0400 */
- WINUSERAPI
- BOOL
- WINAPI
- EnumWindows(
- WNDENUMPROC lpEnumFunc,
- LPARAM lParam);
- WINUSERAPI
- BOOL
- WINAPI
- EnumThreadWindows(
- DWORD dwThreadId,
- WNDENUMPROC lpfn,
- LPARAM lParam);
- #define EnumTaskWindows(hTask, lpfn, lParam) EnumThreadWindows((DWORD)hTask, lpfn, lParam)
- WINUSERAPI
- int
- WINAPI
- GetClassNameA(
- HWND hWnd,
- LPSTR lpClassName,
- int nMaxCount);
- WINUSERAPI
- int
- WINAPI
- GetClassNameW(
- HWND hWnd,
- LPWSTR lpClassName,
- int nMaxCount);
- #ifdef UNICODE
- #define GetClassName GetClassNameW
- #else
- #define GetClassName GetClassNameA
- #endif // !UNICODE
- WINUSERAPI
- HWND
- WINAPI
- GetTopWindow(
- HWND hWnd);
- #define GetNextWindow(hWnd, wCmd) GetWindow(hWnd, wCmd)
- #define GetSysModalWindow() (NULL)
- #define SetSysModalWindow(hWnd) (NULL)
- WINUSERAPI
- DWORD
- WINAPI
- GetWindowThreadProcessId(
- HWND hWnd,
- LPDWORD lpdwProcessId);
- #define GetWindowTask(hWnd)
- ((HANDLE)GetWindowThreadProcessId(hWnd, NULL))
- WINUSERAPI
- HWND
- WINAPI
- GetLastActivePopup(
- HWND hWnd);
- /*
- * GetWindow() Constants
- */
- #define GW_HWNDFIRST 0
- #define GW_HWNDLAST 1
- #define GW_HWNDNEXT 2
- #define GW_HWNDPREV 3
- #define GW_OWNER 4
- #define GW_CHILD 5
- #define GW_ENABLEDPOPUP 6
- #define GW_MAX 6
- WINUSERAPI
- HWND
- WINAPI
- GetWindow(
- HWND hWnd,
- UINT uCmd);
- #ifndef NOWH
- #ifdef STRICT
- WINUSERAPI
- HHOOK
- WINAPI
- SetWindowsHookA(
- int nFilterType,
- HOOKPROC pfnFilterProc);
- WINUSERAPI
- HHOOK
- WINAPI
- SetWindowsHookW(
- int nFilterType,
- HOOKPROC pfnFilterProc);
- #ifdef UNICODE
- #define SetWindowsHook SetWindowsHookW
- #else
- #define SetWindowsHook SetWindowsHookA
- #endif // !UNICODE
- #else /* !STRICT */
- WINUSERAPI
- HOOKPROC
- WINAPI
- SetWindowsHookA(
- int nFilterType,
- HOOKPROC pfnFilterProc);
- WINUSERAPI
- HOOKPROC
- WINAPI
- SetWindowsHookW(
- int nFilterType,
- HOOKPROC pfnFilterProc);
- #ifdef UNICODE
- #define SetWindowsHook SetWindowsHookW
- #else
- #define SetWindowsHook SetWindowsHookA
- #endif // !UNICODE
- #endif /* !STRICT */
- WINUSERAPI
- BOOL
- WINAPI
- UnhookWindowsHook(
- int nCode,
- HOOKPROC pfnFilterProc);
- WINUSERAPI
- HHOOK
- WINAPI
- SetWindowsHookExA(
- int idHook,
- HOOKPROC lpfn,
- HINSTANCE hmod,
- DWORD dwThreadId);
- WINUSERAPI
- HHOOK
- WINAPI
- SetWindowsHookExW(
- int idHook,
- HOOKPROC lpfn,
- HINSTANCE hmod,
- DWORD dwThreadId);
- #ifdef UNICODE
- #define SetWindowsHookEx SetWindowsHookExW
- #else
- #define SetWindowsHookEx SetWindowsHookExA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- UnhookWindowsHookEx(
- HHOOK hhk);
- WINUSERAPI
- LRESULT
- WINAPI
- CallNextHookEx(
- HHOOK hhk,
- int nCode,
- WPARAM wParam,
- LPARAM lParam);
- /*
- * Macros for source-level compatibility with old functions.
- */
- #ifdef STRICT
- #define DefHookProc(nCode, wParam, lParam, phhk)
- CallNextHookEx(*phhk, nCode, wParam, lParam)
- #else
- #define DefHookProc(nCode, wParam, lParam, phhk)
- CallNextHookEx((HHOOK)*phhk, nCode, wParam, lParam)
- #endif /* STRICT */
- #endif /* !NOWH */
- #ifndef NOMENUS
- // begin_r_winuser
- /* ;win40 -- A lot of MF_* flags have been renamed as MFT_* and MFS_* flags */
- /*
- * Menu flags for Add/Check/EnableMenuItem()
- */
- #define MF_INSERT 0x00000000L
- #define MF_CHANGE 0x00000080L
- #define MF_APPEND 0x00000100L
- #define MF_DELETE 0x00000200L
- #define MF_REMOVE 0x00001000L
- #define MF_BYCOMMAND 0x00000000L
- #define MF_BYPOSITION 0x00000400L
- #define MF_SEPARATOR 0x00000800L
- #define MF_ENABLED 0x00000000L
- #define MF_GRAYED 0x00000001L
- #define MF_DISABLED 0x00000002L
- #define MF_UNCHECKED 0x00000000L
- #define MF_CHECKED 0x00000008L
- #define MF_USECHECKBITMAPS 0x00000200L
- #define MF_STRING 0x00000000L /* Obsolete -- use MIIM_STRING instead */
- #define MF_BITMAP 0x00000004L /* Obsolete -- use MIIM_BITMAP instead */
- #define MF_OWNERDRAW 0x00000100L
- #define MF_POPUP 0x00000010L
- #define MF_MENUBARBREAK 0x00000020L
- #define MF_MENUBREAK 0x00000040L
- #define MF_UNHILITE 0x00000000L
- #define MF_HILITE 0x00000080L
- #if(WINVER >= 0x0400)
- #define MF_DEFAULT 0x00001000L
- #endif /* WINVER >= 0x0400 */
- #define MF_SYSMENU 0x00002000L
- #define MF_HELP 0x00004000L
- #if(WINVER >= 0x0400)
- #define MF_RIGHTJUSTIFY 0x00004000L
- #endif /* WINVER >= 0x0400 */
- #define MF_MOUSESELECT 0x00008000L
- #if(WINVER >= 0x0400)
- #define MF_END 0x00000080L /* Obsolete -- only used by old RES files */
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0400)
- #define MFT_STRING MF_STRING
- #define MFT_BITMAP MF_BITMAP /* Obsolete -- use MIIM_BITMAP instead */
- #define MFT_MENUBARBREAK MF_MENUBARBREAK
- #define MFT_MENUBREAK MF_MENUBREAK
- #define MFT_OWNERDRAW MF_OWNERDRAW
- #define MFT_RADIOCHECK 0x00000200L
- #define MFT_SEPARATOR MF_SEPARATOR
- #define MFT_RIGHTORDER 0x00002000L
- #define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY
- /* Menu flags for Add/Check/EnableMenuItem() */
- #define MFS_GRAYED 0x00000003L
- #define MFS_DISABLED MFS_GRAYED
- #define MFS_CHECKED MF_CHECKED
- #define MFS_HILITE MF_HILITE
- #define MFS_ENABLED MF_ENABLED
- #define MFS_UNCHECKED MF_UNCHECKED
- #define MFS_UNHILITE MF_UNHILITE
- #define MFS_DEFAULT MF_DEFAULT
- #endif /* WINVER >= 0x0400 */
- #if(_WIN32_WINDOWS >= 0x040a)
- #endif /* _WIN32_WINDOWS >= 0x040a */
- #if(WINVER >= 0x0400)
- #endif /* WINVER >= 0x0400 */
- // end_r_winuser
- #if(WINVER >= 0x0400)
- WINUSERAPI
- BOOL
- WINAPI
- CheckMenuRadioItem(HMENU, UINT, UINT, UINT, UINT);
- #endif /* WINVER >= 0x0400 */
- /*
- * Menu item resource format
- */
- typedef struct {
- WORD versionNumber;
- WORD offset;
- } MENUITEMTEMPLATEHEADER, *PMENUITEMTEMPLATEHEADER;
- typedef struct { // version 0
- WORD mtOption;
- WORD mtID;
- WCHAR mtString[1];
- } MENUITEMTEMPLATE, *PMENUITEMTEMPLATE;
- #define MF_END 0x00000080L // r_winuser
- #endif /* !NOMENUS */
- #ifndef NOSYSCOMMANDS
- // begin_r_winuser
- /*
- * System Menu Command Values
- */
- #define SC_SIZE 0xF000
- #define SC_MOVE 0xF010
- #define SC_MINIMIZE 0xF020
- #define SC_MAXIMIZE 0xF030
- #define SC_NEXTWINDOW 0xF040
- #define SC_PREVWINDOW 0xF050
- #define SC_CLOSE 0xF060
- #define SC_VSCROLL 0xF070
- #define SC_HSCROLL 0xF080
- #define SC_MOUSEMENU 0xF090
- #define SC_KEYMENU 0xF100
- #define SC_ARRANGE 0xF110
- #define SC_RESTORE 0xF120
- #define SC_TASKLIST 0xF130
- #define SC_SCREENSAVE 0xF140
- #define SC_HOTKEY 0xF150
- #if(WINVER >= 0x0400)
- #define SC_DEFAULT 0xF160
- #define SC_MONITORPOWER 0xF170
- #define SC_CONTEXTHELP 0xF180
- #define SC_SYSTEMSLEEP 0xF190
- #define SC_SEPARATOR 0xF00F
- #endif /* WINVER >= 0x0400 */
- /*
- * Obsolete names
- */
- #define SC_ICON SC_MINIMIZE
- #define SC_ZOOM SC_MAXIMIZE
- // end_r_winuser
- #endif /* !NOSYSCOMMANDS */
- /*
- * Resource Loading Routines
- */
- WINUSERAPI
- HBITMAP
- WINAPI
- LoadBitmapA(
- HINSTANCE hInstance,
- LPCSTR lpBitmapName);
- WINUSERAPI
- HBITMAP
- WINAPI
- LoadBitmapW(
- HINSTANCE hInstance,
- LPCWSTR lpBitmapName);
- #ifdef UNICODE
- #define LoadBitmap LoadBitmapW
- #else
- #define LoadBitmap LoadBitmapA
- #endif // !UNICODE
- WINUSERAPI
- HCURSOR
- WINAPI
- LoadCursorA(
- HINSTANCE hInstance,
- LPCSTR lpCursorName);
- WINUSERAPI
- HCURSOR
- WINAPI
- LoadCursorW(
- HINSTANCE hInstance,
- LPCWSTR lpCursorName);
- #ifdef UNICODE
- #define LoadCursor LoadCursorW
- #else
- #define LoadCursor LoadCursorA
- #endif // !UNICODE
- WINUSERAPI
- HCURSOR
- WINAPI
- LoadCursorFromFileA(
- LPCSTR lpFileName);
- WINUSERAPI
- HCURSOR
- WINAPI
- LoadCursorFromFileW(
- LPCWSTR lpFileName);
- #ifdef UNICODE
- #define LoadCursorFromFile LoadCursorFromFileW
- #else
- #define LoadCursorFromFile LoadCursorFromFileA
- #endif // !UNICODE
- WINUSERAPI
- HCURSOR
- WINAPI
- CreateCursor(
- HINSTANCE hInst,
- int xHotSpot,
- int yHotSpot,
- int nWidth,
- int nHeight,
- CONST VOID *pvANDPlane,
- CONST VOID *pvXORPlane);
- WINUSERAPI
- BOOL
- WINAPI
- DestroyCursor(
- HCURSOR hCursor);
- #define CopyCursor(pcur) ((HCURSOR)CopyIcon((HICON)(pcur)))
- /*
- * Standard Cursor IDs
- */
- #define IDC_ARROW MAKEINTRESOURCE(32512)
- #define IDC_IBEAM MAKEINTRESOURCE(32513)
- #define IDC_WAIT MAKEINTRESOURCE(32514)
- #define IDC_CROSS MAKEINTRESOURCE(32515)
- #define IDC_UPARROW MAKEINTRESOURCE(32516)
- #define IDC_SIZE MAKEINTRESOURCE(32640) /* OBSOLETE: use IDC_SIZEALL */
- #define IDC_ICON MAKEINTRESOURCE(32641) /* OBSOLETE: use IDC_ARROW */
- #define IDC_SIZENWSE MAKEINTRESOURCE(32642)
- #define IDC_SIZENESW MAKEINTRESOURCE(32643)
- #define IDC_SIZEWE MAKEINTRESOURCE(32644)
- #define IDC_SIZENS MAKEINTRESOURCE(32645)
- #define IDC_SIZEALL MAKEINTRESOURCE(32646)
- #define IDC_NO MAKEINTRESOURCE(32648) /*not in win3.1 */
- #if (_WIN32_WINDOWS >= 0x040A)
- #define IDC_HAND MAKEINTRESOURCE(32649)
- #endif // (_WIN32_WINDOWS >= 0x040A)
- #define IDC_APPSTARTING MAKEINTRESOURCE(32650) /*not in win3.1 */
- #if(WINVER >= 0x0400)
- #define IDC_HELP MAKEINTRESOURCE(32651)
- #endif /* WINVER >= 0x0400 */
- WINUSERAPI
- BOOL
- WINAPI
- SetSystemCursor(
- HCURSOR hcur,
- DWORD id);
- typedef struct _ICONINFO {
- BOOL fIcon;
- DWORD xHotspot;
- DWORD yHotspot;
- HBITMAP hbmMask;
- HBITMAP hbmColor;
- } ICONINFO;
- typedef ICONINFO *PICONINFO;
- WINUSERAPI
- HICON
- WINAPI
- LoadIconA(
- HINSTANCE hInstance,
- LPCSTR lpIconName);
- WINUSERAPI
- HICON
- WINAPI
- LoadIconW(
- HINSTANCE hInstance,
- LPCWSTR lpIconName);
- #ifdef UNICODE
- #define LoadIcon LoadIconW
- #else
- #define LoadIcon LoadIconA
- #endif // !UNICODE
- WINUSERAPI
- HICON
- WINAPI
- CreateIcon(
- HINSTANCE hInstance,
- int nWidth,
- int nHeight,
- BYTE cPlanes,
- BYTE cBitsPixel,
- CONST BYTE *lpbANDbits,
- CONST BYTE *lpbXORbits);
- WINUSERAPI
- BOOL
- WINAPI
- DestroyIcon(
- HICON hIcon);
- WINUSERAPI
- int
- WINAPI
- LookupIconIdFromDirectory(
- PBYTE presbits,
- BOOL fIcon);
- #if(WINVER >= 0x0400)
- WINUSERAPI
- int
- WINAPI
- LookupIconIdFromDirectoryEx(
- PBYTE presbits,
- BOOL fIcon,
- int cxDesired,
- int cyDesired,
- UINT Flags);
- #endif /* WINVER >= 0x0400 */
- WINUSERAPI
- HICON
- WINAPI
- CreateIconFromResource(
- PBYTE presbits,
- DWORD dwResSize,
- BOOL fIcon,
- DWORD dwVer);
- #if(WINVER >= 0x0400)
- WINUSERAPI
- HICON
- WINAPI
- CreateIconFromResourceEx(
- PBYTE presbits,
- DWORD dwResSize,
- BOOL fIcon,
- DWORD dwVer,
- int cxDesired,
- int cyDesired,
- UINT Flags);
- /* Icon/Cursor header */
- typedef struct tagCURSORSHAPE
- {
- int xHotSpot;
- int yHotSpot;
- int cx;
- int cy;
- int cbWidth;
- BYTE Planes;
- BYTE BitsPixel;
- } CURSORSHAPE, FAR *LPCURSORSHAPE;
- #endif /* WINVER >= 0x0400 */
- #define IMAGE_BITMAP 0
- #define IMAGE_ICON 1
- #define IMAGE_CURSOR 2
- #if(WINVER >= 0x0400)
- #define IMAGE_ENHMETAFILE 3
- #define LR_DEFAULTCOLOR 0x0000
- #define LR_MONOCHROME 0x0001
- #define LR_COLOR 0x0002
- #define LR_COPYRETURNORG 0x0004
- #define LR_COPYDELETEORG 0x0008
- #define LR_LOADFROMFILE 0x0010
- #define LR_LOADTRANSPARENT 0x0020
- #define LR_DEFAULTSIZE 0x0040
- #define LR_VGACOLOR 0x0080
- #define LR_LOADMAP3DCOLORS 0x1000
- #define LR_CREATEDIBSECTION 0x2000
- #define LR_COPYFROMRESOURCE 0x4000
- #define LR_SHARED 0x8000
- WINUSERAPI
- HANDLE
- WINAPI
- LoadImageA(
- HINSTANCE,
- LPCSTR,
- UINT,
- int,
- int,
- UINT);
- WINUSERAPI
- HANDLE
- WINAPI
- LoadImageW(
- HINSTANCE,
- LPCWSTR,
- UINT,
- int,
- int,
- UINT);
- #ifdef UNICODE
- #define LoadImage LoadImageW
- #else
- #define LoadImage LoadImageA
- #endif // !UNICODE
- WINUSERAPI
- HANDLE
- WINAPI
- CopyImage(
- HANDLE,
- UINT,
- int,
- int,
- UINT);
- #define DI_MASK 0x0001
- #define DI_IMAGE 0x0002
- #define DI_NORMAL 0x0003
- #define DI_COMPAT 0x0004
- #define DI_DEFAULTSIZE 0x0008
- WINUSERAPI BOOL WINAPI DrawIconEx(HDC hdc, int xLeft, int yTop,
- HICON hIcon, int cxWidth, int cyWidth,
- UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags);
- #endif /* WINVER >= 0x0400 */
- WINUSERAPI
- HICON
- WINAPI
- CreateIconIndirect(
- PICONINFO piconinfo);
- WINUSERAPI
- HICON
- WINAPI
- CopyIcon(
- HICON hIcon);
- WINUSERAPI
- BOOL
- WINAPI
- GetIconInfo(
- HICON hIcon,
- PICONINFO piconinfo);
- #if(WINVER >= 0x0400)
- #define RES_ICON 1
- #define RES_CURSOR 2
- #endif /* WINVER >= 0x0400 */
- #ifdef OEMRESOURCE
- // begin_r_winuser
- /*
- * OEM Resource Ordinal Numbers
- */
- #define OBM_CLOSE 32754
- #define OBM_UPARROW 32753
- #define OBM_DNARROW 32752
- #define OBM_RGARROW 32751
- #define OBM_LFARROW 32750
- #define OBM_REDUCE 32749
- #define OBM_ZOOM 32748
- #define OBM_RESTORE 32747
- #define OBM_REDUCED 32746
- #define OBM_ZOOMD 32745
- #define OBM_RESTORED 32744
- #define OBM_UPARROWD 32743
- #define OBM_DNARROWD 32742
- #define OBM_RGARROWD 32741
- #define OBM_LFARROWD 32740
- #define OBM_MNARROW 32739
- #define OBM_COMBO 32738
- #define OBM_UPARROWI 32737
- #define OBM_DNARROWI 32736
- #define OBM_RGARROWI 32735
- #define OBM_LFARROWI 32734
- #define OBM_OLD_CLOSE 32767
- #define OBM_SIZE 32766
- #define OBM_OLD_UPARROW 32765
- #define OBM_OLD_DNARROW 32764
- #define OBM_OLD_RGARROW 32763
- #define OBM_OLD_LFARROW 32762
- #define OBM_BTSIZE 32761
- #define OBM_CHECK 32760
- #define OBM_CHECKBOXES 32759
- #define OBM_BTNCORNERS 32758
- #define OBM_OLD_REDUCE 32757
- #define OBM_OLD_ZOOM 32756
- #define OBM_OLD_RESTORE 32755
- #if (_WIN32_WINDOWS >= 0x040A)
- #define OBM_RDRVERT 32559
- #define OBM_RDRHORZ 32660
- #define OBM_RDR2DIM 32661
- #endif // (_WIN32_WINDOWS >= 0x040A)
- #define OCR_NORMAL 32512
- #define OCR_IBEAM 32513
- #define OCR_WAIT 32514
- #define OCR_CROSS 32515
- #define OCR_UP 32516
- #define OCR_SIZE 32640 /* OBSOLETE: use OCR_SIZEALL */
- #define OCR_ICON 32641 /* OBSOLETE: use OCR_NORMAL */
- #define OCR_SIZENWSE 32642
- #define OCR_SIZENESW 32643
- #define OCR_SIZEWE 32644
- #define OCR_SIZENS 32645
- #define OCR_SIZEALL 32646
- #define OCR_ICOCUR 32647 /* OBSOLETE: use OIC_WINLOGO */
- #define OCR_NO 32648
- #if (_WIN32_WINDOWS >= 0x040A)
- #define OCR_HAND 32649
- #endif // (_WIN32_WINDOWS >= 0x040A)
- #if(WINVER >= 0x0400)
- #define OCR_APPSTARTING 32650
- #endif /* WINVER >= 0x0400 */
- #if (_WIN32_WINDOWS >= 0x040A)
- #define OCR_RDRVERT 32652
- #define OCR_RDRHORZ 32653
- #define OCR_RDR2DIM 32654
- #define OCR_RDRNORTH 32655
- #define OCR_RDRSOUTH 32656
- #define OCR_RDRWEST 32657
- #define OCR_RDREAST 32658
- #define OCR_RDRNORTHWEST 32659
- #define OCR_RDRNORTHEAST 32660
- #define OCR_RDRSOUTHWEST 32661
- #define OCR_RDRSOUTHEAST 32662
- #endif // (_WIN32_WINDOWS >= 0x040A)
- #define OIC_SAMPLE 32512
- #define OIC_HAND 32513
- #define OIC_QUES 32514
- #define OIC_BANG 32515
- #define OIC_NOTE 32516
- #if(WINVER >= 0x0400)
- #define OIC_WINLOGO 32517
- #define OIC_WARNING OIC_BANG
- #define OIC_ERROR OIC_HAND
- #define OIC_INFORMATION OIC_NOTE
- #endif /* WINVER >= 0x0400 */
- // end_r_winuser
- #endif /* OEMRESOURCE */
- #define ORD_LANGDRIVER 1 /* The ordinal number for the entry point of
- ** language drivers.
- */
- #ifndef NOICONS
- // begin_r_winuser
- /*
- * Standard Icon IDs
- */
- #ifdef RC_INVOKED
- #define IDI_APPLICATION 32512
- #define IDI_HAND 32513
- #define IDI_QUESTION 32514
- #define IDI_EXCLAMATION 32515
- #define IDI_ASTERISK 32516
- #if(WINVER >= 0x0400)
- #define IDI_WINLOGO 32517
- #endif /* WINVER >= 0x0400 */
- #else
- #define IDI_APPLICATION MAKEINTRESOURCE(32512)
- #define IDI_HAND MAKEINTRESOURCE(32513)
- #define IDI_QUESTION MAKEINTRESOURCE(32514)
- #define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
- #define IDI_ASTERISK MAKEINTRESOURCE(32516)
- #if(WINVER >= 0x0400)
- #define IDI_WINLOGO MAKEINTRESOURCE(32517)
- #endif /* WINVER >= 0x0400 */
- #endif /* RC_INVOKED */
- #if(WINVER >= 0x0400)
- #define IDI_WARNING IDI_EXCLAMATION
- #define IDI_ERROR IDI_HAND
- #define IDI_INFORMATION IDI_ASTERISK
- #endif /* WINVER >= 0x0400 */
- // end_r_winuser
- #endif /* !NOICONS */
- WINUSERAPI
- int
- WINAPI
- LoadStringA(
- HINSTANCE hInstance,
- UINT uID,
- LPSTR lpBuffer,
- int nBufferMax);
- WINUSERAPI
- int
- WINAPI
- LoadStringW(
- HINSTANCE hInstance,
- UINT uID,
- LPWSTR lpBuffer,
- int nBufferMax);
- #ifdef UNICODE
- #define LoadString LoadStringW
- #else
- #define LoadString LoadStringA
- #endif // !UNICODE
- // begin_r_winuser
- /*
- * Dialog Box Command IDs
- */
- #define IDOK 1
- #define IDCANCEL 2
- #define IDABORT 3
- #define IDRETRY 4
- #define IDIGNORE 5
- #define IDYES 6
- #define IDNO 7
- #if(WINVER >= 0x0400)
- #define IDCLOSE 8
- #define IDHELP 9
- #endif /* WINVER >= 0x0400 */
- #define IDTRYAGAIN 10
- #define IDCONTINUE 11
- // end_r_winuser
- #ifndef NOCTLMGR
- /*
- * Control Manager Structures and Definitions
- */
- #ifndef NOWINSTYLES
- // begin_r_winuser
- /*
- * Edit Control Styles
- */
- #define ES_LEFT 0x0000L
- #define ES_CENTER 0x0001L
- #define ES_RIGHT 0x0002L
- #define ES_MULTILINE 0x0004L
- #define ES_UPPERCASE 0x0008L
- #define ES_LOWERCASE 0x0010L
- #define ES_PASSWORD 0x0020L
- #define ES_AUTOVSCROLL 0x0040L
- #define ES_AUTOHSCROLL 0x0080L
- #define ES_NOHIDESEL 0x0100L
- #define ES_OEMCONVERT 0x0400L
- #define ES_READONLY 0x0800L
- #define ES_WANTRETURN 0x1000L
- #if(WINVER >= 0x0400)
- #define ES_NUMBER 0x2000L
- #endif /* WINVER >= 0x0400 */
- // end_r_winuser
- #endif /* !NOWINSTYLES */
- /*
- * Edit Control Notification Codes
- */
- #define EN_SETFOCUS 0x0100
- #define EN_KILLFOCUS 0x0200
- #define EN_CHANGE 0x0300
- #define EN_UPDATE 0x0400
- #define EN_ERRSPACE 0x0500
- #define EN_MAXTEXT 0x0501
- #define EN_HSCROLL 0x0601
- #define EN_VSCROLL 0x0602
- #if(WINVER >= 0x0400)
- /* Edit control EM_SETMARGIN parameters */
- #define EC_LEFTMARGIN 0x0001
- #define EC_RIGHTMARGIN 0x0002
- #define EC_USEFONTINFO 0xffff
- #endif /* WINVER >= 0x0400 */
- #if (_WIN32_WINDOWS >= 0x040A)
- /* wParam of EM_GET/SETIMESTATUS */
- #define EMSIS_COMPOSITIONSTRING 0x0001
- /* lParam for EMSIS_COMPOSITIONSTRING */
- #define EIMES_GETCOMPSTRATONCE 0x0001
- #define EIMES_CANCELCOMPSTRINFOCUS 0x0002
- #define EIMES_COMPLETECOMPSTRKILLFOCUS 0x0004
- #endif /* _WIN32_WINDOWS >= 0x040A */
- #ifndef NOWINMESSAGES
- // begin_r_winuser
- /*
- * Edit Control Messages
- */
- #define EM_GETSEL 0x00B0
- #define EM_SETSEL 0x00B1
- #define EM_GETRECT 0x00B2
- #define EM_SETRECT 0x00B3
- #define EM_SETRECTNP 0x00B4
- #define EM_SCROLL 0x00B5
- #define EM_LINESCROLL 0x00B6
- #define EM_SCROLLCARET 0x00B7
- #define EM_GETMODIFY 0x00B8
- #define EM_SETMODIFY 0x00B9
- #define EM_GETLINECOUNT 0x00BA
- #define EM_LINEINDEX 0x00BB
- #define EM_SETHANDLE 0x00BC
- #define EM_GETHANDLE 0x00BD
- #define EM_GETTHUMB 0x00BE
- #define EM_LINELENGTH 0x00C1
- #define EM_REPLACESEL 0x00C2
- #define EM_GETLINE 0x00C4
- #define EM_LIMITTEXT 0x00C5
- #define EM_CANUNDO 0x00C6
- #define EM_UNDO 0x00C7
- #define EM_FMTLINES 0x00C8
- #define EM_LINEFROMCHAR 0x00C9
- #define EM_SETTABSTOPS 0x00CB
- #define EM_SETPASSWORDCHAR 0x00CC
- #define EM_EMPTYUNDOBUFFER 0x00CD
- #define EM_GETFIRSTVISIBLELINE 0x00CE
- #define EM_SETREADONLY 0x00CF
- #define EM_SETWORDBREAKPROC 0x00D0
- #define EM_GETWORDBREAKPROC 0x00D1
- #define EM_GETPASSWORDCHAR 0x00D2
- #if(WINVER >= 0x0400)
- #define EM_SETMARGINS 0x00D3
- #define EM_GETMARGINS 0x00D4
- #define EM_SETLIMITTEXT EM_LIMITTEXT /* ;win40 Name change */
- #define EM_GETLIMITTEXT 0x00D5
- #define EM_POSFROMCHAR 0x00D6
- #define EM_CHARFROMPOS 0x00D7
- #endif /* WINVER >= 0x0400 */
- #if (_WIN32_WINDOWS >= 0x040A)
- #define EM_SETIMESTATUS 0x00D8
- #define EM_GETIMESTATUS 0x00D9
- #endif
- // end_r_winuser
- #endif /* !NOWINMESSAGES */
- /*
- * EDITWORDBREAKPROC code values
- */
- #define WB_LEFT 0
- #define WB_RIGHT 1
- #define WB_ISDELIMITER 2
- // begin_r_winuser
- /*
- * Button Control Styles
- */
- #define BS_PUSHBUTTON 0x00000000L
- #define BS_DEFPUSHBUTTON 0x00000001L
- #define BS_CHECKBOX 0x00000002L
- #define BS_AUTOCHECKBOX 0x00000003L
- #define BS_RADIOBUTTON 0x00000004L
- #define BS_3STATE 0x00000005L
- #define BS_AUTO3STATE 0x00000006L
- #define BS_GROUPBOX 0x00000007L
- #define BS_USERBUTTON 0x00000008L
- #define BS_AUTORADIOBUTTON 0x00000009L
- #define BS_OWNERDRAW 0x0000000BL
- #define BS_LEFTTEXT 0x00000020L
- #if(WINVER >= 0x0400)
- #define BS_TEXT 0x00000000L
- #define BS_ICON 0x00000040L
- #define BS_BITMAP 0x00000080L
- #define BS_LEFT 0x00000100L
- #define BS_RIGHT 0x00000200L
- #define BS_CENTER 0x00000300L
- #define BS_TOP 0x00000400L
- #define BS_BOTTOM 0x00000800L
- #define BS_VCENTER 0x00000C00L
- #define BS_PUSHLIKE 0x00001000L
- #define BS_MULTILINE 0x00002000L
- #define BS_NOTIFY 0x00004000L
- #define BS_FLAT 0x00008000L
- #define BS_RIGHTBUTTON BS_LEFTTEXT
- #endif /* WINVER >= 0x0400 */
- /*
- * User Button Notification Codes
- */
- #define BN_CLICKED 0
- #define BN_PAINT 1
- #define BN_HILITE 2
- #define BN_UNHILITE 3
- #define BN_DISABLE 4
- #define BN_DOUBLECLICKED 5
- #if(WINVER >= 0x0400)
- #define BN_PUSHED BN_HILITE
- #define BN_UNPUSHED BN_UNHILITE
- #define BN_DBLCLK BN_DOUBLECLICKED
- #define BN_SETFOCUS 6
- #define BN_KILLFOCUS 7
- #endif /* WINVER >= 0x0400 */
- /*
- * Button Control Messages
- */
- #define BM_GETCHECK 0x00F0
- #define BM_SETCHECK 0x00F1
- #define BM_GETSTATE 0x00F2
- #define BM_SETSTATE 0x00F3
- #define BM_SETSTYLE 0x00F4
- #if(WINVER >= 0x0400)
- #define BM_CLICK 0x00F5
- #define BM_GETIMAGE 0x00F6
- #define BM_SETIMAGE 0x00F7
- #define BST_UNCHECKED 0x0000
- #define BST_CHECKED 0x0001
- #define BST_INDETERMINATE 0x0002
- #define BST_PUSHED 0x0004
- #define BST_FOCUS 0x0008
- #endif /* WINVER >= 0x0400 */
- /*
- * Static Control Constants
- */
- #define SS_LEFT 0x00000000L
- #define SS_CENTER 0x00000001L
- #define SS_RIGHT 0x00000002L
- #define SS_ICON 0x00000003L
- #define SS_BLACKRECT 0x00000004L
- #define SS_GRAYRECT 0x00000005L
- #define SS_WHITERECT 0x00000006L
- #define SS_BLACKFRAME 0x00000007L
- #define SS_GRAYFRAME 0x00000008L
- #define SS_WHITEFRAME 0x00000009L
- #define SS_USERITEM 0x0000000AL
- #define SS_SIMPLE 0x0000000BL
- #define SS_LEFTNOWORDWRAP 0x0000000CL
- #if(WINVER >= 0x0400)
- #define SS_OWNERDRAW 0x0000000DL
- #define SS_BITMAP 0x0000000EL
- #define SS_ENHMETAFILE 0x0000000FL
- #define SS_ETCHEDHORZ 0x00000010L
- #define SS_ETCHEDVERT 0x00000011L
- #define SS_ETCHEDFRAME 0x00000012L
- #define SS_TYPEMASK 0x0000001FL
- #endif /* WINVER >= 0x0400 */
- #define SS_NOPREFIX 0x00000080L /* Don't do "&" character translation */
- #if(WINVER >= 0x0400)
- #define SS_NOTIFY 0x00000100L
- #define SS_CENTERIMAGE 0x00000200L
- #define SS_RIGHTJUST 0x00000400L
- #define SS_REALSIZEIMAGE 0x00000800L
- #define SS_SUNKEN 0x00001000L
- #define SS_ENDELLIPSIS 0x00004000L
- #define SS_PATHELLIPSIS 0x00008000L
- #define SS_WORDELLIPSIS 0x0000C000L
- #define SS_ELLIPSISMASK 0x0000C000L
- #endif /* WINVER >= 0x0400 */
- // end_r_winuser
- #ifndef NOWINMESSAGES
- /*
- * Static Control Mesages
- */
- #define STM_SETICON 0x0170
- #define STM_GETICON 0x0171
- #if(WINVER >= 0x0400)
- #define STM_SETIMAGE 0x0172
- #define STM_GETIMAGE 0x0173
- #define STN_CLICKED 0
- #define STN_DBLCLK 1
- #define STN_ENABLE 2
- #define STN_DISABLE 3
- #endif /* WINVER >= 0x0400 */
- #define STM_MSGMAX 0x0174
- #endif /* !NOWINMESSAGES */
- /*
- * Dialog window class
- */
- #define WC_DIALOG (MAKEINTATOM(0x8002))
- /*
- * Get/SetWindowWord/Long offsets for use with WC_DIALOG windows
- */
- #define DWL_MSGRESULT 0
- #define DWL_DLGPROC 4
- #define DWL_USER 8
- /*
- * Dialog Manager Routines
- */
- #ifndef NOMSG
- WINUSERAPI
- BOOL
- WINAPI
- IsDialogMessageA(
- HWND hDlg,
- LPMSG lpMsg);
- WINUSERAPI
- BOOL
- WINAPI
- IsDialogMessageW(
- HWND hDlg,
- LPMSG lpMsg);
- #ifdef UNICODE
- #define IsDialogMessage IsDialogMessageW
- #else
- #define IsDialogMessage IsDialogMessageA
- #endif // !UNICODE
- #endif /* !NOMSG */
- WINUSERAPI
- BOOL
- WINAPI
- MapDialogRect(
- HWND hDlg,
- LPRECT lpRect);
- WINUSERAPI
- int
- WINAPI
- DlgDirListA(
- HWND hDlg,
- LPSTR lpPathSpec,
- int nIDListBox,
- int nIDStaticPath,
- UINT uFileType);
- WINUSERAPI
- int
- WINAPI
- DlgDirListW(
- HWND hDlg,
- LPWSTR lpPathSpec,
- int nIDListBox,
- int nIDStaticPath,
- UINT uFileType);
- #ifdef UNICODE
- #define DlgDirList DlgDirListW
- #else
- #define DlgDirList DlgDirListA
- #endif // !UNICODE
- /*
- * DlgDirList, DlgDirListComboBox flags values
- */
- #define DDL_READWRITE 0x0000
- #define DDL_READONLY 0x0001
- #define DDL_HIDDEN 0x0002
- #define DDL_SYSTEM 0x0004
- #define DDL_DIRECTORY 0x0010
- #define DDL_ARCHIVE 0x0020
- #define DDL_POSTMSGS 0x2000
- #define DDL_DRIVES 0x4000
- #define DDL_EXCLUSIVE 0x8000
- WINUSERAPI
- BOOL
- WINAPI
- DlgDirSelectExA(
- HWND hDlg,
- LPSTR lpString,
- int nCount,
- int nIDListBox);
- WINUSERAPI
- BOOL
- WINAPI
- DlgDirSelectExW(
- HWND hDlg,
- LPWSTR lpString,
- int nCount,
- int nIDListBox);
- #ifdef UNICODE
- #define DlgDirSelectEx DlgDirSelectExW
- #else
- #define DlgDirSelectEx DlgDirSelectExA
- #endif // !UNICODE
- WINUSERAPI
- int
- WINAPI
- DlgDirListComboBoxA(
- HWND hDlg,
- LPSTR lpPathSpec,
- int nIDComboBox,
- int nIDStaticPath,
- UINT uFiletype);
- WINUSERAPI
- int
- WINAPI
- DlgDirListComboBoxW(
- HWND hDlg,
- LPWSTR lpPathSpec,
- int nIDComboBox,
- int nIDStaticPath,
- UINT uFiletype);
- #ifdef UNICODE
- #define DlgDirListComboBox DlgDirListComboBoxW
- #else
- #define DlgDirListComboBox DlgDirListComboBoxA
- #endif // !UNICODE
- WINUSERAPI
- BOOL
- WINAPI
- DlgDirSelectComboBoxExA(
- HWND hDlg,
- LPSTR lpString,
- int nCount,
- int nIDComboBox);
- WINUSERAPI
- BOOL
- WINAPI
- DlgDirSelectComboBoxExW(
- HWND hDlg,
- LPWSTR lpString,
- int nCount,
- int nIDComboBox);
- #ifdef UNICODE
- #define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW
- #else
- #define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA
- #endif // !UNICODE
- // begin_r_winuser
- /*
- * Dialog Styles
- */
- #define DS_ABSALIGN 0x01L
- #define DS_SYSMODAL 0x02L
- #define DS_LOCALEDIT 0x20L /* Edit items get Local storage. */
- #define DS_SETFONT 0x40L /* User specified font for Dlg controls */
- #define DS_MODALFRAME 0x80L /* Can be combined with WS_CAPTION */
- #define DS_NOIDLEMSG 0x100L /* WM_ENTERIDLE message will not be sent */
- #define DS_SETFOREGROUND 0x200L /* not in win3.1 */
- #if(WINVER >= 0x0400)
- #define DS_3DLOOK 0x0004L
- #define DS_FIXEDSYS 0x0008L
- #define DS_NOFAILCREATE 0x0010L
- #define DS_CONTROL 0x0400L
- #define DS_CENTER 0x0800L
- #define DS_CENTERMOUSE 0x1000L
- #define DS_CONTEXTHELP 0x2000L
- #endif /* WINVER >= 0x0400 */
- // end_r_winuser
- #define DM_GETDEFID (WM_USER+0)
- #define DM_SETDEFID (WM_USER+1)
- #if(WINVER >= 0x0400)
- #define DM_REPOSITION (WM_USER+2)
- #define PSM_PAGEINFO (WM_USER+100)
- #define PSM_SHEETINFO (WM_USER+101)
- #define PSI_SETACTIVE 0x0001L
- #define PSI_KILLACTIVE 0x0002L
- #define PSI_APPLY 0x0003L
- #define PSI_RESET 0x0004L
- #define PSI_HASHELP 0x0005L
- #define PSI_HELP 0x0006L
- #define PSI_CHANGED 0x0001L
- #define PSI_GUISTART 0x0002L
- #define PSI_REBOOT 0x0003L
- #define PSI_GETSIBLINGS 0x0004L
- #endif /* WINVER >= 0x0400 */
- /*
- * Returned in HIWORD() of DM_GETDEFID result if msg is supported
- */
- #define DC_HASDEFID 0x534B
- /*
- * Dialog Codes
- */
- #define DLGC_WANTARROWS 0x0001 /* Control wants arrow keys */
- #define DLGC_WANTTAB 0x0002 /* Control wants tab keys */
- #define DLGC_WANTALLKEYS 0x0004 /* Control wants all keys */
- #define DLGC_WANTMESSAGE 0x0004 /* Pass message to control */
- #define DLGC_HASSETSEL 0x0008 /* Understands EM_SETSEL message */
- #define DLGC_DEFPUSHBUTTON 0x0010 /* Default pushbutton */
- #define DLGC_UNDEFPUSHBUTTON 0x0020 /* Non-default pushbutton */
- #define DLGC_RADIOBUTTON 0x0040 /* Radio button */
- #define DLGC_WANTCHARS 0x0080 /* Want WM_CHAR messages */
- #define DLGC_STATIC 0x0100 /* Static item: don't include */
- #define DLGC_BUTTON 0x2000 /* Button item: can be checked */
- #define LB_CTLCODE 0L
- /*
- * Listbox Return Values
- */
- #define LB_OKAY 0
- #define LB_ERR (-1)
- #define LB_ERRSPACE (-2)
- /*
- ** The idStaticPath parameter to DlgDirList can have the following values
- ** ORed if the list box should show other details of the files along with
- ** the name of the files;
- */
- /* all other details also will be returned */
- /*
- * Listbox Notification Codes
- */
- #define LBN_ERRSPACE (-2)
- #define LBN_SELCHANGE 1
- #define LBN_DBLCLK 2
- #define LBN_SELCANCEL 3
- #define LBN_SETFOCUS 4
- #define LBN_KILLFOCUS 5
- #ifndef NOWINMESSAGES
- /*
- * Listbox messages
- */
- #define LB_ADDSTRING 0x0180
- #define LB_INSERTSTRING 0x0181
- #define LB_DELETESTRING 0x0182
- #define LB_SELITEMRANGEEX 0x0183
- #define LB_RESETCONTENT 0x0184
- #define LB_SETSEL 0x0185
- #define LB_SETCURSEL 0x0186
- #define LB_GETSEL 0x0187
- #define LB_GETCURSEL 0x0188
- #define LB_GETTEXT 0x0189
- #define LB_GETTEXTLEN 0x018A
- #define LB_GETCOUNT 0x018B
- #define LB_SELECTSTRING 0x018C
- #define LB_DIR 0x018D
- #define LB_GETTOPINDEX 0x018E
- #define LB_FINDSTRING 0x018F
- #define LB_GETSELCOUNT 0x0190
- #define LB_GETSELITEMS 0x0191
- #define LB_SETTABSTOPS 0x0192
- #define LB_GETHORIZONTALEXTENT 0x0193
- #define LB_SETHORIZONTALEXTENT 0x0194
- #define LB_SETCOLUMNWIDTH 0x0195
- #define LB_ADDFILE 0x0196
- #define LB_SETTOPINDEX 0x0197
- #define LB_GETITEMRECT 0x0198
- #define LB_GETITEMDATA 0x0199
- #define LB_SETITEMDATA 0x019A
- #define LB_SELITEMRANGE 0x019B
- #define LB_SETANCHORINDEX 0x019C
- #define LB_GETANCHORINDEX 0x019D
- #define LB_SETCARETINDEX 0x019E
- #define LB_GETCARETINDEX 0x019F
- #define LB_SETITEMHEIGHT 0x01A0
- #define LB_GETITEMHEIGHT 0x01A1
- #define LB_FINDSTRINGEXACT 0x01A2
- #define LB_SETLOCALE 0x01A5
- #define LB_GETLOCALE 0x01A6
- #define LB_SETCOUNT 0x01A7
- #if(WINVER >= 0x0400)
- #define LB_INITSTORAGE 0x01A8
- #define LB_ITEMFROMPOINT 0x01A9
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0400)
- #define LB_MSGMAX 0x01B0
- #else
- #define LB_MSGMAX 0x01A8
- #endif
- #endif /* !NOWINMESSAGES */
- #ifndef NOWINSTYLES
- // begin_r_winuser
- /*
- * Listbox Styles
- */
- #define LBS_NOTIFY 0x0001L
- #define LBS_SORT 0x0002L
- #define LBS_NOREDRAW 0x0004L
- #define LBS_MULTIPLESEL 0x0008L
- #define LBS_OWNERDRAWFIXED 0x0010L
- #define LBS_OWNERDRAWVARIABLE 0x0020L
- #define LBS_HASSTRINGS 0x0040L
- #define LBS_USETABSTOPS 0x0080L
- #define LBS_NOINTEGRALHEIGHT 0x0100L
- #define LBS_MULTICOLUMN 0x0200L
- #define LBS_WANTKEYBOARDINPUT 0x0400L
- #define LBS_EXTENDEDSEL 0x0800L
- #define LBS_DISABLENOSCROLL 0x1000L
- #define LBS_NODATA 0x2000L
- #if(WINVER >= 0x0400)
- #define LBS_NOSEL 0x4000L
- #endif /* WINVER >= 0x0400 */
- #define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
- // end_r_winuser
- #endif /* !NOWINSTYLES */
- /*
- * Combo Box return Values
- */
- #define CB_OKAY 0
- #define CB_ERR (-1)
- #define CB_ERRSPACE (-2)
- /*
- * Combo Box Notification Codes
- */
- #define CBN_ERRSPACE (-1)
- #define CBN_SELCHANGE 1
- #define CBN_DBLCLK 2
- #define CBN_SETFOCUS 3
- #define CBN_KILLFOCUS 4
- #define CBN_EDITCHANGE 5
- #define CBN_EDITUPDATE 6
- #define CBN_DROPDOWN 7
- #define CBN_CLOSEUP 8
- #define CBN_SELENDOK 9
- #define CBN_SELENDCANCEL 10
- #ifndef NOWINSTYLES
- // begin_r_winuser
- /*
- * Combo Box styles
- */
- #define CBS_SIMPLE 0x0001L
- #define CBS_DROPDOWN 0x0002L
- #define CBS_DROPDOWNLIST 0x0003L
- #define CBS_OWNERDRAWFIXED 0x0010L
- #define CBS_OWNERDRAWVARIABLE 0x0020L
- #define CBS_AUTOHSCROLL 0x0040L
- #define CBS_OEMCONVERT 0x0080L
- #define CBS_SORT 0x0100L
- #define CBS_HASSTRINGS 0x0200L
- #define CBS_NOINTEGRALHEIGHT 0x0400L
- #define CBS_DISABLENOSCROLL 0x0800L
- #if(WINVER >= 0x0400)
- #define CBS_UPPERCASE 0x2000L
- #define CBS_LOWERCASE 0x4000L
- #endif /* WINVER >= 0x0400 */
- // end_r_winuser
- #endif /* !NOWINSTYLES */
- /*
- * Combo Box messages
- */
- #ifndef NOWINMESSAGES
- #define CB_GETEDITSEL 0x0140
- #define CB_LIMITTEXT 0x0141
- #define CB_SETEDITSEL 0x0142
- #define CB_ADDSTRING 0x0143
- #define CB_DELETESTRING 0x0144
- #define CB_DIR 0x0145
- #define CB_GETCOUNT 0x0146
- #define CB_GETCURSEL 0x0147
- #define CB_GETLBTEXT 0x0148
- #define CB_GETLBTEXTLEN 0x0149
- #define CB_INSERTSTRING 0x014A
- #define CB_RESETCONTENT 0x014B
- #define CB_FINDSTRING 0x014C
- #define CB_SELECTSTRING 0x014D
- #define CB_SETCURSEL 0x014E
- #define CB_SHOWDROPDOWN 0x014F
- #define CB_GETITEMDATA 0x0150
- #define CB_SETITEMDATA 0x0151
- #define CB_GETDROPPEDCONTROLRECT 0x0152
- #define CB_SETITEMHEIGHT 0x0153
- #define CB_GETITEMHEIGHT 0x0154
- #define CB_SETEXTENDEDUI 0x0155
- #define CB_GETEXTENDEDUI 0x0156
- #define CB_GETDROPPEDSTATE 0x0157
- #define CB_FINDSTRINGEXACT 0x0158
- #define CB_SETLOCALE 0x0159
- #define CB_GETLOCALE 0x015A
- #if(WINVER >= 0x0400)
- #define CB_GETTOPINDEX 0x015b
- #define CB_SETTOPINDEX 0x015c
- #define CB_GETHORIZONTALEXTENT 0x015d
- #define CB_SETHORIZONTALEXTENT 0x015e
- #define CB_GETDROPPEDWIDTH 0x015f
- #define CB_SETDROPPEDWIDTH 0x0160
- #define CB_INITSTORAGE 0x0161
- #endif /* WINVER >= 0x0400 */
- #if(WINVER >= 0x0400)
- #define CB_MSGMAX 0x0162
- #else
- #define CB_MSGMAX 0x015B
- #endif
- #endif /* !NOWINMESSAGES */
- #ifndef NOWINSTYLES
- // begin_r_winuser
- /*
- * Scroll Bar Styles
- */
- #define SBS_HORZ 0x0000L
- #define SBS_VERT 0x0001L
- #define SBS_TOPALIGN 0x0002L
- #define SBS_LEFTALIGN 0x0002L
- #define SBS_BOTTOMALIGN 0x0004L
- #define SBS_RIGHTALIGN 0x0004L
- #define SBS_SIZEBOXTOPLEFTALIGN 0x0002L
- #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
- #define SBS_SIZEBOX 0x0008L
- #if(WINVER >= 0x0400)
- #define SBS_SIZEGRIP 0x0010L
- #endif /* WINVER >= 0x0400 */
- // end_r_winuser
- #endif /* !NOWINSTYLES */
- /*
- * Scroll bar messages
- */
- #ifndef NOWINMESSAGES
- #define SBM_SETPOS 0x00E0 /*not in win3.1 */
- #define SBM_GETPOS 0x00E1 /*not in win3.1 */
- #define SBM_SETRANGE 0x00E2 /*not in win3.1 */
- #define SBM_SETRANGEREDRAW 0x00E6 /*not in win3.1 */
- #define SBM_GETRANGE 0x00E3 /*not in win3.1 */
- #define SBM_ENABLE_ARROWS 0x00E4 /*not in win3.1 */
- #if(WINVER >= 0x0400)
- #define SBM_SETSCROLLINFO 0x00E9
- #define SBM_GETSCROLLINFO 0x00EA
- #define SIF_RANGE 0x0001
- #define SIF_PAGE 0x0002
- #define SIF_POS 0x0004
- #define SIF_DISABLENOSCROLL 0x0008
- #define SIF_TRACKPOS 0x0010
- #define SIF_ALL (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)
- typedef struct tagSCROLLINFO
- {
- UINT cbSize;
- UINT fMask;
- int nMin;
- int nMax;
- UINT nPage;
- int nPos;
- int nTrackPos;
- } SCROLLINFO, FAR *LPSCROLLINFO;
- typedef SCROLLINFO CONST FAR *LPCSCROLLINFO;
- WINUSERAPI int WINAPI SetScrollInfo(HWND, int, LPCSCROLLINFO, BOOL);
- WINUSERAPI BOOL WINAPI GetScrollInfo(HWND, int, LPSCROLLINFO);
- #endif /* WINVER >= 0x0400 */
- #endif /* !NOWINMESSAGES */
- #endif /* !NOCTLMGR */
- #ifndef NOMDI
- /*
- * MDI client style bits
- */
- #define MDIS_ALLCHILDSTYLES 0x0001
- /*
- * wParam Flags for WM_MDITILE and WM_MDICASCADE messages.
- */
- #define MDITILE_VERTICAL 0x0000 /*not in win3.1 */
- #define MDITILE_HORIZONTAL 0x0001 /*not in win3.1 */
- #define MDITILE_SKIPDISABLED 0x0002 /*not in win3.1 */
- typedef struct tagMDICREATESTRUCTA {
- LPCSTR szClass;
- LPCSTR szTitle;
- HANDLE hOwner;
- int x;
- int y;
- int cx;
- int cy;
- DWORD style;
- LPARAM lParam; /* app-defined stuff */
- } MDICREATESTRUCTA, *LPMDICREATESTRUCTA;
- typedef struct tagMDICREATESTRUCTW {
- LPCWSTR szClass;
- LPCWSTR szTitle;
- HANDLE hOwner;
- int x;
- int y;
- int cx;
- int cy;
- DWORD style;
- LPARAM lParam; /* app-defined stuff */
- } MDICREATESTRUCTW, *LPMDICREATESTRUCTW;
- #ifdef UNICODE
- typedef MDICREATESTRUCTW MDICREATESTRUCT;
- typedef LPMDICREATESTRUCTW LPMDICREATESTRUCT;
- #else
- typedef MDICREATESTRUCTA MDICREATESTRUCT;
- typedef LPMDICREATESTRUCTA LPMDICREATESTRUCT;
- #endif // UNICODE
- typedef struct tagCLIENTCREATESTRUCT {
- HANDLE hWindowMenu;
- UINT idFirstChild;
- } CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;
- WINUSERAPI
- LRESULT
- WINAPI
- DefFrameProcA(
- HWND hWnd,
- HWND hWndMDIClient ,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam);
- WINUSERAPI
- LRESULT
- WINAPI
- DefFrameProcW(
- HWND hWnd,
- HWND hWndMDIClient ,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam);
- #ifdef UNICODE
- #define DefFrameProc DefFrameProcW
- #else
- #define DefFrameProc DefFrameProcA
- #endif // !UNICODE
- WINUSERAPI
- LRESULT
- WINAPI
- DefMDIChildProcA(
- HWND hWnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam);
- WINUSERAPI
- LRESULT
- WINAPI
- DefMDIChildProcW(
- HWND hWnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam);
- #ifdef UNICODE
- #define DefMDIChildProc DefMDIChildProcW
- #else
- #define DefMDIChildProc DefMDIChildProcA
- #endif // !UNICODE
- #ifndef NOMSG
- WINUSERAPI
- BOOL
- WINAPI
- TranslateMDISysAccel(
- HWND hWndClient,
- LPMSG lpMsg);
- #endif /* !NOMSG */
- WINUSERAPI
- UINT
- WINAPI
- ArrangeIconicWindows(
- HWND hWnd);
- WINUSERAPI
- HWND
- WINAPI
- CreateMDIWindowA(
- LPSTR lpClassName,
- LPSTR lpWindowName,
- DWORD dwStyle,
- int X,
- int Y,
- int nWidth,
- int nHeight,
- HWND hWndParent,
- HINSTANCE hInstance,
- LPARAM lParam
- );
- WINUSERAPI
- HWND
- WINAPI
- CreateMDIWindowW(
- LPWSTR lpClassName,
- LPWSTR lpWindowName,
- DWORD dwStyle,
- int X,
- int Y,
- int nWidth,
- int nHeight,
- HWND hWndParent,
- HINSTANCE hInstance,
- LPARAM lParam
- );
- #ifdef UNICODE
- #define CreateMDIWindow CreateMDIWindowW
- #else
- #define CreateMDIWindow CreateMDIWindowA
- #endif // !UNICODE
- #if(WINVER >= 0x0400)
- WINUSERAPI WORD WINAPI TileWindows(HWND hwndParent, UINT wHow, CONST RECT * lpRect, UINT cKids, const HWND FAR * lpKids);
- WINUSERAPI WORD WINAPI CascadeWindows(HWND hwndParent, UINT wHow, CONST RECT * lpRect, UINT cKids, const HWND FAR * lpKids);
- #endif /* WINVER >= 0x0400 */
- #endif /* !NOMDI */
- #endif /* !NOUSER */
- /****** Help support ********************************************************/
- #ifndef NOHELP
- typedef DWORD HELPPOLY;
- typedef struct tagMULTIKEYHELPA {
- DWORD mkSize;
- CHAR mkKeylist;
- CHAR szKeyphrase[1];
- } MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
- typedef struct tagMULTIKEYHELPW {
- DWORD mkSize;
- WCHAR mkKeylist;
- WCHAR szKeyphrase[1];
- } MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
- #ifdef UNICODE
- typedef MULTIKEYHELPW MULTIKEYHELP;
- typedef PMULTIKEYHELPW PMULTIKEYHELP;
- typedef LPMULTIKEYHELPW LPMULTIKEYHELP;
- #else
- typedef MULTIKEYHELPA MULTIKEYHELP;
- typedef PMULTIKEYHELPA PMULTIKEYHELP;
- typedef LPMULTIKEYHELPA LPMULTIKEYHELP;
- #endif // UNICODE
- typedef struct tagHELPWININFOA {
- int wStructSize;
- int x;
- int y;
- int dx;
- int dy;
- int wMax;
- CHAR rgchMember[2];
- } HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;
- typedef struct tagHELPWININFOW {
- int wStructSize;
- int x;
- int y;
- int dx;
- int dy;
- int wMax;
- WCHAR rgchMember[2];
- } HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
- #ifdef UNICODE
- typedef HELPWININFOW HELPWININFO;
- typedef PHELPWININFOW PHELPWININFO;
- typedef LPHELPWININFOW LPHELPWININFO;
- #else
- typedef HELPWININFOA HELPWININFO;
- typedef PHELPWININFOA PHELPWININFO;
- typedef LPHELPWININFOA LPHELPWININFO;
- #endif // UNICODE
- // begin_r_winuser
- /*
- * Commands to pass to WinHelp()
- */
- #define HELP_CONTEXT 0x0001L /* Display topic in ulTopic */
- #define HELP_QUIT 0x0002L /* Terminate help */
- #define HELP_INDEX 0x0003L /* Display index */
- #define HELP_CONTENTS 0x0003L
- #define HELP_HELPONHELP 0x0004L /* Display help on using help */
- #define HELP_SETINDEX 0x0005L /* Set current Index for multi index help */
- #define HELP_SETCONTENTS 0x0005L
- #define HELP_CONTEXTPOPUP 0x0008L
- #define HELP_FORCEFILE 0x0009L
- #define HELP_KEY 0x0101L /* Display topic for keyword in offabData */
- #define HELP_COMMAND 0x0102L
- #define HELP_PARTIALKEY 0x0105L
- #define HELP_MULTIKEY 0x0201L
- #define HELP_SETWINPOS 0x0203L
- #if(WINVER >= 0x0400)
- #define HELP_CONTEXTMENU 0x000a
- #define HELP_FINDER 0x000b
- #define HELP_WM_HELP 0x000c
- #define HELP_SETPOPUP_POS 0x000d
- #define HELP_TCARD 0x8000
- #define HELP_TCARD_DATA 0x0010
- #define HELP_TCARD_OTHER_CALLER 0x0011
- // These are in winhelp.h in Win95.
- #define IDH_NO_HELP 28440
- #define IDH_MISSING_CONTEXT 28441 // Control doesn't have matching help context
- #define IDH_GENERIC_HELP_BUTTON 28442 // Property sheet help button
- #define IDH_OK 28443
- #define IDH_CANCEL 28444
- #define IDH_HELP 28445
- #endif /* WINVER >= 0x0400 */
- // end_r_winuser
- WINUSERAPI
- BOOL
- WINAPI
- WinHelpA(
- HWND hWndMain,
- LPCSTR lpszHelp,
- UINT uCommand,
- DWORD dwData
- );
- WINUSERAPI
- BOOL
- WINAPI
- WinHelpW(
- HWND hWndMain,
- LPCWSTR lpszHelp,
- UINT uCommand,
- DWORD dwData
- );
- #ifdef UNICODE
- #define WinHelp WinHelpW
- #else
- #define WinHelp WinHelpA
- #endif // !UNICODE
- #endif /* !NOHELP */
- #if (_WIN32_WINDOWS >= 0x040A)
- #define GR_GDIOBJECTS 0 /* Count of GDI objects */
- #define GR_USEROBJECTS 1 /* Count of USER objects */
- DWORD GetGuiResources(HANDLE hProcess, DWORD uiFlags);
- #endif
- #ifndef NOSYSPARAMSINFO
- /*
- * Parameter for SystemParametersInfo()
- */
- #define SPI_GETBEEP 1
- #define SPI_SETBEEP 2
- #define SPI_GETMOUSE 3
- #define SPI_SETMOUSE 4
- #define SPI_GETBORDER 5
- #define SPI_SETBORDER 6
- #define SPI_GETKEYBOARDSPEED 10
- #define SPI_SETKEYBOARDSPEED 11
- #define SPI_LANGDRIVER 12
- #define SPI_ICONHORIZONTALSPACING 13
- #define SPI_GETSCREENSAVETIMEOUT 14
- #define SPI_SETSCREENSAVETIMEOUT 15
- #define SPI_GETSCREENSAVEACTIVE 16
- #define SPI_SETSCREENSAVEACTIVE 17
- #define SPI_GETGRIDGRANULARITY 18
- #define SPI_SETGRIDGRANULARITY 19
- #define SPI_SETDESKWALLPAPER 20
- #define SPI_SETDESKPATTERN 21
- #define SPI_GETKEYBOARDDELAY 22
- #define SPI_SETKEYBOARDDELAY 23
- #define SPI_ICONVERTICALSPACING 24
- #define SPI_GETICONTITLEWRAP 25
- #define SPI_SETICONTITLEWRAP 26
- #define SPI_GETMENUDROPALIGNMENT 27
- #define SPI_SETMENUDROPALIGNMENT 28
- #define SPI_SETDOUBLECLKWIDTH 29
- #define SPI_SETDOUBLECLKHEIGHT 30
- #define SPI_GETICONTITLELOGFONT 31
- #define SPI_SETDOUBLECLICKTIME 32
- #define SPI_SETMOUSEBUTTONSWAP 33
- #define SPI_SETICONTITLELOGFONT 34
- #define SPI_GETFASTTASKSWITCH 35
- #define SPI_SETFASTTASKSWITCH 36
- #if(WINVER >= 0x0400)
- #define SPI_SETDRAGFULLWINDOWS 37
- #define SPI_GETDRAGFULLWINDOWS 38
- #define SPI_GETNONCLIENTMETRICS 41
- #define SPI_SETNONCLIENTMETRICS 42
- #define SPI_GETMINIMIZEDMETRICS 43
- #define SPI_SETMINIMIZEDMETRICS 44
- #define SPI_GETICONMETRICS 45
- #define SPI_SETICONMETRICS 46
- #define SPI_SETWORKAREA 47
- #define SPI_GETWORKAREA 48
- #define SPI_SETPENWINDOWS 49
- #define SPI_GETHIGHCONTRAST 66
- #define SPI_SETHIGHCONTRAST 67
- #define SPI_GETKEYBOARDPREF 68
- #define SPI_SETKEYBOARDPREF 69
- #define SPI_GETSCREENREADER 70
- #define SPI_SETSCREENREADER 71
- #define SPI_GETANIMATION 72
- #define SPI_SETANIMATION 73
- #define SPI_GETFONTSMOOTHING 74
- #define SPI_SETFONTSMOOTHING 75
- #define SPI_SETDRAGWIDTH 76
- #define SPI_SETDRAGHEIGHT 77
- #define SPI_SETHANDHELD 78
- #define SPI_GETLOWPOWERTIMEOUT 79
- #define SPI_GETPOWEROFFTIMEOUT 80
- #define SPI_SETLOWPOWERTIMEOUT 81
- #define SPI_SETPOWEROFFTIMEOUT 82
- #define SPI_GETLOWPOWERACTIVE 83
- #define SPI_GETPOWEROFFACTIVE 84
- #define SPI_SETLOWPOWERACTIVE 85
- #define SPI_SETPOWEROFFACTIVE 86
- #define SPI_SETCURSORS 87
- #define SPI_SETICONS 88
- #define SPI_GETDEFAULTINPUTLANG 89
- #define SPI_SETDEFAULTINPUTLANG 90
- #define SPI_SETLANGTOGGLE 91
- #define SPI_GETWINDOWSEXTENSION 92
- #define SPI_SETMOUSETRAILS 93
- #define SPI_GETMOUSETRAILS 94
- #define SPI_SETSCREENSAVERRUNNING 97
- #define SPI_SCREENSAVERRUNNING SPI_SETSCREENSAVERRUNNING
- #endif /* WINVER >= 0x0400 */
- #define SPI_GETFILTERKEYS 50
- #define SPI_SETFILTERKEYS 51
- #define SPI_GETTOGGLEKEYS 52
- #define SPI_SETTOGGLEKEYS 53
- #define SPI_GETMOUSEKEYS 54
- #define SPI_SETMOUSEKEYS 55
- #define SPI_GETSHOWSOUNDS 56
- #define SPI_SETSHOWSOUNDS 57
- #define SPI_GETSTICKYKEYS 58
- #define SPI_SETSTICKYKEYS 59
- #define SPI_GETACCESSTIMEOUT 60
- #define SPI_SETACCESSTIMEOUT 61
- #if(WINVER >= 0x0400)
- #define SPI_GETSERIALKEYS 62
- #define SPI_SETSERIALKEYS 63
- #endif /* WINVER >= 0x0400 */
- #define SPI_GETSOUNDSENTRY 64
- #define SPI_SETSOUNDSENTRY 65
- #define SPI_GETSNAPTODEFBUTTON 95
- #define SPI_SETSNAPTODEFBUTTON 96
- #if(_WIN32_WINDOWS >= 0x040a)
- #define SPI_GETMOUSEHOVERWIDTH 98
- #define SPI_SETMOUSEHOVERWIDTH 99
- #define SPI_GETMOUSEHOVERHEIGHT 100
- #define SPI_SETMOUSEHOVERHEIGHT 101
- #define SPI_GETMOUSEHOVERTIME 102
- #define SPI_SETMOUSEHOVERTIME 103
- #define SPI_GETWHEELSCROLLLINES 104
- #define SPI_SETWHEELSCROLLLINES 105
- #define SPI_GETSHOWIMEUI 110
- #define SPI_SETSHOWIMEUI 111
- #endif /* _WIN32_WINDOWS >= 0x040a */
- #if (_WIN32_WINDOWS >= 0x040A)
- #define SPI_GETMOUSESPEED 112
- #define SPI_SETMOUSESPEED 113
- #define SPI_GETSCREENSAVERRUNNING 114
- #endif // (_WIN32_WINDOWS >= 0x040A)
- #if (_WIN32_WINDOWS >=0x0500)
- #define SPI_GETDESKWALLPAPER 115
- #endif // (_WIN32_WINDOWS >=0x0500)
- #if (_WIN32_WINDOWS >= 0x045A)
- #define SPI_GETCLEARTYPE 116
- #define SPI_SETCLEARTYPE 117
- #endif // (_WIN32_WINDOWS >= 0x045A)
- #if (_WIN32_WINDOWS >= 0x040A)
- #define SPI_GETACTIVEWINDOWTRACKING 0x1000
- #define SPI_SETACTIVEWINDOWTRACKING 0x1001
- #define SPI_GETMENUANIMATION 0x1002
- #define SPI_SETMENUANIMATION 0x1003
- #define SPI_GETCOMBOBOXANIMATION 0x1004
- #define SPI_SETCOMBOBOXANIMATION 0x1005
- #define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006
- #define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007
- #define SPI_GETGRADIENTCAPTIONS 0x1008
- #define SPI_SETGRADIENTCAPTIONS 0x1009
- #define SPI_GETMENUUNDERLINES 0x100A
- #define SPI_SETMENUUNDERLINES 0x100B
- #define SPI_GETACTIVEWNDTRKZORDER 0x100C
- #define SPI_SETACTIVEWNDTRKZORDER 0x100D
- #define SPI_GETHOTTRACKING 0x100E
- #define SPI_SETHOTTRACKING 0x100F
- // 0x1010-0x1B: used in Win2K
- #define SPI_GETMOUSESONAR 0x101C
- #define SPI_SETMOUSESONAR 0x101D
- #define SPI_GETMOUSECLICKLOCK 0x101E
- #define SPI_SETMOUSECLICKLOCK 0x101F
- #define SPI_GETMOUSEVANISH 0x1020
- #define SPI_SETMOUSEVANISH 0x1021
- #define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000
- #define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001
- #define SPI_GETACTIVEWNDTRKTIMEOUT 0x2002
- #define SPI_SETACTIVEWNDTRKTIMEOUT 0x2003
- #define SPI_GETFOREGROUNDFLASHCOUNT 0x2004
- #define SPI_SETFOREGROUNDFLASHCOUNT 0x2005
- #endif // (_WIN32_WINDOWS >= 0x040A)
- #if (_WIN32_WINDOWS >= 0x045A)
- #define SPI_GETCARETWIDTH 0x2006
- #define SPI_SETCARETWIDTH 0x2007
- #define SPI_GETMOUSECLICKLOCKTIME 0x2008
- #define SPI_SETMOUSECLICKLOCKTIME 0x2009
- #endif // (_WIN32_WINDOWS >= 0x045A)
- /*
- * SPI User Preferences.
- */
- /*
- * Flags
- */
- #define SPIF_UPDATEINIFILE 0x0001
- #define SPIF_SENDWININICHANGE 0x0002
- #define SPIF_SENDCHANGE SPIF_SENDWININICHANGE
- #define METRICS_USEDEFAULT -1
- #ifdef _WINGDI_
- #ifndef NOGDI
- typedef struct tagNONCLIENTMETRICSA
- {
- UINT cbSize;
- int iBorderWidth;
- int iScrollWidth;
- int iScrollHeight;
- int iCaptionWidth;
- int iCaptionHeight;
- LOGFONTA lfCaptionFont;
- int iSmCaptionWidth;
- int iSmCaptionHeight;
- LOGFONTA lfSmCaptionFont;
- int iMenuWidth;
- int iMenuHeight;
- LOGFONTA lfMenuFont;
- LOGFONTA lfStatusFont;
- LOGFONTA lfMessageFont;
- } NONCLIENTMETRICSA, *PNONCLIENTMETRICSA, FAR* LPNONCLIENTMETRICSA;
- typedef struct tagNONCLIENTMETRICSW
- {
- UINT cbSize;
- int iBorderWidth;
- int iScrollWidth;
- int iScrollHeight;
- int iCaptionWidth;
- int iCaptionHeight;
- LOGFONTW lfCaptionFont;
- int iSmCaptionWidth;
- int iSmCaptionHeight;
- LOGFONTW lfSmCaptionFont;
- int iMenuWidth;
- int iMenuHeight;
- LOGFONTW lfMenuFont;
- LOGFONTW lfStatusFont;
- LOGFONTW lfMessageFont;
- } NONCLIENTMETRICSW, *PNONCLIENTMETRICSW, FAR* LPNONCLIENTMETRICSW;
- #ifdef UNICODE
- typedef NONCLIENTMETRICSW NONCLIENTMETRICS;
- typedef PNONCLIENTMETRICSW PNONCLIENTMETRICS;
- typedef LPNONCLIENTMETRICSW LPNONCLIENTMETRICS;
- #else
- typedef NONCLIENTMETRICSA NONCLIENTMETRICS;
- typedef PNONCLIENTMETRICSA PNONCLIENTMETRICS;
- typedef LPNONCLIENTMETRICSA LPNONCLIENTMETRICS;
- #endif // UNICODE
- #endif /* NOGDI */
- #endif /* _WINGDI_ */
- #define ARW_BOTTOMLEFT 0x0000L
- #define ARW_BOTTOMRIGHT 0x0001L
- #define ARW_TOPLEFT 0x0002L
- #define ARW_TOPRIGHT 0x0003L
- #define ARW_STARTMASK 0x0003L
- #define ARW_STARTRIGHT 0x0001L
- #define ARW_STARTTOP 0x0002L
- #define ARW_LEFT 0x0000L
- #define ARW_RIGHT 0x0000L
- #define ARW_UP 0x0004L
- #define ARW_DOWN 0x0004L
- #define ARW_HIDE 0x0008L
- typedef struct tagMINIMIZEDMETRICS
- {
- UINT cbSize;
- int iWidth;
- int iHorzGap;
- int iVertGap;
- int iArrange;
- } MINIMIZEDMETRICS, *PMINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;
- #ifdef _WINGDI_
- #ifndef NOGDI
- typedef struct tagICONMETRICSA
- {
- UINT cbSize;
- int iHorzSpacing;
- int iVertSpacing;
- int iTitleWrap;
- LOGFONTA lfFont;
- } ICONMETRICSA, *PICONMETRICSA, *LPICONMETRICSA;
- typedef struct tagICONMETRICSW
- {
- UINT cbSize;
- int iHorzSpacing;
- int iVertSpacing;
- int iTitleWrap;
- LOGFONTW lfFont;
- } ICONMETRICSW, *PICONMETRICSW, *LPICONMETRICSW;
- #ifdef UNICODE
- typedef ICONMETRICSW ICONMETRICS;
- typedef PICONMETRICSW PICONMETRICS;
- typedef LPICONMETRICSW LPICONMETRICS;
- #else
- typedef ICONMETRICSA ICONMETRICS;
- typedef PICONMETRICSA PICONMETRICS;
- typedef LPICONMETRICSA LPICONMETRICS;
- #endif // UNICODE
- #endif /* NOGDI */
- #endif /* _WINGDI_ */
- typedef struct tagANIMATIONINFO
- {
- UINT cbSize;
- int iMinAnimate;
- } ANIMATIONINFO, *LPANIMATIONINFO;
- typedef struct tagSERIALKEYSA
- {
- UINT cbSize;
- DWORD dwFlags;
- LPSTR lpszActivePort;
- LPSTR lpszPort;
- UINT iBaudRate;
- UINT iPortState;
- UINT iActive;
- } SERIALKEYSA, *LPSERIALKEYSA;
- typedef struct tagSERIALKEYSW
- {
- UINT cbSize;
- DWORD dwFlags;
- LPWSTR lpszActivePort;
- LPWSTR lpszPort;
- UINT iBaudRate;
- UINT iPortState;
- UINT iActive;
- } SERIALKEYSW, *LPSERIALKEYSW;
- #ifdef UNICODE
- typedef SERIALKEYSW SERIALKEYS;
- typedef LPSERIALKEYSW LPSERIALKEYS;
- #else
- typedef SERIALKEYSA SERIALKEYS;
- typedef LPSERIALKEYSA LPSERIALKEYS;
- #endif // UNICODE
- /* flags for SERIALKEYS dwFlags field */
- #define SERKF_SERIALKEYSON 0x00000001
- #define SERKF_AVAILABLE 0x00000002
- #define SERKF_INDICATOR 0x00000004
- #if (_WIN32_WINNT >= 0x0500)
- #define MAX_SCHEME_NAME_SIZE 128
- #endif
- typedef struct tagHIGHCONTRASTA
- {
- UINT cbSize;
- DWORD dwFlags;
- LPSTR lpszDefaultScheme;
- } HIGHCONTRASTA, *LPHIGHCONTRASTA;
- typedef struct tagHIGHCONTRASTW
- {
- UINT cbSize;
- DWORD dwFlags;
- LPWSTR lpszDefaultScheme;
- } HIGHCONTRASTW, *LPHIGHCONTRASTW;
- #ifdef UNICODE
- typedef HIGHCONTRASTW HIGHCONTRAST;
- typedef LPHIGHCONTRASTW LPHIGHCONTRAST;
- #else
- typedef HIGHCONTRASTA HIGHCONTRAST;
- typedef LPHIGHCONTRASTA LPHIGHCONTRAST;
- #endif // UNICODE
- /* flags for HIGHCONTRAST dwFlags field */
- #define HCF_HIGHCONTRASTON 0x00000001
- #define HCF_AVAILABLE 0x00000002
- #define HCF_HOTKEYACTIVE 0x00000004
- #define HCF_CONFIRMHOTKEY 0x00000008
- #define HCF_HOTKEYSOUND 0x00000010
- #define HCF_INDICATOR 0x00000020
- #define HCF_HOTKEYAVAILABLE 0x00000040
- /* Flags for ChangeDisplaySettings */
- #define CDS_UPDATEREGISTRY 0x00000001
- #define CDS_TEST 0x00000002
- #define CDS_FULLSCREEN 0x00000004
- #define CDS_GLOBAL 0x00000008
- #define CDS_SET_PRIMARY 0x00000010
- #define CDS_VIDEOPARAMETERS 0x00000020
- #define CDS_RESET 0x40000000
- #define CDS_NORESET 0x10000000
- /* Return values for ChangeDisplaySettings */
- #define DISP_CHANGE_SUCCESSFUL 0
- #define DISP_CHANGE_RESTART 1
- #define DISP_CHANGE_FAILED -1
- #define DISP_CHANGE_BADMODE -2
- #define DISP_CHANGE_NOTUPDATED -3
- #define DISP_CHANGE_BADFLAGS -4
- #define DISP_CHANGE_BADPARAM -5
- #define DISP_CHANGE_BADESC -6
- #ifdef _WINGDI_
- #ifndef NOGDI
- WINUSERAPI
- LONG
- WINAPI
- ChangeDisplaySettingsA(
- LPDEVMODEA lpDevMode,
- DWORD dwFlags);
- WINUSERAPI
- LONG
- WINAPI
- ChangeDisplaySettingsW(
- LPDEVMODEW lpDevMode,
- DWORD dwFlags);
- #ifdef UNICODE
- #define ChangeDisplaySettings ChangeDisplaySettingsW
- #else
- #define ChangeDisplaySettings ChangeDisplaySettingsA
- #endif // !UNICODE
- WINUSERAPI
- LONG
- WINAPI
- ChangeDisplaySettingsExA(
- LPCSTR lpszDeviceName,
- LPDEVMODEA lpDevMode,
- HWND hwnd,
- DWORD dwflags,
- LPVOID lParam);
- WINUSERAPI
- LONG
- WINAPI
- ChangeDisplaySettingsExW(
- LPCWSTR lpszDeviceName,
- LPDEVMODEW lpDevMode,
- HWND hwnd,
- DWORD dwflags,
- LPVOID lParam);
- #ifdef UNICODE
- #define ChangeDisplaySettingsEx ChangeDisplaySettingsExW
- #else
- #define ChangeDisplaySettingsEx ChangeDisplaySettingsExA
- #endif // !UNICODE
- #define ENUM_CURRENT_SETTINGS ((DWORD)-1)
- #define ENUM_REGISTRY_SETTINGS ((DWORD)-2)
- WINUSERAPI
- BOOL
- WINAPI
- EnumDisplaySettingsA(
- LPCSTR lpszDeviceName,
- DWORD iModeNum,
- LPDEVMODEA lpDevMode);
- WINUSERAPI
- BOOL
- WINAPI
- EnumDisplaySettingsW(
- LPCWSTR lpszDeviceName,
- DWORD iModeNum,
- LPDEVMODEW lpDevMode);
- #ifdef UNICODE
- #define EnumDisplaySettings EnumDisplaySettingsW
- #else
- #define EnumDisplaySettings EnumDisplaySettingsA
- #endif // !UNICODE
- #if (_WIN32_WINDOWS >= 0x040A)
- WINUSERAPI
- BOOL
- WINAPI
- EnumDisplaySettingsExA(
- LPCSTR lpszDeviceName,
- DWORD iModeNum,
- LPDEVMODEA lpDevMode,
- DWORD dwFlags);
- WINUSERAPI
- BOOL
- WINAPI
- EnumDisplaySettingsExW(
- LPCWSTR lpszDeviceName,
- DWORD iModeNum,
- LPDEVMODEW lpDevMode,
- DWORD dwFlags);
- #ifdef UNICODE
- #define EnumDisplaySettingsEx EnumDisplaySettingsExW
- #else
- #define EnumDisplaySettingsEx EnumDisplaySettingsExA
- #endif // !UNICODE
- /* Flags for EnumDisplaySettingsEx */
- #define EDS_SHOW_DUPLICATES 0x00000001
- #define EDS_SHOW_MONITOR_NOT_CAPABLE 0x00000002
- // VIDEOPARAMETERS structure moved to tvout.h
- typedef struct _DISPLAY_DEVICEA {
- DWORD cb;
- BYTE DeviceName[32];
- BYTE DeviceString[128];
- DWORD StateFlags;
- } DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA;
- typedef struct _DISPLAY_DEVICEW {
- DWORD cb;
- WCHAR DeviceName[32];
- WCHAR DeviceString[128];
- DWORD StateFlags;
- } DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW;
- #ifdef UNICODE
- typedef DISPLAY_DEVICEW DISPLAY_DEVICE;
- typedef PDISPLAY_DEVICEW PDISPLAY_DEVICE;
- typedef LPDISPLAY_DEVICEW LPDISPLAY_DEVICE;
- #else
- typedef DISPLAY_DEVICEA DISPLAY_DEVICE;
- typedef PDISPLAY_DEVICEA PDISPLAY_DEVICE;
- typedef LPDISPLAY_DEVICEA LPDISPLAY_DEVICE;
- #endif // UNICODE
- #define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
- #define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002
- #define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004
- #define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008
- #define DISPLAY_DEVICE_VGA 0x00000010
- WINUSERAPI
- BOOL
- WINAPI
- EnumDisplayDevicesA(
- PVOID Unused,
- DWORD iDevNum,
- PDISPLAY_DEVICEA lpDisplayDevice,
- DWORD dwFlags);
- WINUSERAPI
- BOOL
- WINAPI
- EnumDisplayDevicesW(
- PVOID Unused,
- DWORD iDevNum,
- PDISPLAY_DEVICEW lpDisplayDevice,
- DWORD dwFlags);
- #ifdef UNICODE
- #define EnumDisplayDevices EnumDisplayDevicesW
- #else
- #define EnumDisplayDevices EnumDisplayDevicesA
- #endif // !UNICODE
- #endif // (_WIN32_WINDOWS >= 0x040A)
- #endif /* NOGDI */
- #endif /* _WINGDI_ */
- WINUSERAPI
- BOOL
- WINAPI
- SystemParametersInfoA(
- UINT uiAction,
- UINT uiParam,
- PVOID pvParam,
- UINT fWinIni);
- WINUSERAPI
- BOOL
- WINAPI
- SystemParametersInfoW(
- UINT uiAction,
- UINT uiParam,
- PVOID pvParam,
- UINT fWinIni);
- #ifdef UNICODE
- #define SystemParametersInfo SystemParametersInfoW
- #else
- #define SystemParametersInfo SystemParametersInfoA
- #endif // !UNICODE
- #endif /* !NOSYSPARAMSINFO */
- /*
- * Accessibility support
- */
- typedef struct tagFILTERKEYS
- {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iWaitMSec; // Acceptance Delay
- DWORD iDelayMSec; // Delay Until Repeat
- DWORD iRepeatMSec; // Repeat Rate
- DWORD iBounceMSec; // Debounce Time
- } FILTERKEYS, *LPFILTERKEYS;
- /*
- * FILTERKEYS dwFlags field
- */
- #define FKF_FILTERKEYSON 0x00000001
- #define FKF_AVAILABLE 0x00000002
- #define FKF_HOTKEYACTIVE 0x00000004
- #define FKF_CONFIRMHOTKEY 0x00000008
- #define FKF_HOTKEYSOUND 0x00000010
- #define FKF_INDICATOR 0x00000020
- #define FKF_CLICKON 0x00000040
- typedef struct tagSTICKYKEYS
- {
- UINT cbSize;
- DWORD dwFlags;
- } STICKYKEYS, *LPSTICKYKEYS;
- /*
- * STICKYKEYS dwFlags field
- */
- #define SKF_STICKYKEYSON 0x00000001
- #define SKF_AVAILABLE 0x00000002
- #define SKF_HOTKEYACTIVE 0x00000004
- #define SKF_CONFIRMHOTKEY 0x00000008
- #define SKF_HOTKEYSOUND 0x00000010
- #define SKF_INDICATOR 0x00000020
- #define SKF_AUDIBLEFEEDBACK 0x00000040
- #define SKF_TRISTATE 0x00000080
- #define SKF_TWOKEYSOFF 0x00000100
- #define SKF_VALID 0x000001FF // ; internal
- typedef struct tagMOUSEKEYS
- {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iMaxSpeed;
- DWORD iTimeToMaxSpeed;
- DWORD iCtrlSpeed;
- DWORD dwReserved1;
- DWORD dwReserved2;
- } MOUSEKEYS, *LPMOUSEKEYS;
- /*
- * MOUSEKEYS dwFlags field
- */
- #define MKF_MOUSEKEYSON 0x00000001
- #define MKF_AVAILABLE 0x00000002
- #define MKF_HOTKEYACTIVE 0x00000004
- #define MKF_CONFIRMHOTKEY 0x00000008
- #define MKF_HOTKEYSOUND 0x00000010
- #define MKF_INDICATOR 0x00000020
- #define MKF_MODIFIERS 0x00000040
- #define MKF_REPLACENUMBERS 0x00000080
- typedef struct tagACCESSTIMEOUT
- {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iTimeOutMSec;
- } ACCESSTIMEOUT, *LPACCESSTIMEOUT;
- /*
- * ACCESSTIMEOUT dwFlags field
- */
- #define ATF_TIMEOUTON 0x00000001
- #define ATF_ONOFFFEEDBACK 0x00000002
- /* values for SOUNDSENTRY iFSGrafEffect field */
- #define SSGF_NONE 0
- #define SSGF_DISPLAY 3
- /* values for SOUNDSENTRY iFSTextEffect field */
- #define SSTF_NONE 0
- #define SSTF_CHARS 1
- #define SSTF_BORDER 2
- #define SSTF_DISPLAY 3
- /* values for SOUNDSENTRY iWindowsEffect field */
- #define SSWF_NONE 0
- #define SSWF_TITLE 1
- #define SSWF_WINDOW 2
- #define SSWF_DISPLAY 3
- #define SSWF_CUSTOM 4
- typedef struct tagSOUNDSENTRYA
- {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iFSTextEffect;
- DWORD iFSTextEffectMSec;
- DWORD iFSTextEffectColorBits;
- DWORD iFSGrafEffect;
- DWORD iFSGrafEffectMSec;
- DWORD iFSGrafEffectColor;
- DWORD iWindowsEffect;
- DWORD iWindowsEffectMSec;
- LPSTR lpszWindowsEffectDLL;
- DWORD iWindowsEffectOrdinal;
- } SOUNDSENTRYA, *LPSOUNDSENTRYA;
- typedef struct tagSOUNDSENTRYW
- {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iFSTextEffect;
- DWORD iFSTextEffectMSec;
- DWORD iFSTextEffectColorBits;
- DWORD iFSGrafEffect;
- DWORD iFSGrafEffectMSec;
- DWORD iFSGrafEffectColor;
- DWORD iWindowsEffect;
- DWORD iWindowsEffectMSec;
- LPWSTR lpszWindowsEffectDLL;
- DWORD iWindowsEffectOrdinal;
- } SOUNDSENTRYW, *LPSOUNDSENTRYW;
- #ifdef UNICODE
- typedef SOUNDSENTRYW SOUNDSENTRY;
- typedef LPSOUNDSENTRYW LPSOUNDSENTRY;
- #else
- typedef SOUNDSENTRYA SOUNDSENTRY;
- typedef LPSOUNDSENTRYA LPSOUNDSENTRY;
- #endif // UNICODE
- /*
- * SOUNDSENTRY dwFlags field
- */
- #define SSF_SOUNDSENTRYON 0x00000001
- #define SSF_AVAILABLE 0x00000002
- #define SSF_INDICATOR 0x00000004
- typedef struct tagTOGGLEKEYS
- {
- UINT cbSize;
- DWORD dwFlags;
- } TOGGLEKEYS, *LPTOGGLEKEYS;
- /*
- * TOGGLEKEYS dwFlags field
- */
- #define TKF_TOGGLEKEYSON 0x00000001
- #define TKF_AVAILABLE 0x00000002
- #define TKF_HOTKEYACTIVE 0x00000004
- #define TKF_CONFIRMHOTKEY 0x00000008
- #define TKF_HOTKEYSOUND 0x00000010
- #define TKF_INDICATOR 0x00000020
- /*
- * Set debug level
- */
- WINUSERAPI
- VOID
- WINAPI
- SetDebugErrorLevel(
- DWORD dwLevel
- );
- /*
- * SetLastErrorEx() types.
- */
- #define SLE_ERROR 0x00000001
- #define SLE_MINORERROR 0x00000002
- #define SLE_WARNING 0x00000003
- WINUSERAPI
- VOID
- WINAPI
- SetLastErrorEx(
- DWORD dwErrCode,
- DWORD dwType
- );
- #if (_WIN32_WINDOWS >= 0x040A)
- /*
- * Multimonitor API.
- */
- typedef HANDLE HMONITOR;
- #define HMONITOR_DECLARED
- #define MONITOR_DEFAULTTONULL 0x00000000
- #define MONITOR_DEFAULTTOPRIMARY 0x00000001
- #define MONITOR_DEFAULTTONEAREST 0x00000002
- WINUSERAPI
- HMONITOR
- WINAPI
- MonitorFromPoint(POINT pt, DWORD dwFlags);
- WINUSERAPI
- HMONITOR
- WINAPI
- MonitorFromRect(LPCRECT lprc, DWORD dwFlags);
- WINUSERAPI
- HMONITOR
- WINAPI
- MonitorFromWindow(HWND hwnd, DWORD dwFlags);
- #define MONITORINFOF_PRIMARY 0x00000001
- #ifndef CCHDEVICENAME
- #define CCHDEVICENAME 32
- #endif
- typedef struct tagMONITORINFO
- {
- DWORD cbSize;
- RECT rcMonitor;
- RECT rcWork;
- DWORD dwFlags;
- } MONITORINFO, *LPMONITORINFO;
- #ifdef __cplusplus
- typedef struct tagMONITORINFOEXA : public tagMONITORINFO
- {
- CHAR szDevice[CCHDEVICENAME];
- } MONITORINFOEXA, *LPMONITORINFOEXA;
- typedef struct tagMONITORINFOEXW : public tagMONITORINFO
- {
- WCHAR szDevice[CCHDEVICENAME];
- } MONITORINFOEXW, *LPMONITORINFOEXW;
- #ifdef UNICODE
- typedef MONITORINFOEXW MONITORINFOEX;
- typedef LPMONITORINFOEXW LPMONITORINFOEX;
- #else
- typedef MONITORINFOEXA MONITORINFOEX;
- typedef LPMONITORINFOEXA LPMONITORINFOEX;
- #endif // UNICODE
- #else // ndef __cplusplus
- typedef struct tagMONITORINFOEXA
- {
- MONITORINFO;
- CHAR szDevice[CCHDEVICENAME];
- } MONITORINFOEXA, *LPMONITORINFOEXA;
- typedef struct tagMONITORINFOEXW
- {
- MONITORINFO;
- WCHAR szDevice[CCHDEVICENAME];
- } MONITORINFOEXW, *LPMONITORINFOEXW;
- #ifdef UNICODE
- typedef MONITORINFOEXW MONITORINFOEX;
- typedef LPMONITORINFOEXW LPMONITORINFOEX;
- #else
- typedef MONITORINFOEXA MONITORINFOEX;
- typedef LPMONITORINFOEXA LPMONITORINFOEX;
- #endif // UNICODE
- #endif
- WINUSERAPI BOOL WINAPI GetMonitorInfoA(HMONITOR hMonitor, LPMONITORINFO lpmi);
- WINUSERAPI BOOL WINAPI GetMonitorInfoW(HMONITOR hMonitor, LPMONITORINFO lpmi);
- #ifdef UNICODE
- #define GetMonitorInfo GetMonitorInfoW
- #else
- #define GetMonitorInfo GetMonitorInfoA
- #endif // !UNICODE
- typedef BOOL (CALLBACK* MONITORENUMPROC)(HMONITOR, HDC, LPRECT, LPARAM);
- WINUSERAPI
- BOOL
- WINAPI
- EnumDisplayMonitors(
- HDC hdc,
- LPCRECT lprcClip,
- MONITORENUMPROC lpfnEnum,
- LPARAM dwData);
- #ifndef NOWINABLE
- /*
- * WinEvents - Active Accessibility hooks
- */
- WINUSERAPI VOID WINAPI
- NotifyWinEvent(
- DWORD event,
- HWND hwnd,
- LONG idObject,
- LONG idChild);
- typedef DWORD HWINEVENTHOOK;
- typedef VOID (CALLBACK* WINEVENTPROC)(
- HWINEVENTHOOK hWinEventHook,
- DWORD event,
- HWND hwnd,
- LONG idObject,
- LONG idChild,
- DWORD idEventThread,
- DWORD dwmsEventTime);
- /*
- * idObject values for WinEventProc and NotifyWinEvent
- */
- /*
- * hwnd + idObject can be used with OLEACC.DLL's OleGetObjectFromWindow()
- * to get an interface pointer to the container. indexChild is the item
- * within the container in question. Setup a VARIANT with vt VT_I4 and
- * lVal the indexChild and pass that in to all methods. Then you
- * are raring to go.
- */
- /*
- * Common object IDs (cookies, only for sending WM_GETOBJECT to get at the
- * thing in question). Positive IDs are reserved for apps (app specific),
- * negative IDs are system things and are global, 0 means "just little old
- * me".
- */
- #define CHILDID_SELF 0
- #define INDEXID_OBJECT 0
- #define INDEXID_CONTAINER 0
- /*
- * Reserved IDs for system objects
- */
- #define OBJID_WINDOW 0x00000000
- #define OBJID_SYSMENU 0xFFFFFFFF
- #define OBJID_TITLEBAR 0xFFFFFFFE
- #define OBJID_MENU 0xFFFFFFFD
- #define OBJID_CLIENT 0xFFFFFFFC
- #define OBJID_VSCROLL 0xFFFFFFFB
- #define OBJID_HSCROLL 0xFFFFFFFA
- #define OBJID_SIZEGRIP 0xFFFFFFF9
- #define OBJID_CARET 0xFFFFFFF8
- #define OBJID_CURSOR 0xFFFFFFF7
- #define OBJID_ALERT 0xFFFFFFF6
- #define OBJID_SOUND 0xFFFFFFF5
- /*
- * EVENT DEFINITION
- */
- #define EVENT_MIN 0x00000001
- #define EVENT_MAX 0x7FFFFFFF
- /*
- * EVENT_SYSTEM_SOUND
- * Sent when a sound is played. Currently nothing is generating this, we
- * this event when a system sound (for menus, etc) is played. Apps
- * generate this, if accessible, when a private sound is played. For
- * example, if Mail plays a "New Mail" sound.
- *
- * System Sounds:
- * (Generated by PlaySoundEvent in USER itself)
- * hwnd is NULL
- * idObject is OBJID_SOUND
- * idChild is sound child ID if one
- * App Sounds:
- * (PlaySoundEvent won't generate notification; up to app)
- * hwnd + idObject gets interface pointer to Sound object
- * idChild identifies the sound in question
- * are going to be cleaning up the SOUNDSENTRY feature in the control panel
- * and will use this at that time. Applications implementing WinEvents
- * are perfectly welcome to use it. Clients of IAccessible* will simply
- * turn around and get back a non-visual object that describes the sound.
- */
- #define EVENT_SYSTEM_SOUND 0x0001
- /*
- * EVENT_SYSTEM_ALERT
- * System Alerts:
- * (Generated by MessageBox() calls for example)
- * hwnd is hwndMessageBox
- * idObject is OBJID_ALERT
- * App Alerts:
- * (Generated whenever)
- * hwnd+idObject gets interface pointer to Alert
- */
- #define EVENT_SYSTEM_ALERT 0x0002
- /*
- * EVENT_SYSTEM_FOREGROUND
- * Sent when the foreground (active) window changes, even if it is changing
- * to another window in the same thread as the previous one.
- * hwnd is hwndNewForeground
- * idObject is OBJID_WINDOW
- * idChild is INDEXID_OBJECT
- */
- #define EVENT_SYSTEM_FOREGROUND 0x0003
- /*
- * Menu
- * hwnd is window (top level window or popup menu window)
- * idObject is ID of control (OBJID_MENU, OBJID_SYSMENU, OBJID_SELF for popup)
- * idChild is CHILDID_SELF
- *
- * EVENT_SYSTEM_MENUSTART
- * EVENT_SYSTEM_MENUEND
- * For MENUSTART, hwnd+idObject+idChild refers to the control with the menu bar,
- * or the control bringing up the context menu.
- *
- * Sent when entering into and leaving from menu mode (system, app bar, and
- * track popups).
- */
- #define EVENT_SYSTEM_MENUSTART 0x0004
- #define EVENT_SYSTEM_MENUEND 0x0005
- /*
- * EVENT_SYSTEM_MENUPOPUPSTART
- * EVENT_SYSTEM_MENUPOPUPEND
- * Sent when a menu popup comes up and just before it is taken down. Note
- * that for a call to TrackPopupMenu(), a client will see EVENT_SYSTEM_MENUSTART
- * followed almost immediately by EVENT_SYSTEM_MENUPOPUPSTART for the popup
- * being shown.
- *
- * For MENUPOPUP, hwnd+idObject+idChild refers to the NEW popup coming up, not the
- * parent item which is hierarchical. You can get the parent menu/popup by
- * asking for the accParent object.
- */
- #define EVENT_SYSTEM_MENUPOPUPSTART 0x0006
- #define EVENT_SYSTEM_MENUPOPUPEND 0x0007
- /*
- * EVENT_SYSTEM_CAPTURESTART
- * EVENT_SYSTEM_CAPTUREEND
- * Sent when a window takes the capture and releases the capture.
- */
- #define EVENT_SYSTEM_CAPTURESTART 0x0008
- #define EVENT_SYSTEM_CAPTUREEND 0x0009
- /*
- * Move Size
- * EVENT_SYSTEM_MOVESIZESTART
- * EVENT_SYSTEM_MOVESIZEEND
- * Sent when a window enters and leaves move-size dragging mode.
- */
- #define EVENT_SYSTEM_MOVESIZESTART 0x000A
- #define EVENT_SYSTEM_MOVESIZEEND 0x000B
- /*
- * Context Help
- * EVENT_SYSTEM_CONTEXTHELPSTART
- * EVENT_SYSTEM_CONTEXTHELPEND
- * Sent when a window enters and leaves context sensitive help mode.
- */
- #define EVENT_SYSTEM_CONTEXTHELPSTART 0x000C
- #define EVENT_SYSTEM_CONTEXTHELPEND 0x000D
- /*
- * Drag & Drop
- * EVENT_SYSTEM_DRAGDROPSTART
- * EVENT_SYSTEM_DRAGDROPEND
- * Send the START notification just before going into drag&drop loop. Send
- * the END notification just after canceling out.
- * Note that it is up to apps and OLE to generate this, since the system
- * doesn't know. Like EVENT_SYSTEM_SOUND, it will be a while before this
- * is prevalent.
- */
- #define EVENT_SYSTEM_DRAGDROPSTART 0x000E
- #define EVENT_SYSTEM_DRAGDROPEND 0x000F
- /*
- * Dialog
- * Send the START notification right after the dialog is completely
- * initialized and visible. Send the END right before the dialog
- * is hidden and goes away.
- * EVENT_SYSTEM_DIALOGSTART
- * EVENT_SYSTEM_DIALOGEND
- */
- #define EVENT_SYSTEM_DIALOGSTART 0x0010
- #define EVENT_SYSTEM_DIALOGEND 0x0011
- /*
- * EVENT_SYSTEM_SCROLLING
- * EVENT_SYSTEM_SCROLLINGSTART
- * EVENT_SYSTEM_SCROLLINGEND
- * Sent when beginning and ending the tracking of a scrollbar in a window,
- * and also for scrollbar controls.
- */
- #define EVENT_SYSTEM_SCROLLINGSTART 0x0012
- #define EVENT_SYSTEM_SCROLLINGEND 0x0013
- /*
- * Alt-Tab Window
- * Send the START notification right after the switch window is initialized
- * and visible. Send the END right before it is hidden and goes away.
- * EVENT_SYSTEM_SWITCHSTART
- * EVENT_SYSTEM_SWITCHEND
- */
- #define EVENT_SYSTEM_SWITCHSTART 0x0014
- #define EVENT_SYSTEM_SWITCHEND 0x0015
- /*
- * EVENT_SYSTEM_MINIMIZESTART
- * EVENT_SYSTEM_MINIMIZEEND
- * Sent when a window minimizes and just before it restores.
- */
- #define EVENT_SYSTEM_MINIMIZESTART 0x0016
- #define EVENT_SYSTEM_MINIMIZEEND 0x0017
- /*
- * Object events
- *
- * The system AND apps generate these. The system generates these for
- * real windows. Apps generate these for objects within their window which
- * act like a separate control, e.g. an item in a list view.
- *
- * When the system generate them, dwParam2 is always WMOBJID_SELF. When
- * apps generate them, apps put the has-meaning-to-the-app-only ID value
- * in dwParam2.
- * For all events, if you want detailed accessibility information, callers
- * should
- * * Call AccessibleObjectFromWindow() with the hwnd, idObject parameters
- * of the event, and IID_IAccessible as the REFIID, to get back an
- * IAccessible* to talk to
- * * Initialize and fill in a VARIANT as VT_I4 with lVal the idChild
- * parameter of the event.
- * * If idChild isn't zero, call get_accChild() in the container to see
- * if the child is an object in its own right. If so, you will get
- * back an IDispatch* object for the child. You should release the
- * parent, and call QueryInterface() on the child object to get its
- * IAccessible*. Then you talk directly to the child. Otherwise,
- * if get_accChild() returns you nothing, you should continue to
- * use the child VARIANT. You will ask the container for the properties
- * of the child identified by the VARIANT. In other words, the
- * child in this case is accessible but not a full-blown object.
- * Like a button on a titlebar which is 'small' and has no children.
- */
- /*
- * For all EVENT_OBJECT events,
- * hwnd is the dude to Send the WM_GETOBJECT message to (unless NULL,
- * see above for system things)
- * idObject is the ID of the object that can resolve any queries a
- * client might have. It's a way to deal with windowless controls,
- * controls that are just drawn on the screen in some larger parent
- * window (like SDM), or standard frame elements of a window.
- * idChild is the piece inside of the object that is affected. This
- * allows clients to access things that are too small to have full
- * blown objects in their own right. Like the thumb of a scrollbar.
- * The hwnd/idObject pair gets you to the container, the dude you
- * probably want to talk to most of the time anyway. The idChild
- * can then be passed into the acc properties to get the name/value
- * of it as needed.
- *
- * Example #1:
- * System propagating a listbox selection change
- * EVENT_OBJECT_SELECTION
- * hwnd == listbox hwnd
- * idObject == OBJID_WINDOW
- * idChild == new selected item, or CHILDID_SELF if
- * nothing now selected within container.
- * Word '97 propagating a listbox selection change
- * hwnd == SDM window
- * idObject == SDM ID to get at listbox 'control'
- * idChild == new selected item, or CHILDID_SELF if
- * nothing
- *
- * Example #2:
- * System propagating a menu item selection on the menu bar
- * EVENT_OBJECT_SELECTION
- * hwnd == top level window
- * idObject == OBJID_MENU
- * idChild == ID of child menu bar item selected
- *
- * Example #3:
- * System propagating a dropdown coming off of said menu bar item
- * EVENT_OBJECT_CREATE
- * hwnd == popup item
- * idObject == OBJID_WINDOW
- * idChild == CHILDID_SELF
- *
- * Example #4:
- *
- * For EVENT_OBJECT_REORDER, the object referred to by hwnd/idObject is the
- * PARENT container in which the zorder is occurring. This is because if
- * one child is zordering, all of them are changing their relative zorder.
- */
- #define EVENT_OBJECT_CREATE 0x8000 // hwnd + ID + idChild is created item
- #define EVENT_OBJECT_DESTROY 0x8001 // hwnd + ID + idChild is destroyed item
- #define EVENT_OBJECT_SHOW 0x8002 // hwnd + ID + idChild is shown item
- #define EVENT_OBJECT_HIDE 0x8003 // hwnd + ID + idChild is hidden item
- #define EVENT_OBJECT_REORDER 0x8004 // hwnd + ID + idChild is parent of zordering children
- /*
- * NOTE:
- * Minimize the number of notifications!
- *
- * When you are hiding a parent object, obviously all child objects are no
- * longer visible on screen. They still have the same "visible" status,
- * but are not truly visible. Hence do not send HIDE notifications for the
- * children also. One implies all. The same goes for SHOW.
- */
- #define EVENT_OBJECT_FOCUS 0x8005 // hwnd + ID + idChild is focused item
- #define EVENT_OBJECT_SELECTION 0x8006 // hwnd + ID + idChild is selected item (if only one), or idChild is OBJID_WINDOW if complex
- #define EVENT_OBJECT_SELECTIONADD 0x8007 // hwnd + ID + idChild is item added
- #define EVENT_OBJECT_SELECTIONREMOVE 0x8008 // hwnd + ID + idChild is item removed
- #define EVENT_OBJECT_SELECTIONWITHIN 0x8009 // hwnd + ID + idChild is parent of changed selected items
- /*
- * NOTES:
- * There is only one "focused" child item in a parent. This is the place
- * keystrokes are going at a given moment. Hence only send a notification
- * about where the NEW focus is going. A NEW item getting the focus already
- * implies that the OLD item is losing it.
- *
- * SELECTION however can be multiple. Hence the different SELECTION
- * notifications. Here's when to use each:
- *
- * (1) Send a SELECTION notification in the simple single selection
- * case (like the focus) when the item with the selection is
- * merely moving to a different item within a container. hwnd + ID
- * is the container control, idChildItem is the new child with the
- * selection.
- *
- * (2) Send a SELECTIONADD notification when a new item has simply been added
- * to the selection within a container. This is appropriate when the
- * number of newly selected items is very small. hwnd + ID is the
- * container control, idChildItem is the new child added to the selection.
- *
- * (3) Send a SELECTIONREMOVE notification when a new item has simply been
- * removed from the selection within a container. This is appropriate
- * when the number of newly selected items is very small, just like
- * SELECTIONADD. hwnd + ID is the container control, idChildItem is the
- * new child removed from the selection.
- *
- * (4) Send a SELECTIONWITHIN notification when the selected items within a
- * control have changed substantially. Rather than propagate a large
- * number of changes to reflect removal for some items, addition of
- * others, just tell somebody who cares that a lot happened. It will
- * be faster an easier for somebody watching to just turn around and
- * query the container control what the new bunch of selected items
- * are.
- */
- #define EVENT_OBJECT_STATECHANGE 0x800A // hwnd + ID + idChild is item w/ state change
- /*
- * Examples of when to send an EVENT_OBJECT_STATECHANGE include
- * * It is being enabled/disabled (USER does for windows)
- * * It is being pressed/released (USER does for buttons)
- * * It is being checked/unchecked (USER does for radio/check buttons)
- */
- #define EVENT_OBJECT_LOCATIONCHANGE 0x800B // hwnd + ID + idChild is moved/sized item
- /*
- * Note:
- * A LOCATIONCHANGE is not sent for every child object when the parent
- * changes shape/moves. Send one notification for the topmost object
- * that is changing. For example, if the user resizes a top level window,
- * USER will generate a LOCATIONCHANGE for it, but not for the menu bar,
- * title bar, scrollbars, etc. that are also changing shape/moving.
- *
- * In other words, it only generates LOCATIONCHANGE notifications for
- * real windows that are moving/sizing. It will not generate a LOCATIONCHANGE
- * for every non-floating child window when the parent moves (the children are
- * logically moving also on screen, but not relative to the parent).
- *
- * Now, if the app itself resizes child windows as a result of being
- * sized, USER will generate LOCATIONCHANGEs for those dudes also because
- * it doesn't know better.
- *
- * Note also that USER will generate LOCATIONCHANGE notifications for two
- * non-window sys objects:
- * (1) System caret
- * (2) Cursor
- */
- #define EVENT_OBJECT_NAMECHANGE 0x800C // hwnd + ID + idChild is item w/ name change
- #define EVENT_OBJECT_DESCRIPTIONCHANGE 0x800D // hwnd + ID + idChild is item w/ desc change
- #define EVENT_OBJECT_VALUECHANGE 0x800E // hwnd + ID + idChild is item w/ value change
- #define EVENT_OBJECT_PARENTCHANGE 0x800F // hwnd + ID + idChild is item w/ new parent
- #define EVENT_OBJECT_HELPCHANGE 0x8010 // hwnd + ID + idChild is item w/ help change
- #define EVENT_OBJECT_DEFACTIONCHANGE 0x8011 // hwnd + ID + idChild is item w/ def action change
- #define EVENT_OBJECT_ACCELERATORCHANGE 0x8012 // hwnd + ID + idChild is item w/ keybd accel change
- /*
- * Child IDs
- */
- /*
- * System Sounds (idChild of system SOUND notification)
- */
- #define SOUND_SYSTEM_STARTUP 1
- #define SOUND_SYSTEM_SHUTDOWN 2
- #define SOUND_SYSTEM_BEEP 3
- #define SOUND_SYSTEM_ERROR 4
- #define SOUND_SYSTEM_QUESTION 5
- #define SOUND_SYSTEM_WARNING 6
- #define SOUND_SYSTEM_INFORMATION 7
- #define SOUND_SYSTEM_MAXIMIZE 8
- #define SOUND_SYSTEM_MINIMIZE 9
- #define SOUND_SYSTEM_RESTOREUP 10
- #define SOUND_SYSTEM_RESTOREDOWN 11
- #define SOUND_SYSTEM_APPSTART 12
- #define SOUND_SYSTEM_FAULT 13
- #define SOUND_SYSTEM_APPEND 14
- #define SOUND_SYSTEM_MENUCOMMAND 15
- #define SOUND_SYSTEM_MENUPOPUP 16
- #define CSOUND_SYSTEM 16
- /*
- * System Alerts (indexChild of system ALERT notification)
- */
- #define ALERT_SYSTEM_INFORMATIONAL 1 // MB_INFORMATION
- #define ALERT_SYSTEM_WARNING 2 // MB_WARNING
- #define ALERT_SYSTEM_ERROR 3 // MB_ERROR
- #define ALERT_SYSTEM_QUERY 4 // MB_QUESTION
- #define ALERT_SYSTEM_CRITICAL 5 // HardSysErrBox
- #define CALERT_SYSTEM 6
- WINUSERAPI HWINEVENTHOOK WINAPI
- SetWinEventHook(
- DWORD eventMin,
- DWORD eventMax,
- HMODULE hmodWinEventProc,
- WINEVENTPROC pfnWinEventProc,
- DWORD idProcess,
- DWORD idThread,
- DWORD dwFlags);
- WINUSERAPI BOOL WINAPI
- UnhookWinEvent(HWINEVENTHOOK hWinEventHook);
- /*
- * dwFlags for SetWinEventHook
- */
- #define WINEVENT_OUTOFCONTEXT 0x0000 // Events are ASYNC
- #define WINEVENT_SKIPOWNTHREAD 0x0001 // Don't call back for events on installer's thread
- #define WINEVENT_SKIPOWNPROCESS 0x0002 // Don't call back for events on installer's process
- #define WINEVENT_INCONTEXT 0x0004 // Events are SYNC, this causes your dll to be injected into every process
- typedef struct tagGUITHREADINFO
- {
- DWORD cbSize;
- DWORD flags;
- HWND hwndActive;
- HWND hwndFocus;
- HWND hwndCapture;
- HWND hwndMenuOwner;
- HWND hwndMoveSize;
- HWND hwndCaret;
- RECT rcCaret;
- } GUITHREADINFO, *PGUITHREADINFO;
- #define GUI_CARETBLINKING 0x00000001
- #define GUI_INMOVESIZE 0x00000002
- #define GUI_INMENUMODE 0x00000004
- #define GUI_SYSTEMMENUMODE 0x00000008
- #define GUI_POPUPMENUMODE 0x00000010
- WINUSERAPI BOOL WINAPI
- GetGUIThreadInfo(
- DWORD idThread,
- PGUITHREADINFO pgui);
- WINUSERAPI UINT WINAPI
- GetWindowModuleFileNameA(
- HWND hwnd,
- LPSTR pszFileName,
- UINT cchFileNameMax);
- WINUSERAPI UINT WINAPI
- GetWindowModuleFileNameW(
- HWND hwnd,
- LPWSTR pszFileName,
- UINT cchFileNameMax);
- #ifdef UNICODE
- #define GetWindowModuleFileName GetWindowModuleFileNameW
- #else
- #define GetWindowModuleFileName GetWindowModuleFileNameA
- #endif // !UNICODE
- #define STATE_SYSTEM_UNAVAILABLE 0x00000001 // Disabled
- #define STATE_SYSTEM_SELECTED 0x00000002
- #define STATE_SYSTEM_FOCUSED 0x00000004
- #define STATE_SYSTEM_PRESSED 0x00000008
- #define STATE_SYSTEM_CHECKED 0x00000010
- #define STATE_SYSTEM_MIXED 0x00000020 // 3-state checkbox or toolbar button
- #define STATE_SYSTEM_READONLY 0x00000040
- #define STATE_SYSTEM_HOTTRACKED 0x00000080
- #define STATE_SYSTEM_DEFAULT 0x00000100
- #define STATE_SYSTEM_EXPANDED 0x00000200
- #define STATE_SYSTEM_COLLAPSED 0x00000400
- #define STATE_SYSTEM_BUSY 0x00000800
- #define STATE_SYSTEM_FLOATING 0x00001000 // Children "owned" not "contained" by parent
- #define STATE_SYSTEM_MARQUEED 0x00002000
- #define STATE_SYSTEM_ANIMATED 0x00004000
- #define STATE_SYSTEM_INVISIBLE 0x00008000
- #define STATE_SYSTEM_OFFSCREEN 0x00010000
- #define STATE_SYSTEM_SIZEABLE 0x00020000
- #define STATE_SYSTEM_MOVEABLE 0x00040000
- #define STATE_SYSTEM_SELFVOICING 0x00080000
- #define STATE_SYSTEM_FOCUSABLE 0x00100000
- #define STATE_SYSTEM_SELECTABLE 0x00200000
- #define STATE_SYSTEM_LINKED 0x00400000
- #define STATE_SYSTEM_TRAVERSED 0x00800000
- #define STATE_SYSTEM_MULTISELECTABLE 0x01000000 // Supports multiple selection
- #define STATE_SYSTEM_EXTSELECTABLE 0x02000000 // Supports extended selection
- #define STATE_SYSTEM_VALID 0x03FFFFFF
- #define CCHILDREN_TITLEBAR 5
- #define CCHILDREN_SCROLLBAR 5
- /*
- * Information about the global cursor.
- */
- typedef struct tagCURSORINFO
- {
- DWORD cbSize;
- DWORD flags;
- HCURSOR hCursor;
- POINT ptScreenPos;
- } CURSORINFO, *PCURSORINFO, *LPCURSORINFO;
- #define CURSOR_SHOWING 0x00000001
- BOOL WINAPI
- GetCursorInfo(
- PCURSORINFO pci
- );
- /*
- * Window information snapshot
- */
- typedef struct tagWINDOWINFO
- {
- DWORD cbSize;
- RECT rcWindow;
- RECT rcClient;
- DWORD dwStyle;
- DWORD dwExStyle;
- DWORD dwOtherStuff;
- UINT cxWindowBorders;
- UINT cyWindowBorders;
- ATOM atomWindowType;
- WORD wCreatorVersion;
- } WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO;
- #define WS_ACTIVECAPTION 0x0001
- BOOL WINAPI
- GetWindowInfo(
- HWND hwnd,
- PWINDOWINFO pwi
- );
- /*
- * Titlebar information.
- */
- typedef struct tagTITLEBARINFO
- {
- DWORD cbSize;
- RECT rcTitleBar;
- DWORD rgstate[CCHILDREN_TITLEBAR+1];
- } TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO;
- BOOL WINAPI
- GetTitleBarInfo(
- HWND hwnd,
- PTITLEBARINFO pti
- );
- /*
- * Menubar information
- */
- typedef struct tagMENUBARINFO
- {
- DWORD cbSize;
- RECT rcBar; // rect of bar, popup, item
- HMENU hMenu; // real menu handle of bar, popup
- HWND hwndMenu; // hwnd of item submenu if one
- BOOL fBarFocused:1; // bar, popup has the focus
- BOOL fFocused:1; // item has the focus
- } MENUBARINFO, *PMENUBARINFO, *LPMENUBARINFO;
- BOOL WINAPI
- GetMenuBarInfo(
- HWND hwnd,
- LONG idObject,
- LONG idItem,
- PMENUBARINFO pmbi
- );
- /*
- * Scrollbar information
- */
- typedef struct tagSCROLLBARINFO
- {
- DWORD cbSize;
- RECT rcScrollBar;
- int dxyLineButton;
- int xyThumbTop;
- int xyThumbBottom;
- int bogus;
- DWORD rgstate[CCHILDREN_SCROLLBAR+1];
- } SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO;
- BOOL
- WINAPI
- GetScrollBarInfo(
- HWND hwnd,
- LONG idObject,
- PSCROLLBARINFO psbi
- );
- /*
- * Combobox information
- */
- typedef struct tagCOMBOBOXINFO
- {
- DWORD cbSize;
- RECT rcItem;
- RECT rcButton;
- DWORD stateButton;
- HWND hwndCombo;
- HWND hwndItem;
- HWND hwndList;
- } COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO;
- BOOL
- WINAPI
- GetComboBoxInfo(
- HWND hwndCombo,
- PCOMBOBOXINFO pcbi
- );
- /*
- * The "real" ancestor window
- */
- #define GA_MIC 1
- #define GA_PARENT 1
- #define GA_ROOT 2
- #define GA_ROOTOWNER 3
- #define GA_MAC 4
- HWND
- WINAPI
- GetAncestor(
- HWND hwnd,
- UINT gaFlags
- );
- /*
- * This gets the REAL child window at the point. If it is in the dead
- * space of a group box, it will try a sibling behind it. But static
- * fields will get returned. In other words, it is kind of a cross between
- * ChildWindowFromPointEx and WindowFromPoint.
- */
- HWND
- WINAPI
- RealChildWindowFromPoint(
- HWND hwndParent,
- POINT ptParentClientCoords
- );
- /*
- * This gets the name of the window TYPE, not class. This allows us to
- * recognize ThunderButton32 et al.
- */
- UINT
- WINAPI
- RealGetWindowClassA(
- HWND hwnd,
- LPTSTR pszType,
- UINT cchType
- );
- /*
- * This gets the name of the window TYPE, not class. This allows us to
- * recognize ThunderButton32 et al.
- */
- UINT
- WINAPI
- RealGetWindowClassW(
- HWND hwnd,
- LPTSTR pszType,
- UINT cchType
- );
- #ifdef UNICODE
- #define RealGetWindowClass RealGetWindowClassW
- #else
- #define RealGetWindowClass RealGetWindowClassA
- #endif // !UNICODE
- /*
- * Alt-Tab Switch window information.
- */
- typedef struct tagALTTABINFO
- {
- DWORD cbSize;
- int cItems;
- int cColumns;
- int cRows;
- int iColFocus;
- int iRowFocus;
- int cxItem;
- int cyItem;
- POINT ptStart;
- } ALTTABINFO, *PALTTABINFO, *LPALTTABINFO;
- BOOL
- WINAPI
- GetAltTabInfoA(
- HWND hwnd,
- int iItem,
- PALTTABINFO pati,
- LPTSTR pszItemText,
- UINT cchItemText
- );
- BOOL
- WINAPI
- GetAltTabInfoW(
- HWND hwnd,
- int iItem,
- PALTTABINFO pati,
- LPTSTR pszItemText,
- UINT cchItemText
- );
- #ifdef UNICODE
- #define GetAltTabInfo GetAltTabInfoW
- #else
- #define GetAltTabInfo GetAltTabInfoA
- #endif // !UNICODE
- /*
- * Listbox information.
- * Returns the number of items per row.
- */
- DWORD
- WINAPI
- GetListBoxInfo(
- HWND hwnd
- );
- #endif /* NOWINABLE */
- #endif // if (_WIN32_WINDOWS >= 0x040A)
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
- #endif /* !_WINUSER_ */