blob: 07e5efaa33d08f6fceb9c0671aa50225db3c94eb [file] [log] [blame]
/**
* Windows API header module
*
* Translated from MinGW Windows headers
*
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC src/core/sys/windows/_winuser.d)
*/
module core.sys.windows.winuser;
version (Windows):
@system:
version (ANSI) {} else version = Unicode;
pragma(lib, "user32");
// Conversion Notes:
// The following macros were for win16 only, and are not included in this file:
//#define EnumTaskWindows(h, f, p) EnumThreadWindows((DWORD)h, f, p)
//#define PostAppMessageA(t, m, w, l) PostThreadMessageA((DWORD)t, m, w, l)
//#define PostAppMessageW(t, m, w, l) PostThreadMessageW((DWORD)t, m, w, l)
//#define GetSysModalWindow() (NULL)
//#define SetSysModalWindow(h) (NULL)
//#define GetWindowTask(hWnd) ((HANDLE)GetWindowThreadProcessId(hWnd, NULL))
//#define DefHookProc(c, p, lp, h) CallNextHookEx((HHOOK)*h, c, p, lp)
import core.sys.windows.w32api, core.sys.windows.winbase, core.sys.windows.wingdi;
import core.sys.windows.windef; // for HMONITOR
// FIXME: clean up Windows version support
LPTSTR MAKEINTATOM_T()(int i) {
return cast(LPTSTR) i;
}
enum LPTSTR WC_DIALOG = MAKEINTATOM_T(0x8002);
enum {
FAPPCOMMAND_MOUSE = 0x8000,
FAPPCOMMAND_KEY = 0,
FAPPCOMMAND_OEM = 0x1000,
FAPPCOMMAND_MASK = 0xF000
}
enum {
MNGO_NOINTERFACE = 0,
MNGO_NOERROR,
MNGOF_TOPGAP = 1,
MNGOF_BOTTOMGAP
}
enum {
FVIRTKEY = 1,
FNOINVERT = 2,
FSHIFT = 4,
FCONTROL = 8,
FALT = 16
}
enum {
ATF_TIMEOUTON = 1,
ATF_ONOFFFEEDBACK = 2,
ATF_AVAILABLE = 4 // May be obsolete. Not in recent MS docs.
}
enum {
WH_MIN = -1,
WH_MSGFILTER = -1,
WH_JOURNALRECORD,
WH_JOURNALPLAYBACK,
WH_KEYBOARD,
WH_GETMESSAGE,
WH_CALLWNDPROC,
WH_CBT,
WH_SYSMSGFILTER,
WH_MOUSE,
WH_HARDWARE,
WH_DEBUG,
WH_SHELL,
WH_FOREGROUNDIDLE,
WH_CALLWNDPROCRET,
WH_KEYBOARD_LL,
WH_MOUSE_LL, // = 14
WH_MAX = 14,
WH_MINHOOK = WH_MIN,
WH_MAXHOOK = WH_MAX
}
enum {
HC_ACTION = 0,
HC_GETNEXT,
HC_SKIP,
HC_NOREMOVE, // = 3
HC_NOREM = HC_NOREMOVE,
HC_SYSMODALON,
HC_SYSMODALOFF
}
enum {
HCBT_MOVESIZE = 0,
HCBT_MINMAX,
HCBT_QS,
HCBT_CREATEWND,
HCBT_DESTROYWND,
HCBT_ACTIVATE,
HCBT_CLICKSKIPPED,
HCBT_KEYSKIPPED,
HCBT_SYSCOMMAND,
HCBT_SETFOCUS // = 9
}
enum {
CF_TEXT = 0x0001,
CF_BITMAP,
CF_METAFILEPICT,
CF_SYLK,
CF_DIF,
CF_TIFF,
CF_OEMTEXT,
CF_DIB,
CF_PALETTE,
CF_PENDATA,
CF_RIFF,
CF_WAVE,
CF_UNICODETEXT,
CF_ENHMETAFILE,
CF_HDROP,
CF_LOCALE,
CF_DIBV5,
CF_MAX, // = 0x0012
CF_OWNERDISPLAY = 0x0080,
CF_DSPTEXT,
CF_DSPBITMAP,
CF_DSPMETAFILEPICT, // = 0x0083
CF_DSPENHMETAFILE = 0x008E,
CF_PRIVATEFIRST = 0x0200,
CF_PRIVATELAST = 0x02FF,
CF_GDIOBJFIRST = 0x0300,
CF_GDIOBJLAST = 0x03FF
}
enum HKL_PREV = 0;
enum HKL_NEXT = 1;
enum KLF_ACTIVATE = 1;
enum KLF_SUBSTITUTE_OK = 2;
enum KLF_UNLOADPREVIOUS = 4;
enum KLF_REORDER = 8;
enum KLF_REPLACELANG = 16;
enum KLF_NOTELLSHELL = 128;
enum KLF_SETFORPROCESS = 256;
enum KL_NAMELENGTH = 9;
enum MF_ENABLED = 0;
enum MF_GRAYED = 1;
enum MF_DISABLED = 2;
enum MF_BITMAP = 4;
enum MF_CHECKED = 8;
enum MF_MENUBARBREAK = 32;
enum MF_MENUBREAK = 64;
enum MF_OWNERDRAW = 256;
enum MF_POPUP = 16;
enum MF_SEPARATOR = 0x800;
enum MF_STRING = 0;
enum MF_UNCHECKED = 0;
enum MF_DEFAULT = 4096;
enum MF_SYSMENU = 0x2000;
enum MF_HELP = 0x4000;
enum MF_END = 128;
enum MF_RIGHTJUSTIFY = 0x4000;
enum MF_MOUSESELECT = 0x8000;
enum MF_INSERT = 0;
enum MF_CHANGE = 128;
enum MF_APPEND = 256;
enum MF_DELETE = 512;
enum MF_REMOVE = 4096;
enum MF_USECHECKBITMAPS = 512;
enum MF_UNHILITE = 0;
enum MF_HILITE = 128;
// Also defined in dbt.h
enum BSM_ALLCOMPONENTS = 0;
enum BSM_VXDS = 1;
enum BSM_NETDRIVER = 2;
enum BSM_INSTALLABLEDRIVERS = 4;
enum BSM_APPLICATIONS = 8;
enum BSM_ALLDESKTOPS = 16;
enum {
BSF_QUERY = 0x0001,
BSF_IGNORECURRENTTASK = 0x0002,
BSF_FLUSHDISK = 0x0004,
BSF_NOHANG = 0x0008,
BSF_POSTMESSAGE = 0x0010,
BSF_FORCEIFHUNG = 0x0020,
BSF_NOTIMEOUTIFNOTHUNG = 0x0040,
BSF_ALLOWSFW = 0x0080,
BSF_SENDNOTIFYMESSAGE = 0x0100
}
static if (_WIN32_WINNT >= 0x501) {
enum {
BSF_RETURNHDESK = 0x0200,
BSF_LUID = 0x0400
}
}
enum BROADCAST_QUERY_DENY = 1112363332;
enum DWORD ENUM_CURRENT_SETTINGS = -1;
enum DWORD ENUM_REGISTRY_SETTINGS = -2;
enum CDS_UPDATEREGISTRY = 1;
enum CDS_TEST = 2;
enum CDS_FULLSCREEN = 4;
enum CDS_GLOBAL = 8;
enum CDS_SET_PRIMARY = 16;
enum CDS_NORESET = 0x10000000;
enum CDS_SETRECT = 0x20000000;
enum CDS_RESET = 0x40000000;
enum {
DISP_CHANGE_BADPARAM = -5,
DISP_CHANGE_BADFLAGS,
DISP_CHANGE_NOTUPDATED,
DISP_CHANGE_BADMODE,
DISP_CHANGE_FAILED,
DISP_CHANGE_SUCCESSFUL,
DISP_CHANGE_RESTART // = 1
}
enum BST_UNCHECKED = 0;
enum BST_CHECKED = 1;
enum BST_INDETERMINATE = 2;
enum BST_PUSHED = 4;
enum BST_FOCUS = 8;
enum MF_BYCOMMAND = 0;
enum MF_BYPOSITION = 1024;
// [Redefined] MF_UNCHECKED = 0
// [Redefined] MF_HILITE = 128
// [Redefined] MF_UNHILITE = 0
enum CWP_ALL = 0;
enum CWP_SKIPINVISIBLE = 1;
enum CWP_SKIPDISABLED = 2;
enum CWP_SKIPTRANSPARENT = 4;
enum IMAGE_BITMAP = 0;
enum IMAGE_ICON = 1;
enum IMAGE_CURSOR = 2;
enum IMAGE_ENHMETAFILE = 3;
enum DF_ALLOWOTHERACCOUNTHOOK = 1;
enum DESKTOP_READOBJECTS = 1;
enum DESKTOP_CREATEWINDOW = 2;
enum DESKTOP_CREATEMENU = 4;
enum DESKTOP_HOOKCONTROL = 8;
enum DESKTOP_JOURNALRECORD = 16;
enum DESKTOP_JOURNALPLAYBACK = 32;
enum DESKTOP_ENUMERATE = 64;
enum DESKTOP_WRITEOBJECTS = 128;
enum DESKTOP_SWITCHDESKTOP = 256;
enum int CW_USEDEFAULT = 0x80000000;
enum {
WS_OVERLAPPED = 0,
WS_TILED = WS_OVERLAPPED,
WS_MAXIMIZEBOX = 0x00010000,
WS_MINIMIZEBOX = 0x00020000,
WS_TABSTOP = 0x00010000,
WS_GROUP = 0x00020000,
WS_THICKFRAME = 0x00040000,
WS_SIZEBOX = WS_THICKFRAME,
WS_SYSMENU = 0x00080000,
WS_HSCROLL = 0x00100000,
WS_VSCROLL = 0x00200000,
WS_DLGFRAME = 0x00400000,
WS_BORDER = 0x00800000,
WS_CAPTION = 0x00c00000,
WS_OVERLAPPEDWINDOW = WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX,
WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW,
WS_MAXIMIZE = 0x01000000,
WS_CLIPCHILDREN = 0x02000000,
WS_CLIPSIBLINGS = 0x04000000,
WS_DISABLED = 0x08000000,
WS_VISIBLE = 0x10000000,
WS_MINIMIZE = 0x20000000,
WS_ICONIC = WS_MINIMIZE,
WS_CHILD = 0x40000000,
WS_CHILDWINDOW = 0x40000000,
WS_POPUP = 0x80000000,
WS_POPUPWINDOW = WS_POPUP|WS_BORDER|WS_SYSMENU,
}
enum MDIS_ALLCHILDSTYLES = 1;
enum BS_3STATE = 5;
enum BS_AUTO3STATE = 6;
enum BS_AUTOCHECKBOX = 3;
enum BS_AUTORADIOBUTTON = 9;
enum BS_BITMAP = 128;
enum BS_BOTTOM = 0x800;
enum BS_CENTER = 0x300;
enum BS_CHECKBOX = 2;
enum BS_DEFPUSHBUTTON = 1;
enum BS_GROUPBOX = 7;
enum BS_ICON = 64;
enum BS_LEFT = 256;
enum BS_LEFTTEXT = 32;
enum BS_MULTILINE = 0x2000;
enum BS_NOTIFY = 0x4000;
enum BS_OWNERDRAW = 0xb;
enum BS_PUSHBUTTON = 0;
enum BS_PUSHLIKE = 4096;
enum BS_RADIOBUTTON = 4;
enum BS_RIGHT = 512;
enum BS_RIGHTBUTTON = 32;
enum BS_TEXT = 0;
enum BS_TOP = 0x400;
enum BS_USERBUTTON = 8;
enum BS_VCENTER = 0xc00;
enum BS_FLAT = 0x8000;
enum CBS_AUTOHSCROLL = 64;
enum CBS_DISABLENOSCROLL = 0x800;
enum CBS_DROPDOWN = 2;
enum CBS_DROPDOWNLIST = 3;
enum CBS_HASSTRINGS = 512;
enum CBS_LOWERCASE = 0x4000;
enum CBS_NOINTEGRALHEIGHT = 0x400;
enum CBS_OEMCONVERT = 128;
enum CBS_OWNERDRAWFIXED = 16;
enum CBS_OWNERDRAWVARIABLE = 32;
enum CBS_SIMPLE = 1;
enum CBS_SORT = 256;
enum CBS_UPPERCASE = 0x2000;
enum ES_AUTOHSCROLL = 128;
enum ES_AUTOVSCROLL = 64;
enum ES_CENTER = 1;
enum ES_LEFT = 0;
enum ES_LOWERCASE = 16;
enum ES_MULTILINE = 4;
enum ES_NOHIDESEL = 256;
enum ES_NUMBER = 0x2000;
enum ES_OEMCONVERT = 0x400;
enum ES_PASSWORD = 32;
enum ES_READONLY = 0x800;
enum ES_RIGHT = 2;
enum ES_UPPERCASE = 8;
enum ES_WANTRETURN = 4096;
enum LBS_DISABLENOSCROLL = 4096;
enum LBS_EXTENDEDSEL = 0x800;
enum LBS_HASSTRINGS = 64;
enum LBS_MULTICOLUMN = 512;
enum LBS_MULTIPLESEL = 8;
enum LBS_NODATA = 0x2000;
enum LBS_NOINTEGRALHEIGHT = 256;
enum LBS_NOREDRAW = 4;
enum LBS_NOSEL = 0x4000;
enum LBS_NOTIFY = 1;
enum LBS_OWNERDRAWFIXED = 16;
enum LBS_OWNERDRAWVARIABLE = 32;
enum LBS_SORT = 2;
enum LBS_STANDARD = 0xa00003;
enum LBS_USETABSTOPS = 128;
enum LBS_WANTKEYBOARDINPUT = 0x400;
enum SBS_BOTTOMALIGN = 4;
enum SBS_HORZ = 0;
enum SBS_LEFTALIGN = 2;
enum SBS_RIGHTALIGN = 4;
enum SBS_SIZEBOX = 8;
enum SBS_SIZEBOXBOTTOMRIGHTALIGN = 4;
enum SBS_SIZEBOXTOPLEFTALIGN = 2;
enum SBS_SIZEGRIP = 16;
enum SBS_TOPALIGN = 2;
enum SBS_VERT = 1;
enum SS_BITMAP = 14;
enum SS_BLACKFRAME = 7;
enum SS_BLACKRECT = 4;
enum SS_CENTER = 1;
enum SS_CENTERIMAGE = 512;
enum SS_ENHMETAFILE = 15;
enum SS_ETCHEDFRAME = 18;
enum SS_ETCHEDHORZ = 16;
enum SS_ETCHEDVERT = 17;
enum SS_GRAYFRAME = 8;
enum SS_GRAYRECT = 5;
enum SS_ICON = 3;
enum SS_LEFT = 0;
enum SS_LEFTNOWORDWRAP = 0xc;
enum SS_NOPREFIX = 128;
enum SS_NOTIFY = 256;
enum SS_OWNERDRAW = 0xd;
enum SS_REALSIZEIMAGE = 0x800;
enum SS_RIGHT = 2;
enum SS_RIGHTJUST = 0x400;
enum SS_SIMPLE = 11;
enum SS_SUNKEN = 4096;
enum SS_WHITEFRAME = 9;
enum SS_WHITERECT = 6;
enum SS_USERITEM = 10;
enum SS_TYPEMASK = 0x0000001FL;
enum SS_ENDELLIPSIS = 0x00004000L;
enum SS_PATHELLIPSIS = 0x00008000L;
enum SS_WORDELLIPSIS = 0x0000C000L;
enum SS_ELLIPSISMASK = 0x0000C000L;
enum DS_ABSALIGN = 0x0001;
enum DS_3DLOOK = 0x0004;
enum DS_SYSMODAL = 0x0002;
enum DS_FIXEDSYS = 0x0008;
enum DS_NOFAILCREATE = 0x0010;
enum DS_LOCALEDIT = 0x0020;
enum DS_SETFONT = 0x0040;
enum DS_MODALFRAME = 0x0080;
enum DS_NOIDLEMSG = 0x0100;
enum DS_SETFOREGROUND = 0x0200;
enum DS_CONTROL = 0x0400;
enum DS_CENTER = 0x0800;
enum DS_CENTERMOUSE = 0x1000;
enum DS_CONTEXTHELP = 0x2000;
enum DS_SHELLFONT = DS_SETFONT | DS_FIXEDSYS;
enum WS_EX_ACCEPTFILES = 16;
enum WS_EX_APPWINDOW = 0x40000;
enum WS_EX_CLIENTEDGE = 512;
enum WS_EX_COMPOSITED = 0x2000000; // XP
enum WS_EX_CONTEXTHELP = 0x400;
enum WS_EX_CONTROLPARENT = 0x10000;
enum WS_EX_DLGMODALFRAME = 1;
enum WS_EX_LAYERED = 0x80000; // w2k
enum WS_EX_LAYOUTRTL = 0x400000; // w98, w2k
enum WS_EX_LEFT = 0;
enum WS_EX_LEFTSCROLLBAR = 0x4000;
enum WS_EX_LTRREADING = 0;
enum WS_EX_MDICHILD = 64;
enum WS_EX_NOACTIVATE = 0x8000000; // w2k
enum WS_EX_NOINHERITLAYOUT = 0x100000; // w2k
enum WS_EX_NOPARENTNOTIFY = 4;
enum WS_EX_NOREDIRECTIONBITMAP = 0x00200000; // w8, s2012
enum WS_EX_OVERLAPPEDWINDOW = 0x300;
enum WS_EX_PALETTEWINDOW = 0x188;
enum WS_EX_RIGHT = 0x1000;
enum WS_EX_RIGHTSCROLLBAR = 0;
enum WS_EX_RTLREADING = 0x2000;
enum WS_EX_STATICEDGE = 0x20000;
enum WS_EX_TOOLWINDOW = 128;
enum WS_EX_TOPMOST = 8;
enum WS_EX_TRANSPARENT = 32;
enum WS_EX_WINDOWEDGE = 256;
enum WINSTA_ENUMDESKTOPS = 1;
enum WINSTA_READATTRIBUTES = 2;
enum WINSTA_ACCESSCLIPBOARD = 4;
enum WINSTA_CREATEDESKTOP = 8;
enum WINSTA_WRITEATTRIBUTES = 16;
enum WINSTA_ACCESSGLOBALATOMS = 32;
enum WINSTA_EXITWINDOWS = 64;
enum WINSTA_ENUMERATE = 256;
enum WINSTA_READSCREEN = 512;
enum DDL_READWRITE = 0;
enum DDL_READONLY = 1;
enum DDL_HIDDEN = 2;
enum DDL_SYSTEM = 4;
enum DDL_DIRECTORY = 16;
enum DDL_ARCHIVE = 32;
enum DDL_POSTMSGS = 8192;
enum DDL_DRIVES = 16384;
enum DDL_EXCLUSIVE = 32768;
enum {
DC_ACTIVE = 0x0001,
DC_SMALLCAP = 0x0002,
DC_ICON = 0x0004,
DC_TEXT = 0x0008,
DC_INBUTTON = 0x0010,
DC_GRADIENT = 0x0020
}
static if (_WIN32_WINNT >= 0x501) {
enum DC_BUTTONS = 0x1000;
}
// Where are these documented?
//enum DC_CAPTION = DC_ICON|DC_TEXT|DC_BUTTONS;
//enum DC_NC = DC_CAPTION|DC_FRAME;
enum BDR_RAISEDOUTER = 1;
enum BDR_SUNKENOUTER = 2;
enum BDR_RAISEDINNER = 4;
enum BDR_SUNKENINNER = 8;
enum BDR_OUTER = 3;
enum BDR_INNER = 0xc;
enum BDR_RAISED = 5;
enum BDR_SUNKEN = 10;
enum EDGE_RAISED = BDR_RAISEDOUTER|BDR_RAISEDINNER;
enum EDGE_SUNKEN = BDR_SUNKENOUTER|BDR_SUNKENINNER;
enum EDGE_ETCHED = BDR_SUNKENOUTER|BDR_RAISEDINNER;
enum EDGE_BUMP = BDR_RAISEDOUTER|BDR_SUNKENINNER;
enum BF_LEFT = 1;
enum BF_TOP = 2;
enum BF_RIGHT = 4;
enum BF_BOTTOM = 8;
enum BF_TOPLEFT = BF_TOP|BF_LEFT;
enum BF_TOPRIGHT = BF_TOP|BF_RIGHT;
enum BF_BOTTOMLEFT = BF_BOTTOM|BF_LEFT;
enum BF_BOTTOMRIGHT = BF_BOTTOM|BF_RIGHT;
enum BF_RECT = BF_LEFT|BF_TOP|BF_RIGHT|BF_BOTTOM ;
enum BF_DIAGONAL = 16;
enum BF_DIAGONAL_ENDTOPRIGHT = BF_DIAGONAL|BF_TOP|BF_RIGHT;
enum BF_DIAGONAL_ENDTOPLEFT = BF_DIAGONAL|BF_TOP|BF_LEFT;
enum BF_DIAGONAL_ENDBOTTOMLEFT = BF_DIAGONAL|BF_BOTTOM|BF_LEFT;
enum BF_DIAGONAL_ENDBOTTOMRIGHT = BF_DIAGONAL|BF_BOTTOM|BF_RIGHT;
enum BF_MIDDLE = 0x800;
enum BF_SOFT = 0x1000;
enum BF_ADJUST = 0x2000;
enum BF_FLAT = 0x4000;
enum BF_MONO = 0x8000;
enum {
DFC_CAPTION = 1,
DFC_MENU,
DFC_SCROLL,
DFC_BUTTON,
DFC_POPUPMENU // = 5
}
enum {
DFCS_CAPTIONCLOSE,
DFCS_CAPTIONMIN,
DFCS_CAPTIONMAX,
DFCS_CAPTIONRESTORE,
DFCS_CAPTIONHELP // = 4
}
enum {
DFCS_MENUARROW = 0,
DFCS_MENUCHECK = 1,
DFCS_MENUBULLET = 2,
DFCS_MENUARROWRIGHT = 4
}
enum {
DFCS_SCROLLUP = 0,
DFCS_SCROLLDOWN = 1,
DFCS_SCROLLLEFT = 2,
DFCS_SCROLLRIGHT = 3,
DFCS_SCROLLCOMBOBOX = 5,
DFCS_SCROLLSIZEGRIP = 8,
DFCS_SCROLLSIZEGRIPRIGHT = 16
}
enum {
DFCS_BUTTONCHECK = 0,
DFCS_BUTTONRADIOIMAGE = 0x0001,
DFCS_BUTTONRADIOMASK = 0x0002,
DFCS_BUTTONRADIO = 0x0004,
DFCS_BUTTON3STATE = 0x0008,
DFCS_BUTTONPUSH = 0x0010,
DFCS_INACTIVE = 0x0100,
DFCS_PUSHED = 0x0200,
DFCS_CHECKED = 0x0400,
DFCS_TRANSPARENT = 0x0800,
DFCS_HOT = 0x1000,
DFCS_ADJUSTRECT = 0x2000,
DFCS_FLAT = 0x4000,
DFCS_MONO = 0x8000
}
enum {
DST_COMPLEX = 0,
DST_TEXT,
DST_PREFIXTEXT,
DST_ICON,
DST_BITMAP // = 4
}
enum DSS_NORMAL = 0;
enum DSS_UNION = 16;
enum DSS_DISABLED = 32;
enum DSS_MONO = 128;
enum DSS_RIGHT = 0x8000;
enum DT_BOTTOM = 8;
enum DT_CALCRECT = 1024;
enum DT_CENTER = 1;
enum DT_EDITCONTROL = 8192;
enum DT_END_ELLIPSIS = 32768;
enum DT_PATH_ELLIPSIS = 16384;
enum DT_WORD_ELLIPSIS = 0x40000;
enum DT_EXPANDTABS = 64;
enum DT_EXTERNALLEADING = 512;
enum DT_LEFT = 0;
enum DT_MODIFYSTRING = 65536;
enum DT_NOCLIP = 256;
enum DT_NOPREFIX = 2048;
enum DT_RIGHT = 2;
enum DT_RTLREADING = 131072;
enum DT_SINGLELINE = 32;
enum DT_TABSTOP = 128;
enum DT_TOP = 0;
enum DT_VCENTER = 4;
enum DT_WORDBREAK = 16;
enum DT_INTERNAL = 4096;
enum WB_ISDELIMITER = 2;
enum WB_LEFT = 0;
enum WB_RIGHT = 1;
enum SB_HORZ = 0;
enum SB_VERT = 1;
enum SB_CTL = 2;
enum SB_BOTH = 3;
enum ESB_DISABLE_BOTH = 3;
enum ESB_DISABLE_DOWN = 2;
enum ESB_DISABLE_LEFT = 1;
enum ESB_DISABLE_LTUP = 1;
enum ESB_DISABLE_RIGHT = 2;
enum ESB_DISABLE_RTDN = 2;
enum ESB_DISABLE_UP = 1;
enum ESB_ENABLE_BOTH = 0;
enum SB_LINEUP = 0;
enum SB_LINEDOWN = 1;
enum SB_LINELEFT = 0;
enum SB_LINERIGHT = 1;
enum SB_PAGEUP = 2;
enum SB_PAGEDOWN = 3;
enum SB_PAGELEFT = 2;
enum SB_PAGERIGHT = 3;
enum SB_THUMBPOSITION = 4;
enum SB_THUMBTRACK = 5;
enum SB_ENDSCROLL = 8;
enum SB_LEFT = 6;
enum SB_RIGHT = 7;
enum SB_BOTTOM = 7;
enum SB_TOP = 6;
//MACRO #define IS_INTRESOURCE(i) (((ULONG_PTR)(i) >> 16) == 0)
template MAKEINTRESOURCE_T(WORD i) {
enum LPTSTR MAKEINTRESOURCE_T = cast(LPTSTR)(i);
}
nothrow @nogc {
LPSTR MAKEINTRESOURCEA(/*WORD*/uint i) {
return cast(LPSTR) i;
}
LPWSTR MAKEINTRESOURCEW(/*WORD*/uint i) {
return cast(LPWSTR) i;
}
}
enum RT_CURSOR = MAKEINTRESOURCE_T!(1);
enum RT_BITMAP = MAKEINTRESOURCE_T!(2);
enum RT_ICON = MAKEINTRESOURCE_T!(3);
enum RT_MENU = MAKEINTRESOURCE_T!(4);
enum RT_DIALOG = MAKEINTRESOURCE_T!(5);
enum RT_STRING = MAKEINTRESOURCE_T!(6);
enum RT_FONTDIR = MAKEINTRESOURCE_T!(7);
enum RT_FONT = MAKEINTRESOURCE_T!(8);
enum RT_ACCELERATOR = MAKEINTRESOURCE_T!(9);
enum RT_RCDATA = MAKEINTRESOURCE_T!(10);
enum RT_MESSAGETABLE = MAKEINTRESOURCE_T!(11);
enum RT_GROUP_CURSOR = MAKEINTRESOURCE_T!(12);
enum RT_GROUP_ICON = MAKEINTRESOURCE_T!(14);
enum RT_VERSION = MAKEINTRESOURCE_T!(16);
enum RT_DLGINCLUDE = MAKEINTRESOURCE_T!(17);
enum RT_PLUGPLAY = MAKEINTRESOURCE_T!(19);
enum RT_VXD = MAKEINTRESOURCE_T!(20);
enum RT_ANICURSOR = MAKEINTRESOURCE_T!(21);
enum RT_ANIICON = MAKEINTRESOURCE_T!(22);
enum RT_HTML = MAKEINTRESOURCE_T!(23);
enum RT_MANIFEST = MAKEINTRESOURCE_T!(24);
enum CREATEPROCESS_MANIFEST_RESOURCE_ID = MAKEINTRESOURCE_T!(1);
enum ISOLATIONAWARE_MANIFEST_RESOURCE_ID = MAKEINTRESOURCE_T!(2);
enum ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID = MAKEINTRESOURCE_T!(3);
enum {
EWX_LOGOFF = 0,
EWX_SHUTDOWN = 1,
EWX_REBOOT = 2,
EWX_FORCE = 4,
EWX_POWEROFF = 8,
EWX_FORCEIFHUNG = 16
}
enum CS_BYTEALIGNCLIENT = 4096;
enum CS_BYTEALIGNWINDOW = 8192;
enum CS_KEYCVTWINDOW = 4;
enum CS_NOKEYCVT = 256;
enum CS_CLASSDC = 64;
enum CS_DBLCLKS = 8;
enum CS_GLOBALCLASS = 16384;
enum CS_HREDRAW = 2;
enum CS_NOCLOSE = 512;
enum CS_OWNDC = 32;
enum CS_PARENTDC = 128;
enum CS_SAVEBITS = 2048;
enum CS_VREDRAW = 1;
enum CS_IME = 0x10000;
enum GCW_ATOM = -32;
enum GCL_CBCLSEXTRA = -20;
enum GCL_CBWNDEXTRA = -18;
enum GCL_HBRBACKGROUND = -10;
enum GCL_HCURSOR = -12;
enum GCL_HICON = -14;
enum GCL_HICONSM = -34;
enum GCL_HMODULE = -16;
enum GCL_MENUNAME = -8;
enum GCL_STYLE = -26;
enum GCL_WNDPROC = -24;
alias GCL_HICONSM GCLP_HICONSM;
alias GCL_HICON GCLP_HICON;
alias GCL_HCURSOR GCLP_HCURSOR;
alias GCL_HBRBACKGROUND GCLP_HBRBACKGROUND;
alias GCL_HMODULE GCLP_HMODULE;
alias GCL_MENUNAME GCLP_MENUNAME;
alias GCL_WNDPROC GCLP_WNDPROC;
enum {
IDC_ARROW = MAKEINTRESOURCE_T!(32512),
IDC_IBEAM = MAKEINTRESOURCE_T!(32513),
IDC_WAIT = MAKEINTRESOURCE_T!(32514),
IDC_CROSS = MAKEINTRESOURCE_T!(32515),
IDC_UPARROW = MAKEINTRESOURCE_T!(32516),
IDC_SIZE = MAKEINTRESOURCE_T!(32640),
IDC_ICON = MAKEINTRESOURCE_T!(32641),
IDC_SIZENWSE = MAKEINTRESOURCE_T!(32642),
IDC_SIZENESW = MAKEINTRESOURCE_T!(32643),
IDC_SIZEWE = MAKEINTRESOURCE_T!(32644),
IDC_SIZENS = MAKEINTRESOURCE_T!(32645),
IDC_SIZEALL = MAKEINTRESOURCE_T!(32646),
IDC_NO = MAKEINTRESOURCE_T!(32648),
IDC_HAND = MAKEINTRESOURCE_T!(32649),
IDC_APPSTARTING = MAKEINTRESOURCE_T!(32650),
IDC_HELP = MAKEINTRESOURCE_T!(32651),
IDI_APPLICATION = MAKEINTRESOURCE_T!(32512),
IDI_HAND = MAKEINTRESOURCE_T!(32513),
IDI_QUESTION = MAKEINTRESOURCE_T!(32514),
IDI_EXCLAMATION = MAKEINTRESOURCE_T!(32515),
IDI_ASTERISK = MAKEINTRESOURCE_T!(32516),
IDI_WINLOGO = MAKEINTRESOURCE_T!(32517),
IDI_WARNING = IDI_EXCLAMATION,
IDI_ERROR = IDI_HAND,
IDI_INFORMATION = IDI_ASTERISK
}
static if (_WIN32_WINNT >= 0x600) {
enum IDI_SHIELD = MAKEINTRESOURCE_T!(32518);
}
enum {
MIIM_STATE = 0x0001,
MIIM_ID = 0x0002,
MIIM_SUBMENU = 0x0004,
MIIM_CHECKMARKS = 0x0008,
MIIM_TYPE = 0x0010,
MIIM_DATA = 0x0020,
MIIM_STRING = 0x0040,
MIIM_BITMAP = 0x0080,
MIIM_FTYPE = 0x0100
}
enum {
MFT_BITMAP = 0x0004,
MFT_MENUBARBREAK = 0x0020,
MFT_MENUBREAK = 0x0040,
MFT_OWNERDRAW = 0x0100,
MFT_RADIOCHECK = 0x0200,
MFT_RIGHTJUSTIFY = 0x4000,
MFT_SEPARATOR = 0x0800,
MFT_RIGHTORDER = 0x2000,
MFT_STRING = 0
}
enum {
MFS_CHECKED = 8,
MFS_DEFAULT = 4096,
MFS_DISABLED = 3,
MFS_ENABLED = 0,
MFS_GRAYED = 3,
MFS_HILITE = 128,
MFS_UNCHECKED = 0,
MFS_UNHILITE = 0
}
enum {
GW_HWNDFIRST = 0,
GW_HWNDLAST,
GW_HWNDNEXT,
GW_HWNDPREV,
GW_OWNER,
GW_CHILD // = 5
}
enum {
SW_HIDE = 0,
SW_NORMAL = 1,
SW_SHOWNORMAL = 1,
SW_SHOWMINIMIZED = 2,
SW_MAXIMIZE = 3,
SW_SHOWMAXIMIZED = 3,
SW_SHOWNOACTIVATE = 4,
SW_SHOW = 5,
SW_MINIMIZE = 6,
SW_SHOWMINNOACTIVE = 7,
SW_SHOWNA = 8,
SW_RESTORE = 9,
SW_SHOWDEFAULT = 10,
SW_FORCEMINIMIZE = 11,
SW_MAX = 11
}
enum {
SW_PARENTCLOSING = 1,
SW_OTHERZOOM,
SW_PARENTOPENING,
SW_OTHERUNZOOM // = 4
}
enum { // is this a different SW from the previous?
SW_SCROLLCHILDREN = 0x01,
SW_INVALIDATE = 0x02,
SW_ERASE = 0x04,
SW_SMOOTHSCROLL = 0x10
}
enum {
MB_OK = 0,
MB_OKCANCEL,
MB_ABORTRETRYIGNORE,
MB_YESNOCANCEL,
MB_YESNO,
MB_RETRYCANCEL,
MB_CANCELTRYCONTINUE, // = 6
MB_TYPEMASK = 0x0000000F,
MB_ICONHAND = 0x00000010,
MB_ICONSTOP = MB_ICONHAND,
MB_ICONERROR = MB_ICONHAND,
MB_ICONQUESTION = 0x00000020,
MB_ICONEXCLAMATION = 0x00000030,
MB_ICONWARNING = MB_ICONEXCLAMATION,
MB_ICONASTERISK = 0x00000040,
MB_ICONINFORMATION = MB_ICONASTERISK,
MB_USERICON = 0x00000080,
MB_ICONMASK = 0x000000F0,
MB_DEFBUTTON1 = 0,
MB_DEFBUTTON2 = 0x00000100,
MB_DEFBUTTON3 = 0x00000200,
MB_DEFBUTTON4 = 0x00000300,
MB_DEFMASK = 0x00000F00,
MB_APPLMODAL = 0,
MB_SYSTEMMODAL = 0x00001000,
MB_TASKMODAL = 0x00002000,
MB_MODEMASK = 0x00003000,
MB_HELP = 0x00004000,
MB_NOFOCUS = 0x00008000,
MB_MISCMASK = 0x0000C000,
MB_SETFOREGROUND = 0x00010000,
MB_DEFAULT_DESKTOP_ONLY = 0x00020000,
MB_TOPMOST = 0x00040000,
MB_SERVICE_NOTIFICATION_NT3X = 0x00040000,
MB_RIGHT = 0x00080000,
MB_RTLREADING = 0x00100000,
MB_SERVICE_NOTIFICATION = 0x00200000
}
enum {
IDOK = 1,
IDCANCEL,
IDABORT,
IDRETRY,
IDIGNORE,
IDYES,
IDNO,
IDCLOSE,
IDHELP,
IDTRYAGAIN,
IDCONTINUE // = 11
}
enum GWL_EXSTYLE = -20;
enum GWL_STYLE = -16;
enum GWL_WNDPROC = -4;
enum GWLP_WNDPROC = -4;
enum GWL_HINSTANCE = -6;
enum GWLP_HINSTANCE = -6;
enum GWL_HWNDPARENT = -8;
enum GWLP_HWNDPARENT = -8;
enum GWL_ID = -12;
enum GWLP_ID = -12;
enum GWL_USERDATA = -21;
enum GWLP_USERDATA = -21;
enum DWL_DLGPROC = 4;
enum DWLP_DLGPROC = 4;
enum DWL_MSGRESULT = 0;
enum DWLP_MSGRESULT = 0;
enum DWL_USER = 8;
enum DWLP_USER = 8;
enum QS_KEY = 1;
enum QS_MOUSEMOVE = 2;
enum QS_MOUSEBUTTON = 4;
enum QS_MOUSE = 6;
enum QS_POSTMESSAGE = 8;
enum QS_TIMER = 16;
enum QS_PAINT = 32;
enum QS_SENDMESSAGE = 64;
enum QS_HOTKEY = 128;
enum QS_ALLPOSTMESSAGE = 256;
static if (_WIN32_WINNT >= 0x501) {
enum QS_RAWINPUT = 1024;
enum QS_INPUT = 1031;
enum QS_ALLEVENTS = 1215;
enum QS_ALLINPUT = 1279;
} else {
enum QS_INPUT = 7;
enum QS_ALLEVENTS = 191;
enum QS_ALLINPUT = 255;
}
enum MWMO_WAITALL = 1;
enum MWMO_ALERTABLE = 2;
enum MWMO_INPUTAVAILABLE = 4;
enum COLOR_3DDKSHADOW = 21;
enum COLOR_3DFACE = 15;
enum COLOR_3DHILIGHT = 20;
enum COLOR_3DHIGHLIGHT = 20;
enum COLOR_3DLIGHT = 22;
enum COLOR_BTNHILIGHT = 20;
enum COLOR_3DSHADOW = 16;
enum COLOR_ACTIVEBORDER = 10;
enum COLOR_ACTIVECAPTION = 2;
enum COLOR_APPWORKSPACE = 12;
enum COLOR_BACKGROUND = 1;
enum COLOR_DESKTOP = 1;
enum COLOR_BTNFACE = 15;
enum COLOR_BTNHIGHLIGHT = 20;
enum COLOR_BTNSHADOW = 16;
enum COLOR_BTNTEXT = 18;
enum COLOR_CAPTIONTEXT = 9;
enum COLOR_GRAYTEXT = 17;
enum COLOR_HIGHLIGHT = 13;
enum COLOR_HIGHLIGHTTEXT = 14;
enum COLOR_INACTIVEBORDER = 11;
enum COLOR_INACTIVECAPTION = 3;
enum COLOR_INACTIVECAPTIONTEXT = 19;
enum COLOR_INFOBK = 24;
enum COLOR_INFOTEXT = 23;
enum COLOR_MENU = 4;
enum COLOR_MENUTEXT = 7;
enum COLOR_SCROLLBAR = 0;
enum COLOR_WINDOW = 5;
enum COLOR_WINDOWFRAME = 6;
enum COLOR_WINDOWTEXT = 8;
enum COLOR_HOTLIGHT = 26;
enum COLOR_GRADIENTACTIVECAPTION = 27;
enum COLOR_GRADIENTINACTIVECAPTION = 28;
enum CTLCOLOR_MSGBOX = 0;
enum CTLCOLOR_EDIT = 1;
enum CTLCOLOR_LISTBOX = 2;
enum CTLCOLOR_BTN = 3;
enum CTLCOLOR_DLG = 4;
enum CTLCOLOR_SCROLLBAR = 5;
enum CTLCOLOR_STATIC = 6;
enum CTLCOLOR_MAX = 7;
// For GetSystemMetrics()
enum : int {
SM_CXSCREEN = 0,
SM_CYSCREEN,
SM_CXVSCROLL,
SM_CYHSCROLL,
SM_CYCAPTION,
SM_CXBORDER,
SM_CYBORDER,
SM_CXDLGFRAME, // = 7
SM_CXFIXEDFRAME = SM_CXDLGFRAME,
SM_CYDLGFRAME, // = 8
SM_CYFIXEDFRAME = SM_CYDLGFRAME,
SM_CYVTHUMB, // = 9
SM_CXHTHUMB,
SM_CXICON,
SM_CYICON,
SM_CXCURSOR,
SM_CYCURSOR,
SM_CYMENU,
SM_CXFULLSCREEN,
SM_CYFULLSCREEN,
SM_CYKANJIWINDOW,
SM_MOUSEPRESENT,
SM_CYVSCROLL,
SM_CXHSCROLL,
SM_DEBUG,
SM_SWAPBUTTON,
SM_RESERVED1,
SM_RESERVED2,
SM_RESERVED3,
SM_RESERVED4,
SM_CXMIN,
SM_CYMIN,
SM_CXSIZE,
SM_CYSIZE,
SM_CXSIZEFRAME, // = 32,
SM_CXFRAME = SM_CXSIZEFRAME,
SM_CYSIZEFRAME, // = 33
SM_CYFRAME = SM_CYSIZEFRAME,
SM_CXMINTRACK,
SM_CYMINTRACK,
SM_CXDOUBLECLK,
SM_CYDOUBLECLK,
SM_CXICONSPACING,
SM_CYICONSPACING,
SM_MENUDROPALIGNMENT,
SM_PENWINDOWS,
SM_DBCSENABLED,
SM_CMOUSEBUTTONS,
SM_SECURE,
SM_CXEDGE,
SM_CYEDGE,
SM_CXMINSPACING,
SM_CYMINSPACING,
SM_CXSMICON,
SM_CYSMICON,
SM_CYSMCAPTION,
SM_CXSMSIZE,
SM_CYSMSIZE,
SM_CXMENUSIZE,
SM_CYMENUSIZE,
SM_ARRANGE,
SM_CXMINIMIZED,
SM_CYMINIMIZED,
SM_CXMAXTRACK,
SM_CYMAXTRACK,
SM_CXMAXIMIZED,
SM_CYMAXIMIZED,
SM_NETWORK, // = 63
SM_CLEANBOOT = 67,
SM_CXDRAG,
SM_CYDRAG,
SM_SHOWSOUNDS,
SM_CXMENUCHECK,
SM_CYMENUCHECK,
SM_SLOWMACHINE,
SM_MIDEASTENABLED,
SM_MOUSEWHEELPRESENT,
SM_XVIRTUALSCREEN,
SM_YVIRTUALSCREEN,
SM_CXVIRTUALSCREEN,
SM_CYVIRTUALSCREEN,
SM_CMONITORS,
SM_SAMEDISPLAYFORMAT,
SM_IMMENABLED,
SM_CXFOCUSBORDER,
SM_CYFOCUSBORDER, // = 84
SM_TABLETPC = 86,
SM_MEDIACENTER,
SM_STARTER, // = 88
SM_CMETRICS = 88,
SM_SERVERR2,
SM_REMOTESESSION = 0x1000,
}
static if (_WIN32_WINNT >= 0x501) {
enum { // These are only for WinXP and later
SM_SHUTTINGDOWN = 0x2000,
SM_REMOTECONTROL = 0x2001
}
}
enum ARW_BOTTOMLEFT = 0;
enum ARW_BOTTOMRIGHT = 1;
enum ARW_HIDE = 8;
enum ARW_TOPLEFT = 2;
enum ARW_TOPRIGHT = 3;
enum ARW_DOWN = 4;
enum ARW_LEFT = 0;
enum ARW_RIGHT = 0;
enum ARW_UP = 4;
enum UOI_FLAGS = 1;
enum UOI_NAME = 2;
enum UOI_TYPE = 3;
enum UOI_USER_SID = 4;
// For the fuLoad parameter of LoadImage()
enum : UINT {
LR_DEFAULTCOLOR = 0,
LR_MONOCHROME = 0x0001,
LR_COLOR = 0x0002,
LR_COPYRETURNORG = 0x0004,
LR_COPYDELETEORG = 0x0008,
LR_LOADFROMFILE = 0x0010,
LR_LOADTRANSPARENT = 0x0020,
LR_DEFAULTSIZE = 0x0040,
LR_VGACOLOR = 0x0080,
LR_LOADREALSIZE = 0x0080,
LR_LOADMAP3DCOLORS = 0x1000,
LR_CREATEDIBSECTION = 0x2000,
LR_COPYFROMRESOURCE = 0x4000,
LR_SHARED = 0x8000
}
enum {
KEYEVENTF_EXTENDEDKEY = 1,
KEYEVENTF_KEYUP = 2,
KEYEVENTF_UNICODE = 4,
KEYEVENTF_SCANCODE = 8
}
enum OBM_BTNCORNERS = 32758;
enum OBM_BTSIZE = 32761;
enum OBM_CHECK = 32760;
enum OBM_CHECKBOXES = 32759;
enum OBM_CLOSE = 32754;
enum OBM_COMBO = 32738;
enum OBM_DNARROW = 32752;
enum OBM_DNARROWD = 32742;
enum OBM_DNARROWI = 32736;
enum OBM_LFARROW = 32750;
enum OBM_LFARROWI = 32734;
enum OBM_LFARROWD = 32740;
enum OBM_MNARROW = 32739;
enum OBM_OLD_CLOSE = 32767;
enum OBM_OLD_DNARROW = 32764;
enum OBM_OLD_LFARROW = 32762;
enum OBM_OLD_REDUCE = 32757;
enum OBM_OLD_RESTORE = 32755;
enum OBM_OLD_RGARROW = 32763;
enum OBM_OLD_UPARROW = 32765;
enum OBM_OLD_ZOOM = 32756;
enum OBM_REDUCE = 32749;
enum OBM_REDUCED = 32746;
enum OBM_RESTORE = 32747;
enum OBM_RESTORED = 32744;
enum OBM_RGARROW = 32751;
enum OBM_RGARROWD = 32741;
enum OBM_RGARROWI = 32735;
enum OBM_SIZE = 32766;
enum OBM_UPARROW = 32753;
enum OBM_UPARROWD = 32743;
enum OBM_UPARROWI = 32737;
enum OBM_ZOOM = 32748;
enum OBM_ZOOMD = 32745;
enum OCR_NORMAL = 32512;
enum OCR_IBEAM = 32513;
enum OCR_WAIT = 32514;
enum OCR_CROSS = 32515;
enum OCR_UP = 32516;
enum OCR_SIZE = 32640;
enum OCR_ICON = 32641;
enum OCR_SIZENWSE = 32642;
enum OCR_SIZENESW = 32643;
enum OCR_SIZEWE = 32644;
enum OCR_SIZENS = 32645;
enum OCR_SIZEALL = 32646;
enum OCR_NO = 32648;
enum OCR_APPSTARTING = 32650;
enum OIC_SAMPLE = 32512;
enum OIC_HAND = 32513;
enum OIC_QUES = 32514;
enum OIC_BANG = 32515;
enum OIC_NOTE = 32516;
enum OIC_WINLOGO = 32517;
enum OIC_WARNING = OIC_BANG;
enum OIC_ERROR = OIC_HAND;
enum OIC_INFORMATION = OIC_NOTE;
enum HELPINFO_MENUITEM = 2;
enum HELPINFO_WINDOW = 1;
static if (_WIN32_WINNT >= 0x501) {
enum {
WTS_CONSOLE_CONNECT = 1,
WTS_CONSOLE_DISCONNECT,
WTS_REMOTE_CONNECT,
WTS_REMOTE_DISCONNECT,
WTS_SESSION_LOGON,
WTS_SESSION_LOGOFF,
WTS_SESSION_LOCK,
WTS_SESSION_UNLOCK,
WTS_SESSION_REMOTE_CONTROL // = 9
}
}
enum MSGF_DIALOGBOX = 0;
enum MSGF_MESSAGEBOX = 1;
enum MSGF_MENU = 2;
enum MSGF_MOVE = 3;
enum MSGF_SIZE = 4;
enum MSGF_SCROLLBAR = 5;
enum MSGF_NEXTWINDOW = 6;
enum MSGF_MAINLOOP = 8;
enum MSGF_USER = 4096;
enum {
MOUSEEVENTF_MOVE = 0x0001,
MOUSEEVENTF_LEFTDOWN = 0x0002,
MOUSEEVENTF_LEFTUP = 0x0004,
MOUSEEVENTF_RIGHTDOWN = 0x0008,
MOUSEEVENTF_RIGHTUP = 0x0010,
MOUSEEVENTF_MIDDLEDOWN = 0x0020,
MOUSEEVENTF_MIDDLEUP = 0x0040,
MOUSEEVENTF_XDOWN = 0x0080,
MOUSEEVENTF_XUP = 0x0100,
MOUSEEVENTF_WHEEL = 0x0800,
MOUSEEVENTF_ABSOLUTE = 0x8000
}
enum PM_NOREMOVE = 0;
enum PM_REMOVE = 1;
enum PM_NOYIELD = 2;
enum : HWND {
HWND_BROADCAST = cast(HWND) 0xFFFF,
HWND_MESSAGE = cast(HWND) -3,
HWND_NOTOPMOST = cast(HWND) -2,
HWND_TOPMOST = cast(HWND) -1,
HWND_TOP = cast(HWND) 0,
HWND_DESKTOP = cast(HWND) 0,
HWND_BOTTOM = cast(HWND) 1
}
enum RDW_INVALIDATE = 1;
enum RDW_INTERNALPAINT = 2;
enum RDW_ERASE = 4;
enum RDW_VALIDATE = 8;
enum RDW_NOINTERNALPAINT = 16;
enum RDW_NOERASE = 32;
enum RDW_NOCHILDREN = 64;
enum RDW_ALLCHILDREN = 128;
enum RDW_UPDATENOW = 256;
enum RDW_ERASENOW = 512;
enum RDW_FRAME = 1024;
enum RDW_NOFRAME = 2048;
enum {
SMTO_NORMAL = 0,
SMTO_BLOCK = 1,
SMTO_ABORTIFHUNG = 2,
SMTO_NOTIMEOUTIFNOTHUNG = 8
}
enum SIF_ALL = 23;
enum SIF_PAGE = 2;
enum SIF_POS = 4;
enum SIF_RANGE = 1;
enum SIF_DISABLENOSCROLL = 8;
enum SIF_TRACKPOS = 16;
enum SWP_DRAWFRAME = 32;
enum SWP_FRAMECHANGED = 32;
enum SWP_HIDEWINDOW = 128;
enum SWP_NOACTIVATE = 16;
enum SWP_NOCOPYBITS = 256;
enum SWP_NOMOVE = 2;
enum SWP_NOSIZE = 1;
enum SWP_NOREDRAW = 8;
enum SWP_NOZORDER = 4;
enum SWP_SHOWWINDOW = 64;
enum SWP_NOOWNERZORDER = 512;
enum SWP_NOREPOSITION = 512;
enum SWP_NOSENDCHANGING = 1024;
enum SWP_DEFERERASE = 8192;
enum SWP_ASYNCWINDOWPOS = 16384;
enum { // passed variously as int or WPARAM
HSHELL_WINDOWCREATED = 1,
HSHELL_WINDOWDESTROYED,
HSHELL_ACTIVATESHELLWINDOW,
HSHELL_WINDOWACTIVATED,
HSHELL_GETMINRECT,
HSHELL_REDRAW,
HSHELL_TASKMAN,
HSHELL_LANGUAGE, // = 8
HSHELL_ENDTASK = 10,
HSHELL_ACCESSIBILITYSTATE,
HSHELL_APPCOMMAND, // = 12
HSHELL_RUDEAPPACTIVATED = 32772,
HSHELL_FLASH = 32774
}
static if (_WIN32_WINNT >= 0x501) {
enum {
HSHELL_WINDOWREPLACED = 13,
HSHELL_WINDOWREPLACING
}
}
enum {
SPI_GETBEEP = 0x0001,
SPI_SETBEEP = 0x0002,
SPI_GETMOUSE = 0x0003,
SPI_SETMOUSE = 0x0004,
SPI_GETBORDER = 0x0005,
SPI_SETBORDER = 0x0006,
SPI_GETKEYBOARDSPEED = 0x000A,
SPI_SETKEYBOARDSPEED = 0x000B,
SPI_LANGDRIVER = 0x000C,
SPI_ICONHORIZONTALSPACING = 0x000D,
SPI_GETSCREENSAVETIMEOUT = 0x000E,
SPI_SETSCREENSAVETIMEOUT = 0x000F,
SPI_GETSCREENSAVEACTIVE = 0x0010,
SPI_SETSCREENSAVEACTIVE = 0x0011,
SPI_GETGRIDGRANULARITY = 0x0012,
SPI_SETGRIDGRANULARITY = 0x0013,
SPI_SETDESKWALLPAPER = 0x0014,
SPI_SETDESKPATTERN = 0x0015,
SPI_GETKEYBOARDDELAY = 0x0016,
SPI_SETKEYBOARDDELAY = 0x0017,
SPI_ICONVERTICALSPACING = 0x0018,
SPI_GETICONTITLEWRAP = 0x0019,
SPI_SETICONTITLEWRAP = 0x001A,
SPI_GETMENUDROPALIGNMENT = 0x001B,
SPI_SETMENUDROPALIGNMENT = 0x001C,
SPI_SETDOUBLECLKWIDTH = 0x001D,
SPI_SETDOUBLECLKHEIGHT = 0x001E,
SPI_GETICONTITLELOGFONT = 0x001F,
SPI_SETDOUBLECLICKTIME = 0x0020,
SPI_SETMOUSEBUTTONSWAP = 0x0021,
SPI_SETICONTITLELOGFONT = 0x0022,
SPI_GETFASTTASKSWITCH = 0x0023,
SPI_SETFASTTASKSWITCH = 0x0024,
SPI_SETDRAGFULLWINDOWS = 0x0025,
SPI_GETDRAGFULLWINDOWS = 0x0026,
SPI_GETNONCLIENTMETRICS = 0x0029,
SPI_SETNONCLIENTMETRICS = 0x002A,
SPI_GETMINIMIZEDMETRICS = 0x002B,
SPI_SETMINIMIZEDMETRICS = 0x002C,
SPI_GETICONMETRICS = 0x002D,
SPI_SETICONMETRICS = 0x002E,
SPI_SETWORKAREA = 0x002F,
SPI_GETWORKAREA = 0x0030,
SPI_SETPENWINDOWS = 0x0031,
SPI_GETFILTERKEYS = 0x0032,
SPI_SETFILTERKEYS = 0x0033,
SPI_GETTOGGLEKEYS = 0x0034,
SPI_SETTOGGLEKEYS = 0x0035,
SPI_GETMOUSEKEYS = 0x0036,
SPI_SETMOUSEKEYS = 0x0037,
SPI_GETSHOWSOUNDS = 0x0038,
SPI_SETSHOWSOUNDS = 0x0039,
SPI_GETSTICKYKEYS = 0x003A,
SPI_SETSTICKYKEYS = 0x003B,
SPI_GETACCESSTIMEOUT = 0x003C,
SPI_SETACCESSTIMEOUT = 0x003D,
SPI_GETSERIALKEYS = 0x003E,
SPI_SETSERIALKEYS = 0x003F,
SPI_GETSOUNDSENTRY = 0x0040,
SPI_SETSOUNDSENTRY = 0x0041,
SPI_GETHIGHCONTRAST = 0x0042,
SPI_SETHIGHCONTRAST = 0x0043,
SPI_GETKEYBOARDPREF = 0x0044,
SPI_SETKEYBOARDPREF = 0x0045,
SPI_GETSCREENREADER = 0x0046,
SPI_SETSCREENREADER = 0x0047,
SPI_GETANIMATION = 0x0048,
SPI_SETANIMATION = 0x0049,
SPI_GETFONTSMOOTHING = 0x004A,
SPI_SETFONTSMOOTHING = 0x004B,
SPI_SETDRAGWIDTH = 0x004C,
SPI_SETDRAGHEIGHT = 0x004D,
SPI_SETHANDHELD = 0x004E,
SPI_GETLOWPOWERTIMEOUT = 0x004F,
SPI_GETPOWEROFFTIMEOUT = 0x0050,
SPI_SETLOWPOWERTIMEOUT = 0x0051,
SPI_SETPOWEROFFTIMEOUT = 0x0052,
SPI_GETLOWPOWERACTIVE = 0x0053,
SPI_GETPOWEROFFACTIVE = 0x0054,
SPI_SETLOWPOWERACTIVE = 0x0055,
SPI_SETPOWEROFFACTIVE = 0x0056,
SPI_SETCURSORS = 0x0057,
SPI_SETICONS = 0x0058,
SPI_GETDEFAULTINPUTLANG = 0x0059,
SPI_SETDEFAULTINPUTLANG = 0x005A,
SPI_SETLANGTOGGLE = 0x005B,
SPI_GETWINDOWSEXTENSION = 0x005C,
SPI_SETMOUSETRAILS = 0x005D,
SPI_GETMOUSETRAILS = 0x005E,
SPI_GETSNAPTODEFBUTTON = 0x005F,
SPI_SETSNAPTODEFBUTTON = 0x0060,
//SPI_SCREENSAVERRUNNING = 0x0061, // mistake in older MinGW?
SPI_SETSCREENSAVERRUNNING = 0x0061,
SPI_GETMOUSEHOVERWIDTH = 0x0062,
SPI_SETMOUSEHOVERWIDTH = 0x0063,
SPI_GETMOUSEHOVERHEIGHT = 0x0064,
SPI_SETMOUSEHOVERHEIGHT = 0x0065,
SPI_GETMOUSEHOVERTIME = 0x0066,
SPI_SETMOUSEHOVERTIME = 0x0067,
SPI_GETWHEELSCROLLLINES = 0x0068,
SPI_SETWHEELSCROLLLINES = 0x0069,
SPI_GETMENUSHOWDELAY = 0x006A,
SPI_SETMENUSHOWDELAY = 0x006B,
SPI_GETSHOWIMEUI = 0x006E,
SPI_SETSHOWIMEUI = 0x006F,
SPI_GETMOUSESPEED = 0x0070,
SPI_SETMOUSESPEED = 0x0071,
SPI_GETSCREENSAVERRUNNING = 0x0072,
SPI_GETDESKWALLPAPER = 0x0073,
SPI_GETACTIVEWINDOWTRACKING = 0x1000,
SPI_SETACTIVEWINDOWTRACKING = 0x1001,
SPI_GETMENUANIMATION = 0x1002,
SPI_SETMENUANIMATION = 0x1003,
SPI_GETCOMBOBOXANIMATION = 0x1004,
SPI_SETCOMBOBOXANIMATION = 0x1005,
SPI_GETLISTBOXSMOOTHSCROLLING = 0x1006,
SPI_SETLISTBOXSMOOTHSCROLLING = 0x1007,
SPI_GETGRADIENTCAPTIONS = 0x1008,
SPI_SETGRADIENTCAPTIONS = 0x1009,
SPI_GETKEYBOARDCUES = 0x100A,
SPI_GETMENUUNDERLINES = SPI_GETKEYBOARDCUES,
SPI_SETKEYBOARDCUES = 0x100B,
SPI_SETMENUUNDERLINES = SPI_SETKEYBOARDCUES,
SPI_GETACTIVEWNDTRKZORDER = 0x100C,
SPI_SETACTIVEWNDTRKZORDER = 0x100D,
SPI_GETHOTTRACKING = 0x100E,
SPI_SETHOTTRACKING = 0x100F,
SPI_GETMENUFADE = 0x1012,
SPI_SETMENUFADE = 0x1013,
SPI_GETSELECTIONFADE = 0x1014,
SPI_SETSELECTIONFADE = 0x1015,
SPI_GETTOOLTIPANIMATION = 0x1016,
SPI_SETTOOLTIPANIMATION = 0x1017,
SPI_GETTOOLTIPFADE = 0x1018,
SPI_SETTOOLTIPFADE = 0x1019,
SPI_GETCURSORSHADOW = 0x101A,
SPI_SETCURSORSHADOW = 0x101B,
SPI_GETBLOCKSENDINPUTRESETS = 0x1026,
SPI_SETBLOCKSENDINPUTRESETS = 0x1027,
SPI_GETUIEFFECTS = 0x103E,
SPI_SETUIEFFECTS = 0x103F,
SPI_GETFOREGROUNDLOCKTIMEOUT = 0x2000,
SPI_SETFOREGROUNDLOCKTIMEOUT = 0x2001,
SPI_GETACTIVEWNDTRKTIMEOUT = 0x2002,
SPI_SETACTIVEWNDTRKTIMEOUT = 0x2003,
SPI_GETFOREGROUNDFLASHCOUNT = 0x2004,
SPI_SETFOREGROUNDFLASHCOUNT = 0x2005,
SPI_GETCARETWIDTH = 0x2006,
SPI_SETCARETWIDTH = 0x2007
}
enum {
SPIF_UPDATEINIFILE = 1,
SPIF_SENDWININICHANGE = 2,
SPIF_SENDCHANGE = SPIF_SENDWININICHANGE
}
// [Redefined] ATF_ONOFFFEEDBACK = 2
// [Redefined] ATF_TIMEOUTON = 1
enum WM_APP = 32768;
enum WM_ACTIVATE = 6;
enum WM_ACTIVATEAPP = 28;
enum WM_AFXFIRST = 864;
enum WM_AFXLAST = 895;
enum WM_ASKCBFORMATNAME = 780;
enum WM_CANCELJOURNAL = 75;
enum WM_CANCELMODE = 31;
enum WM_CAPTURECHANGED = 533;
enum WM_CHANGECBCHAIN = 781;
enum WM_CHAR = 258;
enum WM_CHARTOITEM = 47;
enum WM_CHILDACTIVATE = 34;
enum WM_CLEAR = 771;
enum WM_CLOSE = 16;
enum WM_COMMAND = 273;
enum WM_COMMNOTIFY = 68; // obsolete
enum WM_COMPACTING = 65;
enum WM_COMPAREITEM = 57;
enum WM_CONTEXTMENU = 123;
enum WM_COPY = 769;
enum WM_COPYDATA = 74;
enum WM_CREATE = 1;
enum WM_CTLCOLORBTN = 309;
enum WM_CTLCOLORDLG = 310;
enum WM_CTLCOLOREDIT = 307;
enum WM_CTLCOLORLISTBOX = 308;
enum WM_CTLCOLORMSGBOX = 306;
enum WM_CTLCOLORSCROLLBAR = 311;
enum WM_CTLCOLORSTATIC = 312;
enum WM_CUT = 768;
enum WM_DEADCHAR = 259;
enum WM_DELETEITEM = 45;
enum WM_DESTROY = 2;
enum WM_DESTROYCLIPBOARD = 775;
enum WM_DEVICECHANGE = 537;
enum WM_DEVMODECHANGE = 27;
enum WM_DISPLAYCHANGE = 126;
enum WM_DRAWCLIPBOARD = 776;
enum WM_DRAWITEM = 43;
enum WM_DROPFILES = 563;
enum WM_ENABLE = 10;
enum WM_ENDSESSION = 22;
enum WM_ENTERIDLE = 289;
enum WM_ENTERMENULOOP = 529;
enum WM_ENTERSIZEMOVE = 561;
enum WM_ERASEBKGND = 20;
enum WM_EXITMENULOOP = 530;
enum WM_EXITSIZEMOVE = 562;
enum WM_FONTCHANGE = 29;
enum WM_GETDLGCODE = 135;
enum WM_GETFONT = 49;
enum WM_GETHOTKEY = 51;
enum WM_GETICON = 127;
enum WM_GETMINMAXINFO = 36;
enum WM_GETTEXT = 13;
enum WM_GETTEXTLENGTH = 14;
enum WM_HANDHELDFIRST = 856;
enum WM_HANDHELDLAST = 863;
enum WM_HELP = 83;
enum WM_HOTKEY = 786;
enum WM_HSCROLL = 276;
enum WM_HSCROLLCLIPBOARD = 782;
enum WM_ICONERASEBKGND = 39;
enum WM_INITDIALOG = 272;
enum WM_INITMENU = 278;
enum WM_INITMENUPOPUP = 279;
enum WM_INPUTLANGCHANGE = 81;
enum WM_INPUTLANGCHANGEREQUEST = 80;
enum WM_KEYDOWN = 256;
enum WM_KEYUP = 257;
enum WM_KILLFOCUS = 8;
enum WM_MDIACTIVATE = 546;
enum WM_MDICASCADE = 551;
enum WM_MDICREATE = 544;
enum WM_MDIDESTROY = 545;
enum WM_MDIGETACTIVE = 553;
enum WM_MDIICONARRANGE = 552;
enum WM_MDIMAXIMIZE = 549;
enum WM_MDINEXT = 548;
enum WM_MDIREFRESHMENU = 564;
enum WM_MDIRESTORE = 547;
enum WM_MDISETMENU = 560;
enum WM_MDITILE = 550;
enum WM_MEASUREITEM = 44;
enum WM_UNINITMENUPOPUP = 0x0125;
enum WM_MENURBUTTONUP = 290;
enum WM_MENUCOMMAND = 0x0126;
enum WM_MENUGETOBJECT = 0x0124;
enum WM_MENUDRAG = 0x0123;
enum WM_CHANGEUISTATE = 0x0127;
enum WM_UPDATEUISTATE = 0x0128;
enum WM_QUERYUISTATE = 0x0129;
// LOWORD(wParam) values in WM_*UISTATE*
enum {
UIS_SET = 1,
UIS_CLEAR = 2,
UIS_INITIALIZE = 3
}
// HIWORD(wParam) values in WM_*UISTATE*
enum {
UISF_HIDEFOCUS = 0x1,
UISF_HIDEACCEL = 0x2
}
static if (_WIN32_WINNT >= 0x501) {
// HIWORD(wParam) values in WM_*UISTATE*
enum {
UISF_ACTIVE = 0x4
}
}
enum WM_MENUCHAR = 288;
enum WM_MENUSELECT = 287;
enum WM_MOVE = 3;
enum WM_MOVING = 534;
enum WM_NCACTIVATE = 134;
enum WM_NCCALCSIZE = 131;
enum WM_NCCREATE = 129;
enum WM_NCDESTROY = 130;
enum WM_NCHITTEST = 132;
enum WM_NCLBUTTONDBLCLK = 163;
enum WM_NCLBUTTONDOWN = 161;
enum WM_NCLBUTTONUP = 162;
enum WM_NCMBUTTONDBLCLK = 169;
enum WM_NCMBUTTONDOWN = 167;
enum WM_NCMBUTTONUP = 168;
enum WM_NCXBUTTONDOWN = 171;
enum WM_NCXBUTTONUP = 172;
enum WM_NCXBUTTONDBLCLK = 173;
enum WM_NCMOUSEHOVER = 0x02A0;
enum WM_NCMOUSELEAVE = 0x02A2;
enum WM_NCMOUSEMOVE = 160;
enum WM_NCPAINT = 133;
enum WM_NCRBUTTONDBLCLK = 166;
enum WM_NCRBUTTONDOWN = 164;
enum WM_NCRBUTTONUP = 165;
enum WM_NEXTDLGCTL = 40;
enum WM_NEXTMENU = 531;
enum WM_NOTIFY = 78;
enum WM_NOTIFYFORMAT = 85;
enum WM_NULL = 0;
enum WM_PAINT = 15;
enum WM_PAINTCLIPBOARD = 777;
enum WM_PAINTICON = 38;
enum WM_PALETTECHANGED = 785;
enum WM_PALETTEISCHANGING = 784;
enum WM_PARENTNOTIFY = 528;
enum WM_PASTE = 770;
enum WM_PENWINFIRST = 896;
enum WM_PENWINLAST = 911;
enum WM_POWER = 72;
enum WM_POWERBROADCAST = 536;
enum WM_PRINT = 791;
enum WM_PRINTCLIENT = 792;
enum WM_APPCOMMAND = 0x0319;
enum WM_QUERYDRAGICON = 55;
enum WM_QUERYENDSESSION = 17;
enum WM_QUERYNEWPALETTE = 783;
enum WM_QUERYOPEN = 19;
enum WM_QUEUESYNC = 35;
enum WM_QUIT = 18;
enum WM_RENDERALLFORMATS = 774;
enum WM_RENDERFORMAT = 773;
enum WM_SETCURSOR = 32;
enum WM_SETFOCUS = 7;
enum WM_SETFONT = 48;
enum WM_SETHOTKEY = 50;
enum WM_SETICON = 128;
enum WM_SETREDRAW = 11;
enum WM_SETTEXT = 12;
enum WM_SETTINGCHANGE = 26;
enum WM_SHOWWINDOW = 24;
enum WM_SIZE = 5;
enum WM_SIZECLIPBOARD = 779;
enum WM_SIZING = 532;
enum WM_SPOOLERSTATUS = 42;
enum WM_STYLECHANGED = 125;
enum WM_STYLECHANGING = 124;
enum WM_SYSCHAR = 262;
enum WM_SYSCOLORCHANGE = 21;
enum WM_SYSCOMMAND = 274;
enum WM_SYSDEADCHAR = 263;
enum WM_SYSKEYDOWN = 260;
enum WM_SYSKEYUP = 261;
static if (_WIN32_WINNT >= 0x501) {
enum WM_TABLET_FIRST = 704;
enum WM_TABLET_LAST = 735;
}
enum WM_TCARD = 82;
enum WM_THEMECHANGED = 794;
enum WM_TIMECHANGE = 30;
enum WM_TIMER = 275;
enum WM_UNDO = 772;
enum WM_USER = 1024;
enum WM_USERCHANGED = 84;
enum WM_VKEYTOITEM = 46;
enum WM_VSCROLL = 277;
enum WM_VSCROLLCLIPBOARD = 778;
enum WM_WINDOWPOSCHANGED = 71;
enum WM_WINDOWPOSCHANGING = 70;
enum WM_WININICHANGE = 26;
static if (_WIN32_WINNT >= 0x501) {
enum WM_WTSSESSION_CHANGE = 689;
}
enum WM_INPUT = 255;
enum WM_KEYFIRST = 256;
static if (_WIN32_WINNT >= 0x501) {
enum WM_UNICHAR = 265;
enum WM_KEYLAST = 265;
enum UNICODE_NOCHAR = 0xFFFF;
} else {
enum WM_KEYLAST = 264;
}
enum WM_SYNCPAINT = 136;
enum WM_MOUSEACTIVATE = 33;
enum WM_MOUSEMOVE = 512;
enum WM_LBUTTONDOWN = 513;
enum WM_LBUTTONUP = 514;
enum WM_LBUTTONDBLCLK = 515;
enum WM_RBUTTONDOWN = 516;
enum WM_RBUTTONUP = 517;
enum WM_RBUTTONDBLCLK = 518;
enum WM_MBUTTONDOWN = 519;
enum WM_MBUTTONUP = 520;
enum WM_MBUTTONDBLCLK = 521;
enum WM_MOUSEWHEEL = 522;
enum WM_MOUSEFIRST = 512;
static if (_WIN32_WINNT >= 0x501) {
enum WM_XBUTTONDOWN = 523;
enum WM_XBUTTONUP = 524;
enum WM_XBUTTONDBLCLK = 525;
}
static if (_WIN32_WINNT >= 0x600) { // FIXME: where did this come from? what version is it?
enum WM_MOUSEHWHEEL = 526;
}
static if (_WIN32_WINNT >= 0x600) {
enum WM_MOUSELAST = WM_MOUSEHWHEEL;
} else static if (_WIN32_WINNT >= 0x501) {
enum WM_MOUSELAST = WM_XBUTTONDBLCLK;
} else {
enum WM_MOUSELAST = WM_MOUSEWHEEL;
}
enum WM_MOUSEHOVER = 0x2A1;
enum WM_MOUSELEAVE = 0x2A3;
enum WHEEL_DELTA = 120;
SHORT GET_WHEEL_DELTA_WPARAM()(WPARAM wparam) {
return cast(SHORT) HIWORD(wparam);
}
enum WHEEL_PAGESCROLL = uint.max;
enum BM_CLICK = 245;
enum BM_GETCHECK = 240;
enum BM_GETIMAGE = 246;
enum BM_GETSTATE = 242;
enum BM_SETCHECK = 241;
enum BM_SETIMAGE = 247;
static if (_WIN32_WINNT >= 0x600) {
enum BM_SETDONTCLICK = 248;
}
enum BM_SETSTATE = 243;
enum BM_SETSTYLE = 244;
enum BN_CLICKED = 0;
enum BN_DBLCLK = 5;
enum BN_DISABLE = 4;
enum BN_DOUBLECLICKED = 5;
enum BN_HILITE = 2;
enum BN_KILLFOCUS = 7;
enum BN_PAINT = 1;
enum BN_PUSHED = 2;
enum BN_SETFOCUS = 6;
enum BN_UNHILITE = 3;
enum BN_UNPUSHED = 3;
enum CB_ADDSTRING = 323;
enum CB_DELETESTRING = 324;
enum CB_DIR = 325;
enum CB_FINDSTRING = 332;
enum CB_FINDSTRINGEXACT = 344;
enum CB_GETCOUNT = 326;
enum CB_GETCURSEL = 327;
enum CB_GETDROPPEDCONTROLRECT = 338;
enum CB_GETDROPPEDSTATE = 343;
enum CB_GETDROPPEDWIDTH = 351;
enum CB_GETEDITSEL = 320;
enum CB_GETEXTENDEDUI = 342;
enum CB_GETHORIZONTALEXTENT = 349;
enum CB_GETITEMDATA = 336;
enum CB_GETITEMHEIGHT = 340;
enum CB_GETLBTEXT = 328;
enum CB_GETLBTEXTLEN = 329;
enum CB_GETLOCALE = 346;
enum CB_GETTOPINDEX = 347;
enum CB_INITSTORAGE = 353;
enum CB_INSERTSTRING = 330;
enum CB_LIMITTEXT = 321;
enum CB_RESETCONTENT = 331;
enum CB_SELECTSTRING = 333;
enum CB_SETCURSEL = 334;
enum CB_SETDROPPEDWIDTH = 352;
enum CB_SETEDITSEL = 322;
enum CB_SETEXTENDEDUI = 341;
enum CB_SETHORIZONTALEXTENT = 350;
enum CB_SETITEMDATA = 337;
enum CB_SETITEMHEIGHT = 339;
enum CB_SETLOCALE = 345;
enum CB_SETTOPINDEX = 348;
enum CB_SHOWDROPDOWN = 335;
static if (_WIN32_WINNT >= 0x501) {
enum CB_GETCOMBOBOXINFO = 356;
}
enum CBN_CLOSEUP = 8;
enum CBN_DBLCLK = 2;
enum CBN_DROPDOWN = 7;
enum CBN_EDITCHANGE = 5;
enum CBN_EDITUPDATE = 6;
enum CBN_ERRSPACE = (-1);
enum CBN_KILLFOCUS = 4;
enum CBN_SELCHANGE = 1;
enum CBN_SELENDCANCEL = 10;
enum CBN_SELENDOK = 9;
enum CBN_SETFOCUS = 3;
enum EM_CANUNDO = 198;
enum EM_CHARFROMPOS = 215;
enum EM_EMPTYUNDOBUFFER = 205;
enum EM_FMTLINES = 200;
enum EM_GETFIRSTVISIBLELINE = 206;
enum EM_GETHANDLE = 189;
enum EM_GETLIMITTEXT = 213;
enum EM_GETLINE = 196;
enum EM_GETLINECOUNT = 186;
enum EM_GETMARGINS = 212;
enum EM_GETMODIFY = 184;
enum EM_GETPASSWORDCHAR = 210;
enum EM_GETRECT = 178;
enum EM_GETSEL = 176;
enum EM_GETTHUMB = 190;
enum EM_GETWORDBREAKPROC = 209;
enum EM_LIMITTEXT = 197;
enum EM_LINEFROMCHAR = 201;
enum EM_LINEINDEX = 187;
enum EM_LINELENGTH = 193;
enum EM_LINESCROLL = 182;
enum EM_POSFROMCHAR = 214;
enum EM_REPLACESEL = 194;
enum EM_SCROLL = 181;
enum EM_SCROLLCARET = 183;
enum EM_SETHANDLE = 188;
enum EM_SETLIMITTEXT = 197;
enum EM_SETMARGINS = 211;
enum EM_SETMODIFY = 185;
enum EM_SETPASSWORDCHAR = 204;
enum EM_SETREADONLY = 207;
enum EM_SETRECT = 179;
enum EM_SETRECTNP = 180;
enum EM_SETSEL = 177;
enum EM_SETTABSTOPS = 203;
enum EM_SETWORDBREAKPROC = 208;
enum EM_UNDO = 199;
enum EM_SETIMESTATUS = 216;
enum EM_GETIMESTATUS = 217;
enum EN_CHANGE = 768;
enum EN_ERRSPACE = 1280;
enum EN_HSCROLL = 1537;
enum EN_KILLFOCUS = 512;
enum EN_MAXTEXT = 1281;
enum EN_SETFOCUS = 256;
enum EN_UPDATE = 1024;
enum EN_VSCROLL = 1538;
enum LB_ADDFILE = 406;
enum LB_ADDSTRING = 384;
enum LB_DELETESTRING = 386;
enum LB_DIR = 397;
enum LB_FINDSTRING = 399;
enum LB_FINDSTRINGEXACT = 418;
enum LB_GETANCHORINDEX = 413;
enum LB_GETCARETINDEX = 415;
enum LB_GETCOUNT = 395;
enum LB_GETCURSEL = 392;
enum LB_GETHORIZONTALEXTENT = 403;
enum LB_GETITEMDATA = 409;
enum LB_GETITEMHEIGHT = 417;
enum LB_GETITEMRECT = 408;
enum LB_GETLOCALE = 422;
enum LB_GETSEL = 391;
enum LB_GETSELCOUNT = 400;
enum LB_GETSELITEMS = 401;
enum LB_GETTEXT = 393;
enum LB_GETTEXTLEN = 394;
enum LB_GETTOPINDEX = 398;
enum LB_INITSTORAGE = 424;
enum LB_INSERTSTRING = 385;
enum LB_ITEMFROMPOINT = 425;
enum LB_RESETCONTENT = 388;
enum LB_SELECTSTRING = 396;
enum LB_SELITEMRANGE = 411;
enum LB_SELITEMRANGEEX = 387;
enum LB_SETANCHORINDEX = 412;
enum LB_SETCARETINDEX = 414;
enum LB_SETCOLUMNWIDTH = 405;
enum LB_SETCOUNT = 423;
enum LB_SETCURSEL = 390;
enum LB_SETHORIZONTALEXTENT = 404;
enum LB_SETITEMDATA = 410;
enum LB_SETITEMHEIGHT = 416;
enum LB_SETLOCALE = 421;
enum LB_SETSEL = 389;
enum LB_SETTABSTOPS = 402;
enum LB_SETTOPINDEX = 407;
static if (_WIN32_WINNT >= 0x501) {
enum LB_GETLISTBOXINFO = 434;
}
enum LBN_DBLCLK = 2;
enum LBN_ERRSPACE = -2;
enum LBN_KILLFOCUS = 5;
enum LBN_SELCANCEL = 3;
enum LBN_SELCHANGE = 1;
enum LBN_SETFOCUS = 4;
enum SBM_ENABLE_ARROWS = 228;
enum SBM_GETPOS = 225;
enum SBM_GETRANGE = 227;
enum SBM_GETSCROLLINFO = 234;
enum SBM_SETPOS = 224;
enum SBM_SETRANGE = 226;
enum SBM_SETRANGEREDRAW = 230;
enum SBM_SETSCROLLINFO = 233;
static if (_WIN32_WINNT >= 0x501) {
enum SBM_GETSCROLLBARINFO = 235;
}
enum STM_GETICON = 369;
enum STM_GETIMAGE = 371;
enum STM_SETICON = 368;
enum STM_SETIMAGE = 370;
enum STN_CLICKED = 0;
enum STN_DBLCLK = 1;
enum STN_DISABLE = 3;
enum STN_ENABLE = 2;
enum STM_MSGMAX = 372;
enum DM_GETDEFID = WM_USER;
enum DM_SETDEFID = WM_USER+1;
enum DM_REPOSITION = WM_USER+2;
enum PSM_PAGEINFO = WM_USER+100;
enum PSM_SHEETINFO = WM_USER+101;
enum PSI_SETACTIVE = 1;
enum PSI_KILLACTIVE = 2;
enum PSI_APPLY = 3;
enum PSI_RESET = 4;
enum PSI_HASHELP = 5;
enum PSI_HELP = 6;
enum PSI_CHANGED = 1;
enum PSI_GUISTART = 2;
enum PSI_REBOOT = 3;
enum PSI_GETSIBLINGS = 4;
enum DCX_WINDOW = 1;
enum DCX_CACHE = 2;
enum DCX_PARENTCLIP = 32;
enum DCX_CLIPSIBLINGS = 16;
enum DCX_CLIPCHILDREN = 8;
enum DCX_NORESETATTRS = 4;
enum DCX_INTERSECTUPDATE = 0x200;
enum DCX_LOCKWINDOWUPDATE = 0x400;
enum DCX_EXCLUDERGN = 64;
enum DCX_INTERSECTRGN = 128;
enum DCX_EXCLUDEUPDATE = 256;
enum DCX_VALIDATE = 0x200000;
enum GMDI_GOINTOPOPUPS = 2;
enum GMDI_USEDISABLED = 1;
enum FKF_AVAILABLE = 2;
enum FKF_CLICKON = 64;
enum FKF_FILTERKEYSON = 1;
enum FKF_HOTKEYACTIVE = 4;
enum FKF_HOTKEYSOUND = 16;
enum FKF_CONFIRMHOTKEY = 8;
enum FKF_INDICATOR = 32;
enum HCF_HIGHCONTRASTON = 1;
enum HCF_AVAILABLE = 2;
enum HCF_HOTKEYACTIVE = 4;
enum HCF_CONFIRMHOTKEY = 8;
enum HCF_HOTKEYSOUND = 16;
enum HCF_INDICATOR = 32;
enum HCF_HOTKEYAVAILABLE = 64;
enum MKF_AVAILABLE = 2;
enum MKF_CONFIRMHOTKEY = 8;
enum MKF_HOTKEYACTIVE = 4;
enum MKF_HOTKEYSOUND = 16;
enum MKF_INDICATOR = 32;
enum MKF_MOUSEKEYSON = 1;
enum MKF_MODIFIERS = 64;
enum MKF_REPLACENUMBERS = 128;
enum SERKF_ACTIVE = 8; // May be obsolete. Not in recent MS docs.
enum SERKF_AVAILABLE = 2;
enum SERKF_INDICATOR = 4;
enum SERKF_SERIALKEYSON = 1;
enum SSF_AVAILABLE = 2;
enum SSF_SOUNDSENTRYON = 1;
enum SSTF_BORDER = 2;
enum SSTF_CHARS = 1;
enum SSTF_DISPLAY = 3;
enum SSTF_NONE = 0;
enum SSGF_DISPLAY = 3;
enum SSGF_NONE = 0;
enum SSWF_CUSTOM = 4;
enum SSWF_DISPLAY = 3;
enum SSWF_NONE = 0;
enum SSWF_TITLE = 1;
enum SSWF_WINDOW = 2;
enum SKF_AUDIBLEFEEDBACK = 64;
enum SKF_AVAILABLE = 2;
enum SKF_CONFIRMHOTKEY = 8;
enum SKF_HOTKEYACTIVE = 4;
enum SKF_HOTKEYSOUND = 16;
enum SKF_INDICATOR = 32;
enum SKF_STICKYKEYSON = 1;
enum SKF_TRISTATE = 128;
enum SKF_TWOKEYSOFF = 256;
enum TKF_AVAILABLE = 2;
enum TKF_CONFIRMHOTKEY = 8;
enum TKF_HOTKEYACTIVE = 4;
enum TKF_HOTKEYSOUND = 16;
enum TKF_TOGGLEKEYSON = 1;
enum MDITILE_SKIPDISABLED = 2;
enum MDITILE_HORIZONTAL = 1;
enum MDITILE_VERTICAL = 0;
enum {
VK_LBUTTON = 0x01,
VK_RBUTTON = 0x02,
VK_CANCEL = 0x03,
VK_MBUTTON = 0x04,
VK_XBUTTON1 = 0x05,
VK_XBUTTON2 = 0x06,
VK_BACK = 0x08,
VK_TAB = 0x09,
VK_CLEAR = 0x0C,
VK_RETURN = 0x0D,
VK_SHIFT = 0x10,
VK_CONTROL = 0x11,
VK_MENU = 0x12,
VK_PAUSE = 0x13,
VK_CAPITAL = 0x14,
VK_KANA = 0x15,
VK_HANGEUL = 0x15,
VK_HANGUL = 0x15,
VK_JUNJA = 0x17,
VK_FINAL = 0x18,
VK_HANJA = 0x19,
VK_KANJI = 0x19,
VK_ESCAPE = 0x1B,
VK_CONVERT = 0x1C,
VK_NONCONVERT = 0x1D,
VK_ACCEPT = 0x1E,
VK_MODECHANGE = 0x1F,
VK_SPACE = 0x20,
VK_PRIOR = 0x21,
VK_NEXT = 0x22,
VK_END = 0x23,
VK_HOME = 0x24,
VK_LEFT = 0x25,
VK_UP = 0x26,
VK_RIGHT = 0x27,
VK_DOWN = 0x28,
VK_SELECT = 0x29,
VK_PRINT = 0x2A,
VK_EXECUTE = 0x2B,
VK_SNAPSHOT = 0x2C,
VK_INSERT = 0x2D,
VK_DELETE = 0x2E,
VK_HELP = 0x2F,
VK_LWIN = 0x5B,
VK_RWIN = 0x5C,
VK_APPS = 0x5D,
VK_SLEEP = 0x5F,
VK_NUMPAD0 = 0x60,
VK_NUMPAD1 = 0x61,
VK_NUMPAD2 = 0x62,
VK_NUMPAD3 = 0x63,
VK_NUMPAD4 = 0x64,
VK_NUMPAD5 = 0x65,
VK_NUMPAD6 = 0x66,
VK_NUMPAD7 = 0x67,
VK_NUMPAD8 = 0x68,
VK_NUMPAD9 = 0x69,
VK_MULTIPLY = 0x6A,
VK_ADD = 0x6B,
VK_SEPARATOR = 0x6C,
VK_SUBTRACT = 0x6D,
VK_DECIMAL = 0x6E,
VK_DIVIDE = 0x6F,
VK_F1 = 0x70,
VK_F2 = 0x71,
VK_F3 = 0x72,
VK_F4 = 0x73,
VK_F5 = 0x74,
VK_F6 = 0x75,
VK_F7 = 0x76,
VK_F8 = 0x77,
VK_F9 = 0x78,
VK_F10 = 0x79,
VK_F11 = 0x7A,
VK_F12 = 0x7B,
VK_F13 = 0x7C,
VK_F14 = 0x7D,
VK_F15 = 0x7E,
VK_F16 = 0x7F,
VK_F17 = 0x80,
VK_F18 = 0x81,
VK_F19 = 0x82,
VK_F20 = 0x83,
VK_F21 = 0x84,
VK_F22 = 0x85,
VK_F23 = 0x86,
VK_F24 = 0x87,
VK_NUMLOCK = 0x90,
VK_SCROLL = 0x91,
VK_LSHIFT = 0xA0,
VK_RSHIFT = 0xA1,
VK_LCONTROL = 0xA2,
VK_RCONTROL = 0xA3,
VK_LMENU = 0xA4,
VK_RMENU = 0xA5,
VK_BROWSER_BACK = 0xA6,
VK_BROWSER_FORWARD = 0xA7,
VK_BROWSER_REFRESH = 0xA8,
VK_BROWSER_STOP = 0xA9,
VK_BROWSER_SEARCH = 0xAA,
VK_BROWSER_FAVORITES = 0xAB,
VK_BROWSER_HOME = 0xAC,
VK_VOLUME_MUTE = 0xAD,
VK_VOLUME_DOWN = 0xAE,
VK_VOLUME_UP = 0xAF,
VK_MEDIA_NEXT_TRACK = 0xB0,
VK_MEDIA_PREV_TRACK = 0xB1,
VK_MEDIA_STOP = 0xB2,
VK_MEDIA_PLAY_PAUSE = 0xB3,
VK_LAUNCH_MAIL = 0xB4,
VK_LAUNCH_MEDIA_SELECT = 0xB5,
VK_LAUNCH_APP1 = 0xB6,
VK_LAUNCH_APP2 = 0xB7,
VK_OEM_1 = 0xBA,
VK_OEM_PLUS = 0xBB,
VK_OEM_COMMA = 0xBC,
VK_OEM_MINUS = 0xBD,
VK_OEM_PERIOD = 0xBE,
VK_OEM_2 = 0xBF,
VK_OEM_3 = 0xC0,
VK_OEM_4 = 0xDB,
VK_OEM_5 = 0xDC,
VK_OEM_6 = 0xDD,
VK_OEM_7 = 0xDE,
VK_OEM_8 = 0xDF,
VK_OEM_102 = 0xE2,
VK_PROCESSKEY = 0xE5,
VK_PACKET = 0xE7,
VK_ATTN = 0xF6,
VK_CRSEL = 0xF7,
VK_EXSEL = 0xF8,
VK_EREOF = 0xF9,
VK_PLAY = 0xFA,
VK_ZOOM = 0xFB,
VK_NONAME = 0xFC,
VK_PA1 = 0xFD,
VK_OEM_CLEAR = 0xFE,
}
enum TME_HOVER = 1;
enum TME_LEAVE = 2;
enum TME_QUERY = 0x40000000;
enum TME_CANCEL = 0x80000000;
enum HOVER_DEFAULT = 0xFFFFFFFF;
enum MK_LBUTTON = 1;
enum MK_RBUTTON = 2;
enum MK_SHIFT = 4;
enum MK_CONTROL = 8;
enum MK_MBUTTON = 16;
enum MK_XBUTTON1 = 32;
enum MK_XBUTTON2 = 64;
enum {
TPM_RECURSE = 0x0001,
TPM_LEFTBUTTON = 0,
TPM_RIGHTBUTTON = 0x0002,
TPM_LEFTALIGN = 0,
TPM_CENTERALIGN = 0x0004,
TPM_RIGHTALIGN = 0x0008,
TPM_TOPALIGN = 0,
TPM_VCENTERALIGN = 0x0010,
TPM_BOTTOMALIGN = 0x0020,
TPM_HORIZONTAL = 0,
TPM_VERTICAL = 0x0040,
TPM_NONOTIFY = 0x0080,
TPM_RETURNCMD = 0x0100
}
enum HELP_COMMAND = 0x102;
enum HELP_CONTENTS = 3;
enum HELP_CONTEXT = 1;
enum HELP_CONTEXTPOPUP = 8;
enum HELP_FORCEFILE = 9;
enum HELP_HELPONHELP = 4;
enum HELP_INDEX = 3;
enum HELP_KEY = 0x101;
enum HELP_MULTIKEY = 0x201;
enum HELP_PARTIALKEY = 0x105;
enum HELP_QUIT = 2;
enum HELP_SETCONTENTS = 5;
enum HELP_SETINDEX = 5;
enum HELP_SETWINPOS = 0x203;
enum HELP_CONTEXTMENU = 0xa;
enum HELP_FINDER = 0xb;
enum HELP_WM_HELP = 0xc;
enum HELP_TCARD = 0x8000;
enum HELP_TCARD_DATA = 16;
enum HELP_TCARD_OTHER_CALLER = 0x11;
enum IDH_NO_HELP = 28440;
enum IDH_MISSING_CONTEXT = 28441;
enum IDH_GENERIC_HELP_BUTTON = 28442;
enum IDH_OK = 28443;
enum IDH_CANCEL = 28444;
enum IDH_HELP = 28445;
enum LB_CTLCODE = 0;
enum LB_OKAY = 0;
enum LB_ERR = -1;
enum LB_ERRSPACE = -2;
enum CB_OKAY = 0;
enum CB_ERR = -1;
enum CB_ERRSPACE = -2;
enum HIDE_WINDOW = 0;
enum SHOW_OPENWINDOW = 1;
enum SHOW_ICONWINDOW = 2;
enum SHOW_FULLSCREEN = 3;
enum SHOW_OPENNOACTIVATE = 4;
enum KF_EXTENDED = 256;
enum KF_DLGMODE = 2048;
enum KF_MENUMODE = 4096;
enum KF_ALTDOWN = 8192;
enum KF_REPEAT = 16384;
enum KF_UP = 32768;
enum WSF_VISIBLE = 1;
enum PWR_OK = 1;
enum PWR_FAIL = -1;
enum PWR_SUSPENDREQUEST = 1;
enum PWR_SUSPENDRESUME = 2;
enum PWR_CRITICALRESUME = 3;
enum NFR_ANSI = 1;
enum NFR_UNICODE = 2;
enum NF_QUERY = 3;
enum NF_REQUERY = 4;
enum MENULOOP_WINDOW = 0;
enum MENULOOP_POPUP = 1;
enum WMSZ_LEFT = 1;
enum WMSZ_RIGHT = 2;
enum WMSZ_TOP = 3;
enum WMSZ_TOPLEFT = 4;
enum WMSZ_TOPRIGHT = 5;
enum WMSZ_BOTTOM = 6;
enum WMSZ_BOTTOMLEFT = 7;
enum WMSZ_BOTTOMRIGHT = 8;
enum HTERROR = -2;
enum HTTRANSPARENT = -1;
enum HTNOWHERE = 0;
enum HTCLIENT = 1;
enum HTCAPTION = 2;
enum HTSYSMENU = 3;
enum HTGROWBOX = 4;
enum HTSIZE = 4;
enum HTMENU = 5;
enum HTHSCROLL = 6;
enum HTVSCROLL = 7;
enum HTMINBUTTON = 8;
enum HTMAXBUTTON = 9;
enum HTREDUCE = 8;
enum HTZOOM = 9;
enum HTLEFT = 10;
enum HTSIZEFIRST = 10;
enum HTRIGHT = 11;
enum HTTOP = 12;
enum HTTOPLEFT = 13;
enum HTTOPRIGHT = 14;
enum HTBOTTOM = 15;
enum HTBOTTOMLEFT = 16;
enum HTBOTTOMRIGHT = 17;
enum HTSIZELAST = 17;
enum HTBORDER = 18;
enum HTOBJECT = 19;
enum HTCLOSE = 20;
enum HTHELP = 21;
enum MA_ACTIVATE = 1;
enum MA_ACTIVATEANDEAT = 2;
enum MA_NOACTIVATE = 3;
enum MA_NOACTIVATEANDEAT = 4;
enum SIZE_RESTORED = 0;
enum SIZE_MINIMIZED = 1;
enum SIZE_MAXIMIZED = 2;
enum SIZE_MAXSHOW = 3;
enum SIZE_MAXHIDE = 4;
enum SIZENORMAL = 0;
enum SIZEICONIC = 1;
enum SIZEFULLSCREEN = 2;
enum SIZEZOOMSHOW = 3;
enum SIZEZOOMHIDE = 4;
enum WVR_ALIGNTOP = 16;
enum WVR_ALIGNLEFT = 32;
enum WVR_ALIGNBOTTOM = 64;
enum WVR_ALIGNRIGHT = 128;
enum WVR_HREDRAW = 256;
enum WVR_VREDRAW = 512;
enum WVR_REDRAW = (WVR_HREDRAW|WVR_VREDRAW);
enum WVR_VALIDRECTS = 1024;
enum PRF_CHECKVISIBLE = 1;
enum PRF_NONCLIENT = 2;
enum PRF_CLIENT = 4;
enum PRF_ERASEBKGND = 8;
enum PRF_CHILDREN = 16;
enum PRF_OWNED = 32;
enum IDANI_OPEN = 1;
enum IDANI_CLOSE = 2;
enum IDANI_CAPTION = 3;
enum WPF_RESTORETOMAXIMIZED = 2;
enum WPF_SETMINPOSITION = 1;
enum ODT_MENU = 1;
enum ODT_LISTBOX = 2;
enum ODT_COMBOBOX = 3;
enum ODT_BUTTON = 4;
enum ODT_STATIC = 5;
enum ODA_DRAWENTIRE = 1;
enum ODA_SELECT = 2;
enum ODA_FOCUS = 4;
enum ODS_SELECTED = 1;
enum ODS_GRAYED = 2;
enum ODS_DISABLED = 4;
enum ODS_CHECKED = 8;
enum ODS_FOCUS = 16;
enum ODS_DEFAULT = 32;
enum ODS_COMBOBOXEDIT = 4096;
enum IDHOT_SNAPWINDOW = -1;
enum IDHOT_SNAPDESKTOP = -2;
enum DBWF_LPARAMPOINTER = 0x8000;
enum DLGWINDOWEXTRA = 30;
enum MNC_IGNORE = 0;
enum MNC_CLOSE = 1;
enum MNC_EXECUTE = 2;
enum MNC_SELECT = 3;
enum DOF_EXECUTABLE = 0x8001;
enum DOF_DOCUMENT = 0x8002;
enum DOF_DIRECTORY = 0x8003;
enum DOF_MULTIPLE = 0x8004;
enum DOF_PROGMAN = 1;
enum DOF_SHELLDATA = 2;
enum DO_DROPFILE = 0x454C4946;
enum DO_PRINTFILE = 0x544E5250;
enum SC_SIZE = 0xF000;
enum SC_MOVE = 0xF010;
enum SC_MINIMIZE = 0xF020;
enum SC_ICON = 0xf020;
enum SC_MAXIMIZE = 0xF030;
enum SC_ZOOM = 0xF030;
enum SC_NEXTWINDOW = 0xF040;
enum SC_PREVWINDOW = 0xF050;
enum SC_CLOSE = 0xF060;
enum SC_VSCROLL = 0xF070;
enum SC_HSCROLL = 0xF080;
enum SC_MOUSEMENU = 0xF090;
enum SC_KEYMENU = 0xF100;
enum SC_ARRANGE = 0xF110;
enum SC_RESTORE = 0xF120;
enum SC_TASKLIST = 0xF130;
enum SC_SCREENSAVE = 0xF140;
enum SC_HOTKEY = 0xF150;
enum SC_DEFAULT = 0xF160;
enum SC_MONITORPOWER = 0xF170;
enum SC_CONTEXTHELP = 0xF180;
enum SC_SEPARATOR = 0xF00F;
enum EC_LEFTMARGIN = 1;
enum EC_RIGHTMARGIN = 2;
enum EC_USEFONTINFO = 0xffff;
enum DC_HASDEFID = 0x534B;
enum DLGC_WANTARROWS = 1;
enum DLGC_WANTTAB = 2;
enum DLGC_WANTALLKEYS = 4;
enum DLGC_WANTMESSAGE = 4;
enum DLGC_HASSETSEL = 8;
enum DLGC_DEFPUSHBUTTON = 16;
enum DLGC_UNDEFPUSHBUTTON = 32;
enum DLGC_RADIOBUTTON = 64;
enum DLGC_WANTCHARS = 128;
enum DLGC_STATIC = 256;
enum DLGC_BUTTON = 0x2000;
enum WA_INACTIVE = 0;
enum WA_ACTIVE = 1;
enum WA_CLICKACTIVE = 2;
enum ICON_SMALL = 0;
enum ICON_BIG = 1;
static if (_WIN32_WINNT >= 0x501) {
enum ICON_SMALL2 = 2;
}
enum HBITMAP
HBMMENU_CALLBACK = cast(HBITMAP)-1,
HBMMENU_SYSTEM = cast(HBITMAP)1,
HBMMENU_MBAR_RESTORE = cast(HBITMAP)2,
HBMMENU_MBAR_MINIMIZE = cast(HBITMAP)3,
HBMMENU_MBAR_CLOSE = cast(HBITMAP)5,
HBMMENU_MBAR_CLOSE_D = cast(HBITMAP)6,
HBMMENU_MBAR_MINIMIZE_D = cast(HBITMAP)7,
HBMMENU_POPUP_CLOSE = cast(HBITMAP)8,
HBMMENU_POPUP_RESTORE = cast(HBITMAP)9,
HBMMENU_POPUP_MAXIMIZE = cast(HBITMAP)10,
HBMMENU_POPUP_MINIMIZE = cast(HBITMAP)11;
enum MOD_ALT = 1;
enum MOD_CONTROL = 2;
enum MOD_SHIFT = 4;
enum MOD_WIN = 8;
enum MOD_IGNORE_ALL_MODIFIER = 1024;
enum MOD_ON_KEYUP = 2048;
enum MOD_RIGHT = 16384;
enum MOD_LEFT = 32768;
enum LLKHF_EXTENDED = (KF_EXTENDED >> 8);
enum LLKHF_INJECTED = 0x00000010;
enum LLKHF_ALTDOWN = (KF_ALTDOWN >> 8);
enum LLKHF_UP = (KF_UP >> 8);
enum CURSOR_SHOWING = 0x00000001;
enum WS_ACTIVECAPTION = 0x00000001;
enum ENDSESSION_LOGOFF = 0x80000000;
enum GA_PARENT = 1;
enum GA_ROOT = 2;
enum GA_ROOTOWNER = 3;
enum {
MAPVK_VK_TO_VSC,
MAPVK_VSC_TO_VK,
MAPVK_VK_TO_CHAR,
MAPVK_VSC_TO_VK_EX,
MAPVK_VK_TO_VSC_EX // = 4
}
enum {
INPUT_MOUSE,
INPUT_KEYBOARD,
INPUT_HARDWARE // = 2
}
// Callbacks
// ---------
extern (Windows) nothrow {
alias INT_PTR function(HWND, UINT, WPARAM, LPARAM) DLGPROC;
alias void function(HWND, UINT, UINT_PTR, DWORD) TIMERPROC;
alias BOOL function(HDC, LPARAM, int) GRAYSTRINGPROC;
alias LRESULT function(int, WPARAM, LPARAM) HOOKPROC;
alias BOOL function(HWND, LPCSTR, HANDLE) PROPENUMPROCA;
alias BOOL function(HWND, LPCWSTR, HANDLE) PROPENUMPROCW;
alias BOOL function(HWND, LPSTR, HANDLE, ULONG_PTR) PROPENUMPROCEXA;
alias BOOL function(HWND, LPWSTR, HANDLE, ULONG_PTR) PROPENUMPROCEXW;
alias int function(LPSTR, int, int, int) EDITWORDBREAKPROCA;
alias int function(LPWSTR, int, int, int) EDITWORDBREAKPROCW;
alias LRESULT function(HWND, UINT, WPARAM, LPARAM) WNDPROC;
alias BOOL function(HDC, LPARAM, WPARAM, int, int) DRAWSTATEPROC;
alias BOOL function(HWND, LPARAM) WNDENUMPROC;
alias BOOL function(HWND, LPARAM) ENUMWINDOWSPROC;
alias void function(LPHELPINFO) MSGBOXCALLBACK;
alias BOOL function(HMONITOR, HDC, LPRECT, LPARAM) MONITORENUMPROC;
alias BOOL function(LPSTR, LPARAM) NAMEENUMPROCA;
alias BOOL function(LPWSTR, LPARAM) NAMEENUMPROCW;
alias void function(HWND, UINT, ULONG_PTR, LRESULT) SENDASYNCPROC;
alias NAMEENUMPROCA DESKTOPENUMPROCA;
alias NAMEENUMPROCW DESKTOPENUMPROCW;
alias NAMEENUMPROCA WINSTAENUMPROCA;
alias NAMEENUMPROCW WINSTAENUMPROCW;
}
mixin DECLARE_HANDLE!("HDWP");
mixin DECLARE_HANDLE!("HDEVNOTIFY");
struct MENUGETOBJECTINFO {
DWORD dwFlags;
UINT uPos;
HMENU hmenu;
PVOID riid;
PVOID pvObj;
}
alias MENUGETOBJECTINFO* PMENUGETOBJECTINFO;
struct ACCEL {
BYTE fVirt;
WORD key;
WORD cmd;
}
alias ACCEL* LPACCEL;
struct ACCESSTIMEOUT {
UINT cbSize = ACCESSTIMEOUT.sizeof;
DWORD dwFlags;
DWORD iTimeOutMSec;
}
alias ACCESSTIMEOUT* LPACCESSTIMEOUT;
struct ANIMATIONINFO {
UINT cbSize = ANIMATIONINFO.sizeof;
int iMinAnimate;
}
alias ANIMATIONINFO* LPANIMATIONINFO;
struct CREATESTRUCTA {
LPVOID lpCreateParams;
HINSTANCE hInstance;
HMENU hMenu;
HWND hwndParent;
int cy;
int cx;
int y;
int x;
LONG style;
LPCSTR lpszName;
LPCSTR lpszClass;
DWORD dwExStyle;
}
alias CREATESTRUCTA* LPCREATESTRUCTA;
struct CREATESTRUCTW {
LPVOID lpCreateParams;
HINSTANCE hInstance;
HMENU hMenu;
HWND hwndParent;
int cy;
int cx;
int y;
int x;
LONG style;
LPCWSTR lpszName;
LPCWSTR lpszClass;
DWORD dwExStyle;
}
alias CREATESTRUCTW* LPCREATESTRUCTW;
struct CBT_CREATEWNDA {
LPCREATESTRUCTA lpcs;
HWND hwndInsertAfter;
}
alias CBT_CREATEWNDA* LPCBT_CREATEWNDA;
struct CBT_CREATEWNDW {
LPCREATESTRUCTW lpcs;
HWND hwndInsertAfter;
}
alias CBT_CREATEWNDW* LPCBT_CREATEWNDW;
struct CBTACTIVATESTRUCT {
BOOL fMouse;
HWND hWndActive;
}
alias CBTACTIVATESTRUCT* LPCBTACTIVATESTRUCT;
static if (_WIN32_WINNT >= 0x501) {
struct WTSSESSION_NOTIFICATION
{
DWORD cbSize;
DWORD dwSessionId;
}
alias WTSSESSION_NOTIFICATION* PWTSSESSION_NOTIFICATION;
}
struct CLIENTCREATESTRUCT {
HANDLE hWindowMenu;
UINT idFirstChild;
}
alias CLIENTCREATESTRUCT* LPCLIENTCREATESTRUCT;
struct COMPAREITEMSTRUCT {
UINT CtlType;
UINT CtlID;
HWND hwndItem;
UINT itemID1;
ULONG_PTR itemData1;
UINT itemID2;
ULONG_PTR itemData2;
DWORD dwLocaleId;
}
alias COMPAREITEMSTRUCT* LPCOMPAREITEMSTRUCT;
struct COPYDATASTRUCT {
ULONG_PTR dwData;
DWORD cbData;
PVOID lpData;
}
alias COPYDATASTRUCT* PCOPYDATASTRUCT;
struct CURSORSHAPE {
int xHotSpot;
int yHotSpot;
int cx;
int cy;
int cbWidth;
BYTE Planes;
BYTE BitsPixel;
}
alias CURSORSHAPE* LPCURSORSHAPE;
struct CWPRETSTRUCT {
LRESULT lResult;
LPARAM lParam;
WPARAM wParam;
DWORD message;
HWND hwnd;
}
struct CWPSTRUCT {
LPARAM lParam;
WPARAM wParam;
UINT message;
HWND hwnd;
}
alias CWPSTRUCT* PCWPSTRUCT;
struct DEBUGHOOKINFO {
DWORD idThread;
DWORD idThreadInstaller;
LPARAM lParam;
WPARAM wParam;
int code;
}
alias DEBUGHOOKINFO* PDEBUGHOOKINFO, LPDEBUGHOOKINFO;
struct DELETEITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
HWND hwndItem;
ULONG_PTR itemData;
}
alias DELETEITEMSTRUCT* PDELETEITEMSTRUCT, LPDELETEITEMSTRUCT;
align(2):
struct DLGITEMTEMPLATE {
DWORD style;
DWORD dwExtendedStyle;
short x;
short y;
short cx;
short cy;
WORD id;
}
alias DLGITEMTEMPLATE* LPDLGITEMTEMPLATE;
struct DLGTEMPLATE {
DWORD style;
DWORD dwExtendedStyle;
WORD cdit;
short x;
short y;
short cx;
short cy;
}
alias DLGTEMPLATE* LPDLGTEMPLATE, LPDLGTEMPLATEA, LPDLGTEMPLATEW;
alias const(DLGTEMPLATE)* LPCDLGTEMPLATE, LPCDLGTEMPLATEA, LPCDLGTEMPLATEW;
align:
struct DRAWITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemAction;
UINT itemState;
HWND hwndItem;
HDC hDC;
RECT rcItem;
ULONG_PTR itemData;
}
alias DRAWITEMSTRUCT* LPDRAWITEMSTRUCT, PDRAWITEMSTRUCT;
struct DRAWTEXTPARAMS {
UINT cbSize = DRAWTEXTPARAMS.sizeof;
int iTabLength;
int iLeftMargin;
int iRightMargin;
UINT uiLengthDrawn;
}
alias DRAWTEXTPARAMS* LPDRAWTEXTPARAMS;
struct PAINTSTRUCT {
HDC hdc;
BOOL fErase;
RECT rcPaint;
BOOL fRestore;
BOOL fIncUpdate;
BYTE[32] rgbReserved;
}
alias PAINTSTRUCT* PPAINTSTRUCT, NPPAINTSTRUCT, LPPAINTSTRUCT;
struct MSG {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
}
alias MSG* NPMSG, LPMSG, PMSG;
struct ICONINFO {
BOOL fIcon;
DWORD xHotspot;
DWORD yHotspot;
HBITMAP hbmMask;
HBITMAP hbmColor;
}
alias ICONINFO* PICONINFO;
struct NMHDR {
HWND hwndFrom;
UINT_PTR idFrom;
UINT code;
}
alias NMHDR* LPNMHDR;
struct WNDCLASSA {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
}
alias WNDCLASSA* NPWNDCLASSA, LPWNDCLASSA, PWNDCLASSA;
struct WNDCLASSW {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
}
alias WNDCLASSW* NPWNDCLASSW, LPWNDCLASSW, PWNDCLASSW;
struct WNDCLASSEXA {
UINT cbSize = WNDCLASSEXA.sizeof;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
HICON hIconSm;
}
alias WNDCLASSEXA* NPWNDCLASSEXA, LPWNDCLASSEXA, PWNDCLASSEXA;
struct WNDCLASSEXW {
UINT cbSize = WNDCLASSEXW.sizeof;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
HICON hIconSm;
}
alias WNDCLASSEXW* LPWNDCLASSEXW, PWNDCLASSEXW;
struct MENUITEMINFOA {
UINT cbSize = MENUITEMINFOA.sizeof;
UINT fMask;
UINT fType;
UINT fState;
UINT wID;
HMENU hSubMenu;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
ULONG_PTR dwItemData;
LPSTR dwTypeData;
UINT cch;
HBITMAP hbmpItem;
}
alias MENUITEMINFOA* LPMENUITEMINFOA;
alias const(MENUITEMINFOA)* LPCMENUITEMINFOA;
struct MENUITEMINFOW {
UINT cbSize = MENUITEMINFOW.sizeof;
UINT fMask;
UINT fType;
UINT fState;
UINT wID;
HMENU hSubMenu;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
ULONG_PTR dwItemData;
LPWSTR dwTypeData;
UINT cch;
HBITMAP hbmpItem;
}
alias MENUITEMINFOW* LPMENUITEMINFOW;
alias const(MENUITEMINFOW)* LPCMENUITEMINFOW;
struct SCROLLINFO {
UINT cbSize = this.sizeof;
UINT fMask;
int nMin;
int nMax;
UINT nPage;
int nPos;
int nTrackPos;
}
alias SCROLLINFO* LPSCROLLINFO;
alias const(SCROLLINFO)* LPCSCROLLINFO;
struct WINDOWPLACEMENT {
UINT length;
UINT flags;
UINT showCmd;
POINT ptMinPosition;
POINT ptMaxPosition;
RECT rcNormalPosition;
}
alias WINDOWPLACEMENT* LPWINDOWPLACEMENT, PWINDOWPLACEMENT;
struct MENUITEMTEMPLATEHEADER {
WORD versionNumber;
WORD offset;
}
struct MENUITEMTEMPLATE {
WORD mtOption;
WORD mtID;
WCHAR[1] mtString = 0;
}
alias void MENUTEMPLATE, MENUTEMPLATEA, MENUTEMPLATEW;
alias MENUTEMPLATE* LPMENUTEMPLATEA, LPMENUTEMPLATEW, LPMENUTEMPLATE;
struct HELPINFO {
UINT cbSize = this.sizeof;
int iContextType;
int iCtrlId;
HANDLE hItemHandle;
DWORD_PTR dwContextId;
POINT MousePos;
}
alias HELPINFO* LPHELPINFO;
struct MSGBOXPARAMSA {
UINT cbSize = this.sizeof;
HWND hwndOwner;
HINSTANCE hInstance;
LPCSTR lpszText;
LPCSTR lpszCaption;
DWORD dwStyle;
LPCSTR lpszIcon;
DWORD_PTR dwContextHelpId;
MSGBOXCALLBACK lpfnMsgBoxCallback;
DWORD dwLanguageId;
}
alias MSGBOXPARAMSA* PMSGBOXPARAMSA, LPMSGBOXPARAMSA;
struct MSGBOXPARAMSW {
UINT cbSize = this.sizeof;
HWND hwndOwner;
HINSTANCE hInstance;
LPCWSTR lpszText;
LPCWSTR lpszCaption;
DWORD dwStyle;
LPCWSTR lpszIcon;
DWORD_PTR dwContextHelpId;
MSGBOXCALLBACK lpfnMsgBoxCallback;
DWORD dwLanguageId;
}
alias MSGBOXPARAMSW* PMSGBOXPARAMSW, LPMSGBOXPARAMSW;
struct USEROBJECTFLAGS {
BOOL fInherit;
BOOL fReserved;
DWORD dwFlags;
}
struct FILTERKEYS {
UINT cbSize = this.sizeof;
DWORD dwFlags;
DWORD iWaitMSec;
DWORD iDelayMSec;
DWORD iRepeatMSec;
DWORD iBounceMSec;
}
struct HIGHCONTRASTA {
UINT cbSize = this.sizeof;
DWORD dwFlags;
LPSTR lpszDefaultScheme;
}
alias HIGHCONTRASTA* LPHIGHCONTRASTA;
struct HIGHCONTRASTW {
UINT cbSize = this.sizeof;
DWORD dwFlags;
LPWSTR lpszDefaultScheme;
}
alias HIGHCONTRASTW* LPHIGHCONTRASTW;
struct ICONMETRICSA {
UINT cbSize = this.sizeof;
int iHorzSpacing;
int iVertSpacing;
int iTitleWrap;
LOGFONTA lfFont;
}
alias ICONMETRICSA* LPICONMETRICSA;
struct ICONMETRICSW {
UINT cbSize = this.sizeof;
int iHorzSpacing;
int iVertSpacing;
int iTitleWrap;
LOGFONTW lfFont;
}
alias ICONMETRICSW* LPICONMETRICSW;
struct MINIMIZEDMETRICS {
UINT cbSize = this.sizeof;
int iWidth;
int iHorzGap;
int iVertGap;
int iArrange;
}
alias MINIMIZEDMETRICS* LPMINIMIZEDMETRICS;
struct MOUSEKEYS {
UINT cbSize = this.sizeof;
DWORD dwFlags;
DWORD iMaxSpeed;
DWORD iTimeToMaxSpeed;
DWORD iCtrlSpeed;
DWORD dwReserved1;
DWORD dwReserved2;
}
alias MOUSEKEYS* LPMOUSEKEYS;
struct NONCLIENTMETRICSA {
UINT cbSize = this.sizeof;
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;
}
alias NONCLIENTMETRICSA* LPNONCLIENTMETRICSA;
struct NONCLIENTMETRICSW {
UINT cbSize = this.sizeof;
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;
}
alias NONCLIENTMETRICSW* LPNONCLIENTMETRICSW;
struct SERIALKEYSA {
UINT cbSize = this.sizeof;
DWORD dwFlags;
LPSTR lpszActivePort;
LPSTR lpszPort;
UINT iBaudRate;
UINT iPortState;
UINT iActive;
}
alias SERIALKEYSA* LPSERIALKEYSA;
struct SERIALKEYSW {
UINT cbSize = this.sizeof;
DWORD dwFlags;
LPWSTR lpszActivePort;
LPWSTR lpszPort;
UINT iBaudRate;
UINT iPortState;
UINT iActive;
}
alias SERIALKEYSW* LPSERIALKEYSW;
struct SOUNDSENTRYA {
UINT cbSize = this.sizeof;
DWORD dwFlags;
DWORD iFSTextEffect;
DWORD iFSTextEffectMSec;
DWORD iFSTextEffectColorBits;
DWORD iFSGrafEffect;
DWORD iFSGrafEffectMSec;
DWORD iFSGrafEffectColor;
DWORD iWindowsEffect;
DWORD iWindowsEffectMSec;
LPSTR lpszWindowsEffectDLL;
DWORD iWindowsEffectOrdinal;
}
alias SOUNDSENTRYA* LPSOUNDSENTRYA;
struct SOUNDSENTRYW {
UINT cbSize = this.sizeof;
DWORD dwFlags;
DWORD iFSTextEffect;
DWORD iFSTextEffectMSec;
DWORD iFSTextEffectColorBits;
DWORD iFSGrafEffect;
DWORD iFSGrafEffectMSec;
DWORD iFSGrafEffectColor;
DWORD iWindowsEffect;
DWORD iWindowsEffectMSec;
LPWSTR lpszWindowsEffectDLL;
DWORD iWindowsEffectOrdinal;
}
alias SOUNDSENTRYW* LPSOUNDSENTRYW;
struct STICKYKEYS {
DWORD cbSize = this.sizeof;
DWORD dwFlags;
}
alias STICKYKEYS* LPSTICKYKEYS;
struct TOGGLEKEYS {
DWORD cbSize = this.sizeof;
DWORD dwFlags;
}
struct MOUSEHOOKSTRUCT {
POINT pt;
HWND hwnd;
UINT wHitTestCode;
ULONG_PTR dwExtraInfo;
}
alias MOUSEHOOKSTRUCT* LPMOUSEHOOKSTRUCT, PMOUSEHOOKSTRUCT;
struct TRACKMOUSEEVENT {
DWORD cbSize = this.sizeof;
DWORD dwFlags;
HWND hwndTrack;
DWORD dwHoverTime;
}
alias TRACKMOUSEEVENT* LPTRACKMOUSEEVENT;
struct TPMPARAMS {
UINT cbSize = this.sizeof;
RECT rcExclude;
}
alias TPMPARAMS* LPTPMPARAMS;
struct EVENTMSG {
UINT message;
UINT paramL;
UINT paramH;
DWORD time;
HWND hwnd;
}
alias EVENTMSG* PEVENTMSGMSG, LPEVENTMSGMSG, PEVENTMSG, LPEVENTMSG;
struct WINDOWPOS {
HWND hwnd;
HWND hwndInsertAfter;
int x;
int y;
int cx;
int cy;
UINT flags;
}
alias WINDOWPOS* PWINDOWPOS, LPWINDOWPOS;
struct NCCALCSIZE_PARAMS {
RECT[3] rgrc;
PWINDOWPOS lppos;
}
alias NCCALCSIZE_PARAMS* LPNCCALCSIZE_PARAMS;
struct MDICREATESTRUCTA {
LPCSTR szClass;
LPCSTR szTitle;
HANDLE hOwner;
int x;
int y;
int cx;
int cy;
DWORD style;
LPARAM lParam;
}
alias MDICREATESTRUCTA* LPMDICREATESTRUCTA;
struct MDICREATESTRUCTW {
LPCWSTR szClass;
LPCWSTR szTitle;
HANDLE hOwner;
int x;
int y;
int cx;
int cy;
DWORD style;
LPARAM lParam;
}
alias MDICREATESTRUCTW* LPMDICREATESTRUCTW;
struct MINMAXINFO {
POINT ptReserved;
POINT ptMaxSize;
POINT ptMaxPosition;
POINT ptMinTrackSize;
POINT ptMaxTrackSize;
}
alias MINMAXINFO* PMINMAXINFO, LPMINMAXINFO;
struct MDINEXTMENU {
HMENU hmenuIn;
HMENU hmenuNext;
HWND hwndNext;
}
alias MDINEXTMENU* PMDINEXTMENU, LPMDINEXTMENU;
struct MEASUREITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemWidth;
UINT itemHeight;
ULONG_PTR itemData;
}
alias MEASUREITEMSTRUCT* PMEASUREITEMSTRUCT, LPMEASUREITEMSTRUCT;
struct DROPSTRUCT {
HWND hwndSource;
HWND hwndSink;
DWORD wFmt;
ULONG_PTR dwData;
POINT ptDrop;
DWORD dwControlData;
}
alias DROPSTRUCT* PDROPSTRUCT, LPDROPSTRUCT;
alias DWORD HELPPOLY;
struct MULTIKEYHELPA {
DWORD mkSize;
CHAR mkKeylist = 0;
CHAR[1] szKeyphrase = 0;
}
alias MULTIKEYHELPA* PMULTIKEYHELPA, LPMULTIKEYHELPA;
struct MULTIKEYHELPW {
DWORD mkSize;
WCHAR mkKeylist = 0;
WCHAR[1] szKeyphrase = 0;
}
alias MULTIKEYHELPW* PMULTIKEYHELPW, LPMULTIKEYHELPW;
struct HELPWININFOA {
int wStructSize;
int x;
int y;
int dx;
int dy;
int wMax;
CHAR[2] rgchMember = 0;
}
alias HELPWININFOA* PHELPWININFOA, LPHELPWININFOA;
struct HELPWININFOW {
int wStructSize;
int x;
int y;
int dx;
int dy;
int wMax;
WCHAR[2] rgchMember = 0;
}
alias HELPWININFOW* PHELPWININFOW, LPHELPWININFOW;
struct STYLESTRUCT {
DWORD styleOld;
DWORD styleNew;
}
alias STYLESTRUCT* LPSTYLESTRUCT;
struct ALTTABINFO {
DWORD cbSize = this.sizeof;
int cItems;</