Module: Fzeet::Windows

Extended by:
FFI::Library
Defined in:
lib/fzeet/windows/com.rb,
lib/fzeet/windows/gdi.rb,
lib/fzeet/windows/ole.rb,
lib/fzeet/windows/libc.rb,
lib/fzeet/windows/common.rb,
lib/fzeet/windows/kernel.rb,
lib/fzeet/windows/propsys.rb,
lib/fzeet/windows/uiribbon.rb,
lib/fzeet/windows/user/Menu.rb,
lib/fzeet/windows/comctl/Edit.rb,
lib/fzeet/windows/user/Common.rb,
lib/fzeet/windows/user/Window.rb,
lib/fzeet/windows/shell/Common.rb,
lib/fzeet/windows/user/Message.rb,
lib/fzeet/windows/comctl/Button.rb,
lib/fzeet/windows/comctl/Common.rb,
lib/fzeet/windows/comctl/Header.rb,
lib/fzeet/windows/comctl/UpDown.rb,
lib/fzeet/windows/comdlg/Common.rb,
lib/fzeet/windows/comctl/SysLink.rb,
lib/fzeet/windows/comctl/ComboBox.rb,
lib/fzeet/windows/user/MessageBox.rb,
lib/fzeet/windows/shell/FileDialog.rb,
lib/fzeet/windows/user/Accelerator.rb,
lib/fzeet/windows/comctl/ComboBoxEx.rb,
lib/fzeet/windows/comdlg/FileDialog.rb,
lib/fzeet/windows/comdlg/FontDialog.rb,
lib/fzeet/windows/user/Control/Edit.rb,
lib/fzeet/windows/comctl/ProgressBar.rb,
lib/fzeet/windows/comdlg/ColorDialog.rb,
lib/fzeet/windows/comdlg/PrintDialog.rb,
lib/fzeet/windows/user/Control/Button.rb,
lib/fzeet/windows/user/Control/Common.rb,
lib/fzeet/windows/user/Control/Static.rb,
lib/fzeet/windows/comctl/MonthCalendar.rb,
lib/fzeet/windows/comctl/PropertySheet.rb,
lib/fzeet/windows/user/Control/ListBox.rb,
lib/fzeet/windows/comctl/DateTimePicker.rb,
lib/fzeet/windows/shell/BrowseForFolder.rb,
lib/fzeet/windows/user/Control/ComboBox.rb,
lib/fzeet/windows/user/SystemParametersInfo.rb

Defined Under Namespace

Modules: AnonymousSupport, COM Classes: ACCEL, ACTCTX, BLOB, BROWSEINFO, BSTRBLOB, CA, CHOOSECOLOR, CHOOSEFONT, COMBOBOXEXITEM, CREATESTRUCT, DECIMAL, DEVNAMES, DLGTEMPLATE, EDITBALLOONTIP, FILETIME, GUID, HDITEM, INITCOMMONCONTROLSEX, LARGE_INTEGER, LITEM, LOGFONT, MENUITEMINFO, MSG, NMCOMBOBOXEX, NMDATETIMECHANGE, NMHDR, NMHEADER, NMLINK, NMSELCHANGE, NMUPDOWN, NONCLIENTMETRICS, OFNOTIFY, OFNOTIFYEX, OPENFILENAME, OSVERSIONINFOEX, PAGESETUPDLG, PAINTSTRUCT, POINT, PRINTDLG, PRINTDLGEX, PRINTPAGERANGE, PROPERTYKEY, PROPSHEETHEADER, PROPSHEETPAGE, PROPVARIANT, PropertyStore, PropertyStore, RECT, SIZE, SYSTEMTIME, ULARGE_INTEGER, WNDCLASSEX

Constant Summary collapse

S_OK =
0
S_FALSE =
1
E_UNEXPECTED =
0x8000FFFF - 0x1_0000_0000
E_NOTIMPL =
0x80004001 - 0x1_0000_0000
E_OUTOFMEMORY =
0x8007000E - 0x1_0000_0000
E_INVALIDARG =
0x80070057 - 0x1_0000_0000
E_NOINTERFACE =
0x80004002 - 0x1_0000_0000
E_POINTER =
0x80004003 - 0x1_0000_0000
E_HANDLE =
0x80070006 - 0x1_0000_0000
E_ABORT =
0x80004004 - 0x1_0000_0000
E_FAIL =
0x80004005 - 0x1_0000_0000
E_ACCESSDENIED =
0x80070005 - 0x1_0000_0000
E_PENDING =
0x8000000A - 0x1_0000_0000
FACILITY_WIN32 =
7
ERROR_CANCELLED =
1223
CLSCTX_INPROC_SERVER =
0x1
CLSCTX_INPROC_HANDLER =
0x2
CLSCTX_LOCAL_SERVER =
0x4
CLSCTX_INPROC_SERVER16 =
0x8
CLSCTX_REMOTE_SERVER =
0x10
CLSCTX_INPROC_HANDLER16 =
0x20
CLSCTX_RESERVED1 =
0x40
CLSCTX_RESERVED2 =
0x80
CLSCTX_RESERVED3 =
0x100
CLSCTX_RESERVED4 =
0x200
CLSCTX_NO_CODE_DOWNLOAD =
0x400
CLSCTX_RESERVED5 =
0x800
CLSCTX_NO_CUSTOM_MARSHAL =
0x1000
CLSCTX_ENABLE_CODE_DOWNLOAD =
0x2000
CLSCTX_NO_FAILURE_LOG =
0x4000
CLSCTX_DISABLE_AAA =
0x8000
CLSCTX_ENABLE_AAA =
0x10000
CLSCTX_FROM_DEFAULT_CONTEXT =
0x20000
CLSCTX_ACTIVATE_32_BIT_SERVER =
0x40000
CLSCTX_ACTIVATE_64_BIT_SERVER =
0x80000
CLSCTX_ENABLE_CLOAKING =
0x100000
CLSCTX_PS_DLL =
-0x80000000
CLSCTX_INPROC =
CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER
CLSCTX_ALL =
CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER
CLSCTX_SERVER =
CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER
IUnknown =
Unknown =
IObjectWithSite =
ObjectWithSite =
DEFAULT_GUI_FONT =
17
VT_EMPTY =
0
VT_NULL =
1
VT_I2 =
2
VT_I4 =
3
VT_R4 =
4
VT_R8 =
5
VT_CY =
6
VT_DATE =
7
VT_BSTR =
8
VT_DISPATCH =
9
VT_ERROR =
10
VT_BOOL =
11
VT_VARIANT =
12
VT_UNKNOWN =
13
VT_DECIMAL =
14
VT_I1 =
16
VT_UI1 =
17
VT_UI2 =
18
VT_UI4 =
19
VT_I8 =
20
VT_UI8 =
21
VT_INT =
22
VT_UINT =
23
VT_VOID =
24
VT_HRESULT =
25
VT_PTR =
26
VT_SAFEARRAY =
27
VT_CARRAY =
28
VT_USERDEFINED =
29
VT_LPSTR =
30
VT_LPWSTR =
31
VT_FILETIME =
64
VT_BLOB =
65
VT_STREAM =
66
VT_STORAGE =
67
VT_STREAMED_OBJECT =
68
VT_STORED_OBJECT =
69
VT_BLOB_OBJECT =
70
VT_CF =
71
VT_CLSID =
72
VT_VECTOR =
0x1000
VT_ARRAY =
0x2000
VT_BYREF =
0x4000
VT_RESERVED =
0x8000
VT_ILLEGAL =
0xffff
VT_ILLEGALMASKED =
0xfff
VT_TYPEMASK =
0xff
INVALID_HANDLE_VALUE =
FFI::Pointer.new(-1)
INVALID_FILE_SIZE =
0xFFFFFFFF
INVALID_SET_FILE_POINTER =
0xFFFFFFFF
INVALID_FILE_ATTRIBUTES =
0xFFFFFFFF
INVALID_ATOM =
0
WINVER =
OSVERSIONINFOEX.new
COMMON_CONTROLS_ACTCTX =
{
	handle: INVALID_HANDLE_VALUE,
	cookie: FFI::MemoryPointer.new(:ulong),
	activated: false
}
IPropertyStore =
COM::Interface[IUnknown,
GUID['886d8eeb-8cf2-4446-8d02-cdba1dbdcf99'],

GetCount: [[:pointer]
UI_PKEY_Enabled =
UI_PKEY_LabelDescription =
UI_PKEY_Keytip =
UI_PKEY_Label =
UI_PKEY_TooltipDescription =
UI_PKEY_TooltipTitle =
UI_PKEY_LargeImage =
UI_PKEY_LargeHighContrastImage =
UI_PKEY_SmallImage =
UI_PKEY_SmallHighContrastImage =
UI_PKEY_CommandId =
UI_PKEY_ItemsSource =
UI_PKEY_Categories =
UI_PKEY_CategoryId =
UI_PKEY_SelectedItem =
UI_PKEY_CommandType =
UI_PKEY_ItemImage =
UI_PKEY_BooleanValue =
UI_PKEY_DecimalValue =
UI_PKEY_StringValue =
UI_PKEY_MaxValue =
UI_PKEY_MinValue =
UI_PKEY_Increment =
UI_PKEY_DecimalPlaces =
UI_PKEY_FormatString =
UI_PKEY_RepresentativeString =
UI_PKEY_FontProperties =
UI_PKEY_FontProperties_Family =
UI_PKEY_FontProperties_Size =
UI_PKEY_FontProperties_Bold =
UI_PKEY_FontProperties_Italic =
UI_PKEY_FontProperties_Underline =
UI_PKEY_FontProperties_Strikethrough =
UI_PKEY_FontProperties_VerticalPositioning =
UI_PKEY_FontProperties_ForegroundColor =
UI_PKEY_FontProperties_BackgroundColor =
UI_PKEY_FontProperties_ForegroundColorType =
UI_PKEY_FontProperties_BackgroundColorType =
UI_PKEY_FontProperties_ChangedProperties =
UI_PKEY_FontProperties_DeltaSize =
UI_PKEY_RecentItems =
UI_PKEY_Pinned =
UI_PKEY_Color =
UI_PKEY_ColorType =
UI_PKEY_ColorMode =
UI_PKEY_ThemeColorsCategoryLabel =
UI_PKEY_StandardColorsCategoryLabel =
UI_PKEY_RecentColorsCategoryLabel =
UI_PKEY_AutomaticColorLabel =
UI_PKEY_NoColorLabel =
UI_PKEY_MoreColorsLabel =
UI_PKEY_ThemeColors =
UI_PKEY_StandardColors =
UI_PKEY_ThemeColorsTooltips =
UI_PKEY_StandardColorsTooltips =
UI_PKEY_Viewable =
UI_PKEY_Minimized =
UI_PKEY_QuickAccessToolbarDock =
UI_PKEY_ContextAvailable =
UI_PKEY_GlobalBackgroundColor =
UI_PKEY_GlobalHighlightColor =
UI_PKEY_GlobalTextColor =
UI_CONTEXTAVAILABILITY_NOTAVAILABLE =
0
UI_CONTEXTAVAILABILITY_AVAILABLE =
1
UI_CONTEXTAVAILABILITY_ACTIVE =
2
UI_FONTPROPERTIES_NOTAVAILABLE =
0
UI_FONTPROPERTIES_NOTSET =
1
UI_FONTPROPERTIES_SET =
2
UI_FONTVERTICALPOSITION_NOTAVAILABLE =
0
UI_FONTVERTICALPOSITION_NOTSET =
1
UI_FONTVERTICALPOSITION_SUPERSCRIPT =
2
UI_FONTVERTICALPOSITION_SUBSCRIPT =
3
UI_FONTUNDERLINE_NOTAVAILABLE =
0
UI_FONTUNDERLINE_NOTSET =
1
UI_FONTUNDERLINE_SET =
2
UI_FONTDELTASIZE_GROW =
0
UI_FONTDELTASIZE_SHRINK =
1
UI_CONTROLDOCK_TOP =
1
UI_CONTROLDOCK_BOTTOM =
3
UI_SWATCHCOLORTYPE_NOCOLOR =
0
UI_SWATCHCOLORTYPE_AUTOMATIC =
1
UI_SWATCHCOLORTYPE_RGB =
2
UI_SWATCHCOLORMODE_NORMAL =
0
UI_SWATCHCOLORMODE_MONOCHROME =
1
IUISimplePropertySet =
UISimplePropertySet =
IUIRibbon =
UIRibbon =
UI_INVALIDATIONS_STATE =
0x00000001
UI_INVALIDATIONS_VALUE =
0x00000002
UI_INVALIDATIONS_PROPERTY =
0x00000004
UI_INVALIDATIONS_ALLPROPERTIES =
0x00000008
UI_ALL_COMMANDS =
0
IUIFramework =
UIFramework =
IUIContextualUI =
UIContextualUI =
IUICollection =
UICollection =
UI_COLLECTIONCHANGE_INSERT =
0
UI_COLLECTIONCHANGE_REMOVE =
1
UI_COLLECTIONCHANGE_REPLACE =
2
UI_COLLECTIONCHANGE_RESET =
3
UI_COLLECTION_INVALIDINDEX =
0xffffffff
IUICollectionChangedEvent =
UICollectionChangedEvent =
UI_EXECUTIONVERB_EXECUTE =
0
UI_EXECUTIONVERB_PREVIEW =
1
UI_EXECUTIONVERB_CANCELPREVIEW =
2
IUICommandHandler =
UICommandHandler =
UI_COMMANDTYPE_UNKNOWN =
0
UI_COMMANDTYPE_GROUP =
1
UI_COMMANDTYPE_ACTION =
2
UI_COMMANDTYPE_ANCHOR =
3
UI_COMMANDTYPE_CONTEXT =
4
UI_COMMANDTYPE_COLLECTION =
5
UI_COMMANDTYPE_COMMANDCOLLECTION =
6
UI_COMMANDTYPE_DECIMAL =
7
UI_COMMANDTYPE_BOOLEAN =
8
UI_COMMANDTYPE_FONT =
9
UI_COMMANDTYPE_RECENTITEMS =
10
UI_COMMANDTYPE_COLORANCHOR =
11
UI_COMMANDTYPE_COLORCOLLECTION =
12
UI_VIEWTYPE_RIBBON =
1
UI_VIEWVERB_CREATE =
0
UI_VIEWVERB_DESTROY =
1
UI_VIEWVERB_SIZE =
2
UI_VIEWVERB_ERROR =
3
IUIApplication =
UIApplication =
IUIImage =
UIImage =
UI_OWNERSHIP_TRANSFER =
0
UI_OWNERSHIP_COPY =
1
IUIImageFromBitmap =
UIImageFromBitmap =
MF_INSERT =
0x00000000
MF_CHANGE =
0x00000080
MF_APPEND =
0x00000100
MF_DELETE =
0x00000200
MF_REMOVE =
0x00001000
MF_BYCOMMAND =
0x00000000
MF_BYPOSITION =
0x00000400
MF_SEPARATOR =
0x00000800
MF_ENABLED =
0x00000000
MF_GRAYED =
0x00000001
MF_DISABLED =
0x00000002
MF_UNCHECKED =
0x00000000
MF_CHECKED =
0x00000008
MF_USECHECKBITMAPS =
0x00000200
MF_STRING =
0x00000000
MF_BITMAP =
0x00000004
MF_OWNERDRAW =
0x00000100
MF_POPUP =
0x00000010
MF_MENUBARBREAK =
0x00000020
MF_MENUBREAK =
0x00000040
MF_UNHILITE =
0x00000000
MF_HILITE =
0x00000080
MF_DEFAULT =
0x00001000
MF_SYSMENU =
0x00002000
MF_HELP =
0x00004000
MF_RIGHTJUSTIFY =
0x00004000
MF_MOUSESELECT =
0x00008000
MF_END =
0x00000080
MFT_STRING =
MF_STRING
MFT_BITMAP =
MF_BITMAP
MFT_MENUBARBREAK =
MF_MENUBARBREAK
MFT_MENUBREAK =
MF_MENUBREAK
MFT_OWNERDRAW =
MF_OWNERDRAW
MFT_RADIOCHECK =
0x00000200
MFT_SEPARATOR =
MF_SEPARATOR
MFT_RIGHTORDER =
0x00002000
MFT_RIGHTJUSTIFY =
MF_RIGHTJUSTIFY
MFS_GRAYED =
0x00000003
MFS_DISABLED =
MFS_GRAYED
MFS_CHECKED =
MF_CHECKED
MFS_HILITE =
MF_HILITE
MFS_ENABLED =
MF_ENABLED
MFS_UNCHECKED =
MF_UNCHECKED
MFS_UNHILITE =
MF_UNHILITE
MFS_DEFAULT =
MF_DEFAULT
MIIM_STATE =
0x00000001
MIIM_ID =
0x00000002
MIIM_SUBMENU =
0x00000004
MIIM_CHECKMARKS =
0x00000008
MIIM_TYPE =
0x00000010
MIIM_DATA =
0x00000020
MIIM_STRING =
0x00000040
MIIM_BITMAP =
0x00000080
MIIM_FTYPE =
0x00000100
TPM_LEFTBUTTON =
0x0000
TPM_RIGHTBUTTON =
0x0002
TPM_LEFTALIGN =
0x0000
TPM_CENTERALIGN =
0x0004
TPM_RIGHTALIGN =
0x0008
TPM_TOPALIGN =
0x0000
TPM_VCENTERALIGN =
0x0010
TPM_BOTTOMALIGN =
0x0020
TPM_HORIZONTAL =
0x0000
TPM_VERTICAL =
0x0040
TPM_NONOTIFY =
0x0080
TPM_RETURNCMD =
0x0100
TPM_RECURSE =
0x0001
TPM_HORPOSANIMATION =
0x0400
TPM_HORNEGANIMATION =
0x0800
TPM_VERPOSANIMATION =
0x1000
TPM_VERNEGANIMATION =
0x2000
TPM_NOANIMATION =
0x4000
TPM_LAYOUTRTL =
0x8000
TPM_WORKAREA =
0x10000
ECM_FIRST =
0x1500
EM_SETCUEBANNER =
ECM_FIRST + 1
EM_GETCUEBANNER =
ECM_FIRST + 2
EM_SHOWBALLOONTIP =
ECM_FIRST + 3
EM_HIDEBALLOONTIP =
ECM_FIRST + 4
IMAGE_BITMAP =
0
IMAGE_ICON =
1
IMAGE_CURSOR =
2
IMAGE_ENHMETAFILE =
3
LR_DEFAULTCOLOR =
0x00000000
LR_MONOCHROME =
0x00000001
LR_COLOR =
0x00000002
LR_COPYRETURNORG =
0x00000004
LR_COPYDELETEORG =
0x00000008
LR_LOADFROMFILE =
0x00000010
LR_LOADTRANSPARENT =
0x00000020
LR_DEFAULTSIZE =
0x00000040
LR_VGACOLOR =
0x00000080
LR_LOADMAP3DCOLORS =
0x00001000
LR_CREATEDIBSECTION =
0x00002000
LR_COPYFROMRESOURCE =
0x00004000
LR_SHARED =
0x00008000
CS_VREDRAW =
0x0001
CS_HREDRAW =
0x0002
CS_DBLCLKS =
0x0008
CS_OWNDC =
0x0020
CS_CLASSDC =
0x0040
CS_PARENTDC =
0x0080
CS_NOCLOSE =
0x0200
CS_SAVEBITS =
0x0800
CS_BYTEALIGNCLIENT =
0x1000
CS_BYTEALIGNWINDOW =
0x2000
CS_GLOBALCLASS =
0x4000
CS_IME =
0x00010000
CS_DROPSHADOW =
0x00020000
IDI_APPLICATION =
FFI::Pointer.new(32512)
IDI_HAND =
FFI::Pointer.new(32513)
IDI_QUESTION =
FFI::Pointer.new(32514)
IDI_EXCLAMATION =
FFI::Pointer.new(32515)
IDI_ASTERISK =
FFI::Pointer.new(32516)
IDI_WINLOGO =
FFI::Pointer.new(32517)
IDI_SHIELD =
FFI::Pointer.new(32518)
IDI_WARNING =
IDI_EXCLAMATION
IDI_ERROR =
IDI_HAND
IDI_INFORMATION =
IDI_ASTERISK
IDC_ARROW =
FFI::Pointer.new(32512)
IDC_IBEAM =
FFI::Pointer.new(32513)
IDC_WAIT =
FFI::Pointer.new(32514)
IDC_CROSS =
FFI::Pointer.new(32515)
IDC_UPARROW =
FFI::Pointer.new(32516)
IDC_SIZE =
FFI::Pointer.new(32640)
IDC_ICON =
FFI::Pointer.new(32641)
IDC_SIZENWSE =
FFI::Pointer.new(32642)
IDC_SIZENESW =
FFI::Pointer.new(32643)
IDC_SIZEWE =
FFI::Pointer.new(32644)
IDC_SIZENS =
FFI::Pointer.new(32645)
IDC_SIZEALL =
FFI::Pointer.new(32646)
IDC_NO =
FFI::Pointer.new(32648)
IDC_HAND =
FFI::Pointer.new(32649)
IDC_APPSTARTING =
FFI::Pointer.new(32650)
IDC_HELP =
FFI::Pointer.new(32651)
COLOR_SCROLLBAR =
0
COLOR_BACKGROUND =
1
COLOR_ACTIVECAPTION =
2
COLOR_INACTIVECAPTION =
3
COLOR_MENU =
4
COLOR_WINDOW =
5
COLOR_WINDOWFRAME =
6
COLOR_MENUTEXT =
7
COLOR_WINDOWTEXT =
8
COLOR_CAPTIONTEXT =
9
COLOR_ACTIVEBORDER =
10
COLOR_INACTIVEBORDER =
11
COLOR_APPWORKSPACE =
12
COLOR_HIGHLIGHT =
13
COLOR_HIGHLIGHTTEXT =
14
COLOR_BTNFACE =
15
COLOR_BTNSHADOW =
16
COLOR_GRAYTEXT =
17
COLOR_BTNTEXT =
18
COLOR_INACTIVECAPTIONTEXT =
19
COLOR_BTNHIGHLIGHT =
20
COLOR_3DDKSHADOW =
21
COLOR_3DLIGHT =
22
COLOR_INFOTEXT =
23
COLOR_INFOBK =
24
COLOR_HOTLIGHT =
26
COLOR_GRADIENTACTIVECAPTION =
27
COLOR_GRADIENTINACTIVECAPTION =
28
COLOR_MENUHILIGHT =
29
COLOR_MENUBAR =
30
COLOR_DESKTOP =
COLOR_BACKGROUND
COLOR_3DFACE =
COLOR_BTNFACE
COLOR_3DSHADOW =
COLOR_BTNSHADOW
COLOR_3DHIGHLIGHT =
COLOR_BTNHIGHLIGHT
COLOR_3DHILIGHT =
COLOR_BTNHIGHLIGHT
COLOR_BTNHILIGHT =
COLOR_BTNHIGHLIGHT
CTLCOLOR_MSGBOX =
0
CTLCOLOR_EDIT =
1
CTLCOLOR_LISTBOX =
2
CTLCOLOR_BTN =
3
CTLCOLOR_DLG =
4
CTLCOLOR_SCROLLBAR =
5
CTLCOLOR_STATIC =
6
CTLCOLOR_MAX =
7
GCL_MENUNAME =
-8
GCL_HBRBACKGROUND =
-10
GCL_HCURSOR =
-12
GCL_HICON =
-14
GCL_HMODULE =
-16
GCL_CBWNDEXTRA =
-18
GCL_CBCLSEXTRA =
-20
GCL_WNDPROC =
-24
GCL_STYLE =
-26
GCL_HICONSM =
-34
GCLP_MENUNAME =
-8
GCLP_HBRBACKGROUND =
-10
GCLP_HCURSOR =
-12
GCLP_HICON =
-14
GCLP_HMODULE =
-16
GCLP_WNDPROC =
-24
GCLP_HICONSM =
-34
HWND_BROADCAST =
FFI::Pointer.new(0xffff)
HWND_MESSAGE =
FFI::Pointer.new(-3)
HWND_DESKTOP =
FFI::Pointer.new(0)
HWND_TOP =
FFI::Pointer.new(0)
HWND_BOTTOM =
FFI::Pointer.new(1)
HWND_TOPMOST =
FFI::Pointer.new(-1)
HWND_NOTOPMOST =
FFI::Pointer.new(-2)
WS_OVERLAPPED =
0x00000000
WS_POPUP =
0x80000000
WS_CHILD =
0x40000000
WS_MINIMIZE =
0x20000000
WS_VISIBLE =
0x10000000
WS_DISABLED =
0x08000000
WS_CLIPSIBLINGS =
0x04000000
WS_CLIPCHILDREN =
0x02000000
WS_MAXIMIZE =
0x01000000
WS_CAPTION =
0x00C00000
WS_BORDER =
0x00800000
WS_DLGFRAME =
0x00400000
WS_VSCROLL =
0x00200000
WS_HSCROLL =
0x00100000
WS_SYSMENU =
0x00080000
WS_THICKFRAME =
0x00040000
WS_GROUP =
0x00020000
WS_TABSTOP =
0x00010000
WS_MINIMIZEBOX =
0x00020000
WS_MAXIMIZEBOX =
0x00010000
WS_TILED =
WS_OVERLAPPED
WS_ICONIC =
WS_MINIMIZE
WS_SIZEBOX =
WS_THICKFRAME
WS_OVERLAPPEDWINDOW =
WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX
WS_TILEDWINDOW =
WS_OVERLAPPEDWINDOW
WS_POPUPWINDOW =
WS_POPUP | WS_BORDER | WS_SYSMENU
WS_CHILDWINDOW =
WS_CHILD
WS_ACTIVECAPTION =
0x0001
WS_EX_DLGMODALFRAME =
0x00000001
WS_EX_NOPARENTNOTIFY =
0x00000004
WS_EX_TOPMOST =
0x00000008
WS_EX_ACCEPTFILES =
0x00000010
WS_EX_TRANSPARENT =
0x00000020
WS_EX_MDICHILD =
0x00000040
WS_EX_TOOLWINDOW =
0x00000080
WS_EX_WINDOWEDGE =
0x00000100
WS_EX_CLIENTEDGE =
0x00000200
WS_EX_CONTEXTHELP =
0x00000400
WS_EX_RIGHT =
0x00001000
WS_EX_LEFT =
0x00000000
WS_EX_RTLREADING =
0x00002000
WS_EX_LTRREADING =
0x00000000
WS_EX_LEFTSCROLLBAR =
0x00004000
WS_EX_RIGHTSCROLLBAR =
0x00000000
WS_EX_CONTROLPARENT =
0x00010000
WS_EX_STATICEDGE =
0x00020000
WS_EX_APPWINDOW =
0x00040000
WS_EX_OVERLAPPEDWINDOW =
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE
WS_EX_PALETTEWINDOW =
WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST
WS_EX_LAYERED =
0x00080000
WS_EX_NOINHERITLAYOUT =
0x00100000
WS_EX_LAYOUTRTL =
0x00400000
WS_EX_COMPOSITED =
0x02000000
WS_EX_NOACTIVATE =
0x08000000
CW_USEDEFAULT =
-0x80000000
DS_ABSALIGN =
0x01
DS_SYSMODAL =
0x02
DS_LOCALEDIT =
0x20
DS_SETFONT =
0x40
DS_MODALFRAME =
0x80
DS_NOIDLEMSG =
0x100
DS_SETFOREGROUND =
0x200
DS_3DLOOK =
0x0004
DS_FIXEDSYS =
0x0008
DS_NOFAILCREATE =
0x0010
DS_CONTROL =
0x0400
DS_CENTER =
0x0800
DS_CENTERMOUSE =
0x1000
DS_CONTEXTHELP =
0x2000
DS_SHELLFONT =
DS_SETFONT | DS_FIXEDSYS
GWL_WNDPROC =
-4
GWL_HINSTANCE =
-6
GWL_HWNDPARENT =
-8
GWL_STYLE =
-16
GWL_EXSTYLE =
-20
GWL_USERDATA =
-21
GWL_ID =
-12
GWLP_WNDPROC =
-4
GWLP_HINSTANCE =
-6
GWLP_HWNDPARENT =
-8
GWLP_USERDATA =
-21
GWLP_ID =
-12
DWL_MSGRESULT =
0
DWL_DLGPROC =
4
DWL_USER =
8
SW_HIDE =
0
SW_SHOWNORMAL =
1
SW_NORMAL =
1
SW_SHOWMINIMIZED =
2
SW_SHOWMAXIMIZED =
3
SW_MAXIMIZE =
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
SW_PARENTCLOSING =
1
SW_OTHERZOOM =
2
SW_PARENTOPENING =
3
SW_OTHERUNZOOM =
4
SW_SCROLLCHILDREN =
0x0001
SW_INVALIDATE =
0x0002
SW_ERASE =
0x0004
SW_SMOOTHSCROLL =
0x0010
SWP_NOSIZE =
0x0001
SWP_NOMOVE =
0x0002
SWP_NOZORDER =
0x0004
SWP_NOREDRAW =
0x0008
SWP_NOACTIVATE =
0x0010
SWP_FRAMECHANGED =
0x0020
SWP_SHOWWINDOW =
0x0040
SWP_HIDEWINDOW =
0x0080
SWP_NOCOPYBITS =
0x0100
SWP_NOOWNERZORDER =
0x0200
SWP_NOSENDCHANGING =
0x0400
SWP_DRAWFRAME =
SWP_FRAMECHANGED
SWP_NOREPOSITION =
SWP_NOOWNERZORDER
SWP_DEFERERASE =
0x2000
SWP_ASYNCWINDOWPOS =
0x4000
DT_TOP =
0x00000000
DT_LEFT =
0x00000000
DT_CENTER =
0x00000001
DT_RIGHT =
0x00000002
DT_VCENTER =
0x00000004
DT_BOTTOM =
0x00000008
DT_WORDBREAK =
0x00000010
DT_SINGLELINE =
0x00000020
DT_EXPANDTABS =
0x00000040
DT_TABSTOP =
0x00000080
DT_NOCLIP =
0x00000100
DT_EXTERNALLEADING =
0x00000200
DT_CALCRECT =
0x00000400
DT_NOPREFIX =
0x00000800
DT_INTERNAL =
0x00001000
DT_EDITCONTROL =
0x00002000
DT_PATH_ELLIPSIS =
0x00004000
DT_END_ELLIPSIS =
0x00008000
DT_MODIFYSTRING =
0x00010000
DT_RTLREADING =
0x00020000
DT_WORD_ELLIPSIS =
0x00040000
DT_NOFULLWIDTHCHARBREAK =
0x00080000
DT_HIDEPREFIX =
0x00100000
DT_PREFIXONLY =
0x00200000
SIGDN_NORMALDISPLAY =
0x00000000
SIGDN_PARENTRELATIVEPARSING =
0x80018001
SIGDN_DESKTOPABSOLUTEPARSING =
0x80028000
SIGDN_PARENTRELATIVEEDITING =
0x80031001
SIGDN_DESKTOPABSOLUTEEDITING =
0x8004c000
SIGDN_FILESYSPATH =
0x80058000
SIGDN_URL =
0x80068000
SIGDN_PARENTRELATIVEFORADDRESSBAR =
0x8007c001
SIGDN_PARENTRELATIVE =
0x80080001
SICHINT_DISPLAY =
0x00000000
SICHINT_ALLFIELDS =
0x80000000
SICHINT_CANONICAL =
0x10000000
SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL =
0x20000000
IShellItem =
ShellItem =
SIATTRIBFLAGS_AND =
0x00000001
SIATTRIBFLAGS_OR =
0x00000002
SIATTRIBFLAGS_APPCOMPAT =
0x00000003
SIATTRIBFLAGS_MASK =
0x00000003
SIATTRIBFLAGS_ALLITEMS =
0x00004000
IShellItemArray =
ShellItemArray =
IModalWindow =
WM_NULL =
0x0000
WM_CREATE =
0x0001
WM_DESTROY =
0x0002
WM_MOVE =
0x0003
WM_SIZE =
0x0005
WM_ACTIVATE =
0x0006
WM_SETFOCUS =
0x0007
WM_KILLFOCUS =
0x0008
WM_ENABLE =
0x000A
WM_SETREDRAW =
0x000B
WM_SETTEXT =
0x000C
WM_GETTEXT =
0x000D
WM_GETTEXTLENGTH =
0x000E
WM_PAINT =
0x000F
WM_CLOSE =
0x0010
WM_QUERYENDSESSION =
0x0011
WM_QUERYOPEN =
0x0013
WM_ENDSESSION =
0x0016
WM_QUIT =
0x0012
WM_ERASEBKGND =
0x0014
WM_SYSCOLORCHANGE =
0x0015
WM_SHOWWINDOW =
0x0018
WM_WININICHANGE =
0x001A
WM_SETTINGCHANGE =
WM_WININICHANGE
WM_DEVMODECHANGE =
0x001B
WM_ACTIVATEAPP =
0x001C
WM_FONTCHANGE =
0x001D
WM_TIMECHANGE =
0x001E
WM_CANCELMODE =
0x001F
WM_SETCURSOR =
0x0020
WM_MOUSEACTIVATE =
0x0021
WM_CHILDACTIVATE =
0x0022
WM_QUEUESYNC =
0x0023
WM_GETMINMAXINFO =
0x0024
WM_PAINTICON =
0x0026
WM_ICONERASEBKGND =
0x0027
WM_NEXTDLGCTL =
0x0028
WM_SPOOLERSTATUS =
0x002A
WM_DRAWITEM =
0x002B
WM_MEASUREITEM =
0x002C
WM_DELETEITEM =
0x002D
WM_VKEYTOITEM =
0x002E
WM_CHARTOITEM =
0x002F
WM_SETFONT =
0x0030
WM_GETFONT =
0x0031
WM_SETHOTKEY =
0x0032
WM_GETHOTKEY =
0x0033
WM_QUERYDRAGICON =
0x0037
WM_COMPAREITEM =
0x0039
WM_GETOBJECT =
0x003D
WM_COMPACTING =
0x0041
WM_COMMNOTIFY =
0x0044
WM_WINDOWPOSCHANGING =
0x0046
WM_WINDOWPOSCHANGED =
0x0047
WM_POWER =
0x0048
WM_COPYDATA =
0x004A
WM_CANCELJOURNAL =
0x004B
WM_NOTIFY =
0x004E
WM_INPUTLANGCHANGEREQUEST =
0x0050
WM_INPUTLANGCHANGE =
0x0051
WM_TCARD =
0x0052
WM_HELP =
0x0053
WM_USERCHANGED =
0x0054
WM_NOTIFYFORMAT =
0x0055
WM_CONTEXTMENU =
0x007B
WM_STYLECHANGING =
0x007C
WM_STYLECHANGED =
0x007D
WM_DISPLAYCHANGE =
0x007E
WM_GETICON =
0x007F
WM_SETICON =
0x0080
WM_NCCREATE =
0x0081
WM_NCDESTROY =
0x0082
WM_NCCALCSIZE =
0x0083
WM_NCHITTEST =
0x0084
WM_NCPAINT =
0x0085
WM_NCACTIVATE =
0x0086
WM_GETDLGCODE =
0x0087
WM_SYNCPAINT =
0x0088
WM_NCMOUSEMOVE =
0x00A0
WM_NCLBUTTONDOWN =
0x00A1
WM_NCLBUTTONUP =
0x00A2
WM_NCLBUTTONDBLCLK =
0x00A3
WM_NCRBUTTONDOWN =
0x00A4
WM_NCRBUTTONUP =
0x00A5
WM_NCRBUTTONDBLCLK =
0x00A6
WM_NCMBUTTONDOWN =
0x00A7
WM_NCMBUTTONUP =
0x00A8
WM_NCMBUTTONDBLCLK =
0x00A9
WM_NCXBUTTONDOWN =
0x00AB
WM_NCXBUTTONUP =
0x00AC
WM_NCXBUTTONDBLCLK =
0x00AD
WM_INPUT_DEVICE_CHANGE =
0x00FE
WM_INPUT =
0x00FF
WM_KEYFIRST =
0x0100
WM_KEYDOWN =
0x0100
WM_KEYUP =
0x0101
WM_CHAR =
0x0102
WM_DEADCHAR =
0x0103
WM_SYSKEYDOWN =
0x0104
WM_SYSKEYUP =
0x0105
WM_SYSCHAR =
0x0106
WM_SYSDEADCHAR =
0x0107
WM_UNICHAR =
0x0109
WM_KEYLAST =
0x0109
WM_IME_STARTCOMPOSITION =
0x010D
WM_IME_ENDCOMPOSITION =
0x010E
WM_IME_COMPOSITION =
0x010F
WM_IME_KEYLAST =
0x010F
WM_INITDIALOG =
0x0110
WM_COMMAND =
0x0111
WM_SYSCOMMAND =
0x0112
WM_TIMER =
0x0113
WM_HSCROLL =
0x0114
WM_VSCROLL =
0x0115
WM_INITMENU =
0x0116
WM_INITMENUPOPUP =
0x0117
WM_GESTURE =
0x0119
WM_GESTURENOTIFY =
0x011A
WM_MENUSELECT =
0x011F
WM_MENUCHAR =
0x0120
WM_ENTERIDLE =
0x0121
WM_MENURBUTTONUP =
0x0122
WM_MENUDRAG =
0x0123
WM_MENUGETOBJECT =
0x0124
WM_UNINITMENUPOPUP =
0x0125
WM_MENUCOMMAND =
0x0126
WM_CHANGEUISTATE =
0x0127
WM_UPDATEUISTATE =
0x0128
WM_QUERYUISTATE =
0x0129
WM_CTLCOLORMSGBOX =
0x0132
WM_CTLCOLOREDIT =
0x0133
WM_CTLCOLORLISTBOX =
0x0134
WM_CTLCOLORBTN =
0x0135
WM_CTLCOLORDLG =
0x0136
WM_CTLCOLORSCROLLBAR =
0x0137
WM_CTLCOLORSTATIC =
0x0138
WM_MOUSEFIRST =
0x0200
WM_MOUSEMOVE =
0x0200
WM_LBUTTONDOWN =
0x0201
WM_LBUTTONUP =
0x0202
WM_LBUTTONDBLCLK =
0x0203
WM_RBUTTONDOWN =
0x0204
WM_RBUTTONUP =
0x0205
WM_RBUTTONDBLCLK =
0x0206
WM_MBUTTONDOWN =
0x0207
WM_MBUTTONUP =
0x0208
WM_MBUTTONDBLCLK =
0x0209
WM_MOUSEWHEEL =
0x020A
WM_XBUTTONDOWN =
0x020B
WM_XBUTTONUP =
0x020C
WM_XBUTTONDBLCLK =
0x020D
WM_MOUSEHWHEEL =
0x020E
WM_MOUSELAST =
0x020E
WM_PARENTNOTIFY =
0x0210
WM_ENTERMENULOOP =
0x0211
WM_EXITMENULOOP =
0x0212
WM_NEXTMENU =
0x0213
WM_SIZING =
0x0214
WM_CAPTURECHANGED =
0x0215
WM_MOVING =
0x0216
WM_POWERBROADCAST =
0x0218
WM_DEVICECHANGE =
0x0219
WM_MDICREATE =
0x0220
WM_MDIDESTROY =
0x0221
WM_MDIACTIVATE =
0x0222
WM_MDIRESTORE =
0x0223
WM_MDINEXT =
0x0224
WM_MDIMAXIMIZE =
0x0225
WM_MDITILE =
0x0226
WM_MDICASCADE =
0x0227
WM_MDIICONARRANGE =
0x0228
WM_MDIGETACTIVE =
0x0229
WM_MDISETMENU =
0x0230
WM_ENTERSIZEMOVE =
0x0231
WM_EXITSIZEMOVE =
0x0232
WM_DROPFILES =
0x0233
WM_MDIREFRESHMENU =
0x0234
WM_TOUCH =
0x0240
WM_IME_SETCONTEXT =
0x0281
WM_IME_NOTIFY =
0x0282
WM_IME_CONTROL =
0x0283
WM_IME_COMPOSITIONFULL =
0x0284
WM_IME_SELECT =
0x0285
WM_IME_CHAR =
0x0286
WM_IME_REQUEST =
0x0288
WM_IME_KEYDOWN =
0x0290
WM_IME_KEYUP =
0x0291
WM_MOUSEHOVER =
0x02A1
WM_MOUSELEAVE =
0x02A3
WM_NCMOUSEHOVER =
0x02A0
WM_NCMOUSELEAVE =
0x02A2
WM_WTSSESSION_CHANGE =
0x02B1
WM_TABLET_FIRST =
0x02c0
WM_TABLET_LAST =
0x02df
WM_CUT =
0x0300
WM_COPY =
0x0301
WM_PASTE =
0x0302
WM_CLEAR =
0x0303
WM_UNDO =
0x0304
WM_RENDERFORMAT =
0x0305
WM_RENDERALLFORMATS =
0x0306
WM_DESTROYCLIPBOARD =
0x0307
WM_DRAWCLIPBOARD =
0x0308
WM_PAINTCLIPBOARD =
0x0309
WM_VSCROLLCLIPBOARD =
0x030A
WM_SIZECLIPBOARD =
0x030B
WM_ASKCBFORMATNAME =
0x030C
WM_CHANGECBCHAIN =
0x030D
WM_HSCROLLCLIPBOARD =
0x030E
WM_QUERYNEWPALETTE =
0x030F
WM_PALETTEISCHANGING =
0x0310
WM_PALETTECHANGED =
0x0311
WM_HOTKEY =
0x0312
WM_PRINT =
0x0317
WM_PRINTCLIENT =
0x0318
WM_APPCOMMAND =
0x0319
WM_THEMECHANGED =
0x031A
WM_CLIPBOARDUPDATE =
0x031D
WM_DWMCOMPOSITIONCHANGED =
0x031E
WM_DWMNCRENDERINGCHANGED =
0x031F
WM_DWMCOLORIZATIONCOLORCHANGED =
0x0320
WM_DWMWINDOWMAXIMIZEDCHANGE =
0x0321
WM_DWMSENDICONICTHUMBNAIL =
0x0323
WM_DWMSENDICONICLIVEPREVIEWBITMAP =
0x0326
WM_GETTITLEBARINFOEX =
0x033F
WM_HANDHELDFIRST =
0x0358
WM_HANDHELDLAST =
0x035F
WM_AFXFIRST =
0x0360
WM_AFXLAST =
0x037F
WM_PENWINFIRST =
0x0380
WM_PENWINLAST =
0x038F
WM_APP =
0x8000
WM_USER =
0x0400
BS_SPLITBUTTON =
0x0000000C
BS_DEFSPLITBUTTON =
0x0000000D
0x0000000E
0x0000000F
BCM_FIRST =
0x1600
BCM_GETIDEALSIZE =
BCM_FIRST + 0x0001
BCM_SETIMAGELIST =
BCM_FIRST + 0x0002
BCM_GETIMAGELIST =
BCM_FIRST + 0x0003
BCM_SETTEXTMARGIN =
BCM_FIRST + 0x0004
BCM_GETTEXTMARGIN =
BCM_FIRST + 0x0005
BCM_SETDROPDOWNSTATE =
BCM_FIRST + 0x0006
BCM_SETSPLITINFO =
BCM_FIRST + 0x0007
BCM_GETSPLITINFO =
BCM_FIRST + 0x0008
BCM_SETNOTE =
BCM_FIRST + 0x0009
BCM_GETNOTE =
BCM_FIRST + 0x000A
BCM_GETNOTELENGTH =
BCM_FIRST + 0x000B
BCM_SETSHIELD =
BCM_FIRST + 0x000C
BST_HOT =
0x0200
BST_DROPDOWNPUSHED =
0x0400
BCN_FIRST =
0x1_0000_0000 - 1250
BCN_LAST =
0x1_0000_0000 - 1350
BCN_HOTITEMCHANGE =
BCN_FIRST + 0x0001
BCN_DROPDOWN =
BCN_FIRST + 0x0002
NM_GETCUSTOMSPLITRECT =
BCN_FIRST + 0x0003
ICC_LISTVIEW_CLASSES =
0x00000001
ICC_TREEVIEW_CLASSES =
0x00000002
ICC_BAR_CLASSES =
0x00000004
ICC_TAB_CLASSES =
0x00000008
ICC_UPDOWN_CLASS =
0x00000010
ICC_PROGRESS_CLASS =
0x00000020
ICC_HOTKEY_CLASS =
0x00000040
ICC_ANIMATE_CLASS =
0x00000080
ICC_WIN95_CLASSES =
0x000000FF
ICC_DATE_CLASSES =
0x00000100
ICC_USEREX_CLASSES =
0x00000200
ICC_COOL_CLASSES =
0x00000400
ICC_INTERNET_CLASSES =
0x00000800
ICC_PAGESCROLLER_CLASS =
0x00001000
ICC_NATIVEFNTCTL_CLASS =
0x00002000
ICC_STANDARD_CLASSES =
0x00004000
0x00008000
CCS_TOP =
0x00000001
CCS_NOMOVEY =
0x00000002
CCS_BOTTOM =
0x00000003
CCS_NORESIZE =
0x00000004
CCS_NOPARENTALIGN =
0x00000008
CCS_ADJUSTABLE =
0x00000020
CCS_NODIVIDER =
0x00000040
CCS_VERT =
0x00000080
CCS_LEFT =
CCS_VERT | CCS_TOP
CCS_RIGHT =
CCS_VERT | CCS_BOTTOM
CCS_NOMOVEX =
CCS_VERT | CCS_NOMOVEY
CCM_FIRST =
0x2000
CCM_LAST =
CCM_FIRST + 0x200
CCM_SETBKCOLOR =
CCM_FIRST + 1
CCM_SETCOLORSCHEME =
CCM_FIRST + 2
CCM_GETCOLORSCHEME =
CCM_FIRST + 3
CCM_GETDROPTARGET =
CCM_FIRST + 4
CCM_SETUNICODEFORMAT =
CCM_FIRST + 5
CCM_GETUNICODEFORMAT =
CCM_FIRST + 6
CCM_SETVERSION =
CCM_FIRST + 0x7
CCM_GETVERSION =
CCM_FIRST + 0x8
CCM_SETNOTIFYWINDOW =
CCM_FIRST + 0x9
CCM_SETWINDOWTHEME =
CCM_FIRST + 0xb
CCM_DPISCALE =
CCM_FIRST + 0xc
NM_FIRST =
0x1_0000_0000
NM_LAST =
0x1_0000_0000 - 99
NM_OUTOFMEMORY =
NM_FIRST - 1
NM_CLICK =
NM_FIRST - 2
NM_DBLCLK =
NM_FIRST - 3
NM_RETURN =
NM_FIRST - 4
NM_RCLICK =
NM_FIRST - 5
NM_RDBLCLK =
NM_FIRST - 6
NM_SETFOCUS =
NM_FIRST - 7
NM_KILLFOCUS =
NM_FIRST - 8
NM_CUSTOMDRAW =
NM_FIRST - 12
NM_HOVER =
NM_FIRST - 13
NM_NCHITTEST =
NM_FIRST - 14
NM_KEYDOWN =
NM_FIRST - 15
NM_RELEASEDCAPTURE =
NM_FIRST - 16
NM_SETCURSOR =
NM_FIRST - 17
NM_CHAR =
NM_FIRST - 18
NM_TOOLTIPSCREATED =
NM_FIRST - 19
NM_LDOWN =
NM_FIRST - 20
NM_RDOWN =
NM_FIRST - 21
NM_THEMECHANGED =
NM_FIRST - 22
NM_FONTCHANGED =
NM_FIRST - 23
NM_CUSTOMTEXT =
NM_FIRST - 24
NM_TVSTATEIMAGECHANGING =
NM_FIRST - 24
HDS_HORZ =
0x0000
HDS_BUTTONS =
0x0002
HDS_HOTTRACK =
0x0004
HDS_HIDDEN =
0x0008
HDS_DRAGDROP =
0x0040
HDS_FULLDRAG =
0x0080
HDS_FILTERBAR =
0x0100
HDS_FLAT =
0x0200
HDS_CHECKBOXES =
0x0400
HDS_NOSIZING =
0x0800
HDS_OVERFLOW =
0x1000
HDM_FIRST =
0x1200
HDM_GETITEMCOUNT =
HDM_FIRST + 0
HDM_INSERTITEM =
HDM_FIRST + 1
HDM_DELETEITEM =
HDM_FIRST + 2
HDM_GETITEM =
HDM_FIRST + 3
HDM_SETITEM =
HDM_FIRST + 4
HDM_LAYOUT =
HDM_FIRST + 5
HDM_HITTEST =
HDM_FIRST + 6
HDM_GETITEMRECT =
HDM_FIRST + 7
HDM_SETIMAGELIST =
HDM_FIRST + 8
HDM_GETIMAGELIST =
HDM_FIRST + 9
HDM_ORDERTOINDEX =
HDM_FIRST + 15
HDM_CREATEDRAGIMAGE =
HDM_FIRST + 16
HDM_GETORDERARRAY =
HDM_FIRST + 17
HDM_SETORDERARRAY =
HDM_FIRST + 18
HDM_SETHOTDIVIDER =
HDM_FIRST + 19
HDM_SETBITMAPMARGIN =
HDM_FIRST + 20
HDM_GETBITMAPMARGIN =
HDM_FIRST + 21
HDM_SETUNICODEFORMAT =
CCM_SETUNICODEFORMAT
HDM_GETUNICODEFORMAT =
CCM_GETUNICODEFORMAT
HDM_SETFILTERCHANGETIMEOUT =
HDM_FIRST + 22
HDM_EDITFILTER =
HDM_FIRST + 23
HDM_CLEARFILTER =
HDM_FIRST + 24
HDM_GETITEMDROPDOWNRECT =
HDM_FIRST + 25
HDM_GETOVERFLOWRECT =
HDM_FIRST + 26
HDM_GETFOCUSEDITEM =
HDM_FIRST + 27
HDM_SETFOCUSEDITEM =
HDM_FIRST + 28
HDN_FIRST =
0x1_0000_0000 - 300
HDN_LAST =
0x1_0000_0000 - 399
HDN_ITEMCHANGING =
HDN_FIRST - 0
HDN_ITEMCHANGED =
HDN_FIRST - 1
HDN_ITEMCLICK =
HDN_FIRST - 2
HDN_ITEMDBLCLICK =
HDN_FIRST - 3
HDN_DIVIDERDBLCLICK =
HDN_FIRST - 5
HDN_BEGINTRACK =
HDN_FIRST - 6
HDN_ENDTRACK =
HDN_FIRST - 7
HDN_TRACK =
HDN_FIRST - 8
HDN_GETDISPINFO =
HDN_FIRST - 9
HDN_BEGINDRAG =
HDN_FIRST - 10
HDN_ENDDRAG =
HDN_FIRST - 11
HDN_FILTERCHANGE =
HDN_FIRST - 12
HDN_FILTERBTNCLICK =
HDN_FIRST - 13
HDN_BEGINFILTEREDIT =
HDN_FIRST - 14
HDN_ENDFILTEREDIT =
HDN_FIRST - 15
HDN_ITEMSTATEICONCLICK =
HDN_FIRST - 16
HDN_ITEMKEYDOWN =
HDN_FIRST - 17
HDN_DROPDOWN =
HDN_FIRST - 18
HDN_OVERFLOWCLICK =
HDN_FIRST - 19
HDI_WIDTH =
0x0001
HDI_HEIGHT =
HDI_WIDTH
HDI_TEXT =
0x0002
HDI_FORMAT =
0x0004
HDI_LPARAM =
0x0008
HDI_BITMAP =
0x0010
HDI_IMAGE =
0x0020
HDI_DI_SETITEM =
0x0040
HDI_ORDER =
0x0080
HDI_FILTER =
0x0100
HDI_STATE =
0x0200
HDF_LEFT =
0x0000
HDF_RIGHT =
0x0001
HDF_CENTER =
0x0002
HDF_JUSTIFYMASK =
0x0003
HDF_RTLREADING =
0x0004
HDF_BITMAP =
0x2000
HDF_STRING =
0x4000
HDF_OWNERDRAW =
0x8000
HDF_IMAGE =
0x0800
HDF_BITMAP_ON_RIGHT =
0x1000
HDF_SORTUP =
0x0400
HDF_SORTDOWN =
0x0200
HDF_CHECKBOX =
0x0040
HDF_CHECKED =
0x0080
HDF_FIXEDWIDTH =
0x0100
HDF_SPLITBUTTON =
0x1000000
HDFT_ISSTRING =
0x0000
HDFT_ISNUMBER =
0x0001
HDFT_ISDATE =
0x0002
HDFT_HASNOVALUE =
0x8000
HDIS_FOCUSED =
0x00000001
UDS_WRAP =
0x0001
UDS_SETBUDDYINT =
0x0002
UDS_ALIGNRIGHT =
0x0004
UDS_ALIGNLEFT =
0x0008
UDS_AUTOBUDDY =
0x0010
UDS_ARROWKEYS =
0x0020
UDS_HORZ =
0x0040
UDS_NOTHOUSANDS =
0x0080
UDS_HOTTRACK =
0x0100
UDM_SETRANGE =
WM_USER + 101
UDM_GETRANGE =
WM_USER + 102
UDM_SETPOS =
WM_USER + 103
UDM_GETPOS =
WM_USER + 104
UDM_SETBUDDY =
WM_USER + 105
UDM_GETBUDDY =
WM_USER + 106
UDM_SETACCEL =
WM_USER + 107
UDM_GETACCEL =
WM_USER + 108
UDM_SETBASE =
WM_USER + 109
UDM_GETBASE =
WM_USER + 110
UDM_SETRANGE32 =
WM_USER + 111
UDM_GETRANGE32 =
WM_USER + 112
UDM_SETUNICODEFORMAT =
CCM_SETUNICODEFORMAT
UDM_GETUNICODEFORMAT =
CCM_GETUNICODEFORMAT
UDM_SETPOS32 =
WM_USER + 113
UDM_GETPOS32 =
WM_USER + 114
UDN_FIRST =
0x1_0000_0000 - 721
UDN_LAST =
0x1_0000_0000 - 729
UDN_DELTAPOS =
UDN_FIRST - 1
CDERR_DIALOGFAILURE =
0xFFFF
CDERR_GENERALCODES =
0x0000
CDERR_STRUCTSIZE =
0x0001
CDERR_INITIALIZATION =
0x0002
CDERR_NOTEMPLATE =
0x0003
CDERR_NOHINSTANCE =
0x0004
CDERR_LOADSTRFAILURE =
0x0005
CDERR_FINDRESFAILURE =
0x0006
CDERR_LOADRESFAILURE =
0x0007
CDERR_LOCKRESFAILURE =
0x0008
CDERR_MEMALLOCFAILURE =
0x0009
CDERR_MEMLOCKFAILURE =
0x000A
CDERR_NOHOOK =
0x000B
CDERR_REGISTERMSGFAIL =
0x000C
CDM_FIRST =
WM_USER + 100
CDM_LAST =
WM_USER + 200
CDN_FIRST =
0x1_0000_0000 - 601
CDN_LAST =
0x1_0000_0000 - 699
LBSELCHSTRING =
'commdlg_LBSelChangedNotify'
SHAREVISTRING =
'commdlg_ShareViolation'
FILEOKSTRING =
'commdlg_FileNameOK'
COLOROKSTRING =
'commdlg_ColorOK'
SETRGBSTRING =
'commdlg_SetRGBColor'
HELPMSGSTRING =
'commdlg_help'
FINDMSGSTRING =
'commdlg_FindReplace'
CD_LBSELNOITEMS =
-1
CD_LBSELCHANGE =
0
CD_LBSELSUB =
1
CD_LBSELADD =
2
LWS_TRANSPARENT =
0x0001
LWS_IGNORERETURN =
0x0002
LWS_NOPREFIX =
0x0004
LWS_USEVISUALSTYLE =
0x0008
LWS_USECUSTOMTEXT =
0x0010
LWS_RIGHT =
0x0020
LM_HITTEST =
WM_USER + 0x300
LM_GETIDEALHEIGHT =
WM_USER + 0x301
LM_SETITEM =
WM_USER + 0x302
LM_GETITEM =
WM_USER + 0x303
LM_GETIDEALSIZE =
LM_GETIDEALHEIGHT
CBM_FIRST =
0x1700
CB_SETMINVISIBLE =
CBM_FIRST + 1
CB_GETMINVISIBLE =
CBM_FIRST + 2
CB_SETCUEBANNER =
CBM_FIRST + 3
CB_GETCUEBANNER =
CBM_FIRST + 4
MB_OK =
0x00000000
MB_OKCANCEL =
0x00000001
MB_ABORTRETRYIGNORE =
0x00000002
MB_YESNOCANCEL =
0x00000003
MB_YESNO =
0x00000004
MB_RETRYCANCEL =
0x00000005
MB_CANCELTRYCONTINUE =
0x00000006
MB_ICONHAND =
0x00000010
MB_ICONQUESTION =
0x00000020
MB_ICONEXCLAMATION =
0x00000030
MB_ICONASTERISK =
0x00000040
MB_USERICON =
0x00000080
MB_ICONWARNING =
MB_ICONEXCLAMATION
MB_ICONERROR =
MB_ICONHAND
MB_ICONINFORMATION =
MB_ICONASTERISK
MB_ICONSTOP =
MB_ICONHAND
MB_DEFBUTTON1 =
0x00000000
MB_DEFBUTTON2 =
0x00000100
MB_DEFBUTTON3 =
0x00000200
MB_DEFBUTTON4 =
0x00000300
MB_APPLMODAL =
0x00000000
MB_SYSTEMMODAL =
0x00001000
MB_TASKMODAL =
0x00002000
MB_HELP =
0x00004000
MB_NOFOCUS =
0x00008000
MB_SETFOREGROUND =
0x00010000
MB_DEFAULT_DESKTOP_ONLY =
0x00020000
MB_TOPMOST =
0x00040000
MB_RIGHT =
0x00080000
MB_RTLREADING =
0x00100000
MB_SERVICE_NOTIFICATION =
0x00200000
MB_SERVICE_NOTIFICATION_NT3X =
0x00040000
MB_TYPEMASK =
0x0000000F
MB_ICONMASK =
0x000000F0
MB_DEFMASK =
0x00000F00
MB_MODEMASK =
0x00003000
MB_MISCMASK =
0x0000C000
IDOK =
1
IDCANCEL =
2
IDABORT =
3
IDRETRY =
4
IDIGNORE =
5
IDYES =
6
IDNO =
7
IDCLOSE =
8
IDHELP =
9
IDTRYAGAIN =
10
IDCONTINUE =
11
IDTIMEOUT =
32000
FOS_OVERWRITEPROMPT =
0x00000002
FOS_STRICTFILETYPES =
0x00000004
FOS_NOCHANGEDIR =
0x00000008
FOS_PICKFOLDERS =
0x00000020
FOS_FORCEFILESYSTEM =
0x00000040
FOS_ALLNONSTORAGEITEMS =
0x00000080
FOS_NOVALIDATE =
0x00000100
FOS_ALLOWMULTISELECT =
0x00000200
FOS_PATHMUSTEXIST =
0x00000800
FOS_FILEMUSTEXIST =
0x00001000
FOS_CREATEPROMPT =
0x00002000
FOS_SHAREAWARE =
0x00004000
FOS_NOREADONLYRETURN =
0x00008000
FOS_NOTESTFILECREATE =
0x00010000
FOS_HIDEMRUPLACES =
0x00020000
FOS_HIDEPINNEDPLACES =
0x00040000
0x00100000
FOS_DONTADDTORECENT =
0x02000000
FOS_FORCESHOWHIDDEN =
0x10000000
FOS_DEFAULTNOMINIMODE =
0x20000000
FOS_FORCEPREVIEWPANEON =
0x40000000
IFileDialog =
COM::Interface[IModalWindow,
GUID['42f85136-db7e-439c-85f1-e4075d135fc8'],

SetFileTypes: [[:uint, :pointer]
FileDialog =
IFileOpenDialog =
FileOpenDialog =
IFileSaveDialog =
FileSaveDialog =
FVIRTKEY =
1
FNOINVERT =
0x02
FSHIFT =
0x04
FCONTROL =
0x08
FALT =
0x10
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_OEM_NEC_EQUAL =
0x92
VK_OEM_FJ_JISHO =
0x92
VK_OEM_FJ_MASSHOU =
0x93
VK_OEM_FJ_TOUROKU =
0x94
VK_OEM_FJ_LOYA =
0x95
VK_OEM_FJ_ROYA =
0x96
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_AX =
0xE1
VK_OEM_102 =
0xE2
VK_ICO_HELP =
0xE3
VK_ICO_00 =
0xE4
VK_PROCESSKEY =
0xE5
VK_ICO_CLEAR =
0xE6
VK_PACKET =
0xE7
VK_OEM_RESET =
0xE9
VK_OEM_JUMP =
0xEA
VK_OEM_PA1 =
0xEB
VK_OEM_PA2 =
0xEC
VK_OEM_PA3 =
0xED
VK_OEM_WSCTRL =
0xEE
VK_OEM_CUSEL =
0xEF
VK_OEM_ATTN =
0xF0
VK_OEM_FINISH =
0xF1
VK_OEM_COPY =
0xF2
VK_OEM_AUTO =
0xF3
VK_OEM_ENLW =
0xF4
VK_OEM_BACKTAB =
0xF5
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
CBES_EX_NOEDITIMAGE =
0x00000001
CBES_EX_NOEDITIMAGEINDENT =
0x00000002
CBES_EX_PATHWORDBREAKPROC =
0x00000004
CBES_EX_NOSIZELIMIT =
0x00000008
CBES_EX_CASESENSITIVE =
0x00000010
CBES_EX_TEXTENDELLIPSIS =
0x00000020
CBEM_INSERTITEM =
WM_USER + 1
CBEM_SETIMAGELIST =
WM_USER + 2
CBEM_GETIMAGELIST =
WM_USER + 3
CBEM_GETITEM =
WM_USER + 4
CBEM_SETITEM =
WM_USER + 5
CBEM_DELETEITEM =
CB_DELETESTRING
CBEM_GETCOMBOCONTROL =
WM_USER + 6
CBEM_GETEDITCONTROL =
WM_USER + 7
CBEM_SETEXSTYLE =
WM_USER + 8
CBEM_SETEXTENDEDSTYLE =
WM_USER + 14
CBEM_GETEXSTYLE =
WM_USER + 9
CBEM_GETEXTENDEDSTYLE =
WM_USER + 9
CBEM_SETUNICODEFORMAT =
CCM_SETUNICODEFORMAT
CBEM_GETUNICODEFORMAT =
CCM_GETUNICODEFORMAT
CBEM_HASEDITCHANGED =
WM_USER + 10
CBEM_SETWINDOWTHEME =
CCM_SETWINDOWTHEME
CBEN_FIRST =
0x1_0000_0000 - 800
CBEN_LAST =
0x1_0000_0000 - 830
CBEN_GETDISPINFO =
CBEN_FIRST - 0
CBEN_INSERTITEM =
CBEN_FIRST - 1
CBEN_DELETEITEM =
CBEN_FIRST - 2
CBEN_BEGINEDIT =
CBEN_FIRST - 4
CBEN_ENDEDIT =
CBEN_FIRST - 5
CBEN_DRAGBEGIN =
CBEN_FIRST - 8
CBEIF_TEXT =
0x00000001
CBEIF_IMAGE =
0x00000002
CBEIF_SELECTEDIMAGE =
0x00000004
CBEIF_OVERLAY =
0x00000008
CBEIF_INDENT =
0x00000010
CBEIF_LPARAM =
0x00000020
CBEIF_DI_SETITEM =
0x10000000
FNERR_FILENAMECODES =
0x3000
FNERR_SUBCLASSFAILURE =
0x3001
FNERR_INVALIDFILENAME =
0x3002
FNERR_BUFFERTOOSMALL =
0x3003
OFN_READONLY =
0x00000001
OFN_OVERWRITEPROMPT =
0x00000002
OFN_HIDEREADONLY =
0x00000004
OFN_NOCHANGEDIR =
0x00000008
OFN_SHOWHELP =
0x00000010
OFN_ENABLEHOOK =
0x00000020
OFN_ENABLETEMPLATE =
0x00000040
OFN_ENABLETEMPLATEHANDLE =
0x00000080
OFN_NOVALIDATE =
0x00000100
OFN_ALLOWMULTISELECT =
0x00000200
OFN_EXTENSIONDIFFERENT =
0x00000400
OFN_PATHMUSTEXIST =
0x00000800
OFN_FILEMUSTEXIST =
0x00001000
OFN_CREATEPROMPT =
0x00002000
OFN_SHAREAWARE =
0x00004000
OFN_NOREADONLYRETURN =
0x00008000
OFN_NOTESTFILECREATE =
0x00010000
OFN_NONETWORKBUTTON =
0x00020000
OFN_NOLONGNAMES =
0x00040000
OFN_EXPLORER =
0x00080000
0x00100000
OFN_LONGNAMES =
0x00200000
OFN_ENABLEINCLUDENOTIFY =
0x00400000
OFN_ENABLESIZING =
0x00800000
OFN_DONTADDTORECENT =
0x02000000
OFN_FORCESHOWHIDDEN =
0x10000000
OFN_EX_NOPLACESBAR =
0x00000001
OFN_SHAREFALLTHROUGH =
2
OFN_SHARENOWARN =
1
OFN_SHAREWARN =
0
CDM_GETSPEC =
CDM_FIRST + 0x0000
CDM_GETFILEPATH =
CDM_FIRST + 0x0001
CDM_GETFOLDERPATH =
CDM_FIRST + 0x0002
CDM_GETFOLDERIDLIST =
CDM_FIRST + 0x0003
CDM_SETCONTROLTEXT =
CDM_FIRST + 0x0004
CDM_HIDECONTROL =
CDM_FIRST + 0x0005
CDM_SETDEFEXT =
CDM_FIRST + 0x0006
CDN_INITDONE =
CDN_FIRST - 0x0000
CDN_SELCHANGE =
CDN_FIRST - 0x0001
CDN_FOLDERCHANGE =
CDN_FIRST - 0x0002
CDN_SHAREVIOLATION =
CDN_FIRST - 0x0003
CDN_HELP =
CDN_FIRST - 0x0004
CDN_FILEOK =
CDN_FIRST - 0x0005
CDN_TYPECHANGE =
CDN_FIRST - 0x0006
CDN_INCLUDEITEM =
CDN_FIRST - 0x0007
CFERR_CHOOSEFONTCODES =
0x2000
CFERR_NOFONTS =
0x2001
CFERR_MAXLESSTHANMIN =
0x2002
CF_SCREENFONTS =
0x00000001
CF_PRINTERFONTS =
0x00000002
CF_BOTH =
CF_SCREENFONTS | CF_PRINTERFONTS
CF_SHOWHELP =
0x00000004
CF_ENABLEHOOK =
0x00000008
CF_ENABLETEMPLATE =
0x00000010
CF_ENABLETEMPLATEHANDLE =
0x00000020
CF_INITTOLOGFONTSTRUCT =
0x00000040
CF_USESTYLE =
0x00000080
CF_EFFECTS =
0x00000100
CF_APPLY =
0x00000200
CF_ANSIONLY =
0x00000400
CF_SCRIPTSONLY =
CF_ANSIONLY
CF_NOVECTORFONTS =
0x00000800
CF_NOOEMFONTS =
CF_NOVECTORFONTS
CF_NOSIMULATIONS =
0x00001000
CF_LIMITSIZE =
0x00002000
CF_FIXEDPITCHONLY =
0x00004000
CF_WYSIWYG =
0x00008000
CF_FORCEFONTEXIST =
0x00010000
CF_SCALABLEONLY =
0x00020000
CF_TTONLY =
0x00040000
CF_NOFACESEL =
0x00080000
CF_NOSTYLESEL =
0x00100000
CF_NOSIZESEL =
0x00200000
CF_SELECTSCRIPT =
0x00400000
CF_NOSCRIPTSEL =
0x00800000
CF_NOVERTFONTS =
0x01000000
CF_INACTIVEFONTS =
0x02000000
SIMULATED_FONTTYPE =
0x8000
PRINTER_FONTTYPE =
0x4000
SCREEN_FONTTYPE =
0x2000
BOLD_FONTTYPE =
0x0100
ITALIC_FONTTYPE =
0x0200
REGULAR_FONTTYPE =
0x0400
PS_OPENTYPE_FONTTYPE =
0x10000
TT_OPENTYPE_FONTTYPE =
0x20000
TYPE1_FONTTYPE =
0x40000
SYMBOL_FONTTYPE =
0x80000
WM_CHOOSEFONT_GETLOGFONT =
WM_USER + 1
WM_CHOOSEFONT_SETLOGFONT =
WM_USER + 101
WM_CHOOSEFONT_SETFLAGS =
WM_USER + 102
ES_LEFT =
0x0000
ES_CENTER =
0x0001
ES_RIGHT =
0x0002
ES_MULTILINE =
0x0004
ES_UPPERCASE =
0x0008
ES_LOWERCASE =
0x0010
ES_PASSWORD =
0x0020
ES_AUTOVSCROLL =
0x0040
ES_AUTOHSCROLL =
0x0080
ES_NOHIDESEL =
0x0100
ES_OEMCONVERT =
0x0400
ES_READONLY =
0x0800
ES_WANTRETURN =
0x1000
ES_NUMBER =
0x2000
EM_GETSEL =
0x00B0
EM_SETSEL =
0x00B1
EM_GETRECT =
0x00B2
EM_SETRECT =
0x00B3
EM_SETRECTNP =
0x00B4
EM_SCROLL =
0x00B5
EM_LINESCROLL =
0x00B6
EM_SCROLLCARET =
0x00B7
EM_GETMODIFY =
0x00B8
EM_SETMODIFY =
0x00B9
EM_GETLINECOUNT =
0x00BA
EM_LINEINDEX =
0x00BB
EM_SETHANDLE =
0x00BC
EM_GETHANDLE =
0x00BD
EM_GETTHUMB =
0x00BE
EM_LINELENGTH =
0x00C1
EM_REPLACESEL =
0x00C2
EM_GETLINE =
0x00C4
EM_LIMITTEXT =
0x00C5
EM_CANUNDO =
0x00C6
EM_UNDO =
0x00C7
EM_FMTLINES =
0x00C8
EM_LINEFROMCHAR =
0x00C9
EM_SETTABSTOPS =
0x00CB
EM_SETPASSWORDCHAR =
0x00CC
EM_EMPTYUNDOBUFFER =
0x00CD
EM_GETFIRSTVISIBLELINE =
0x00CE
EM_SETREADONLY =
0x00CF
EM_SETWORDBREAKPROC =
0x00D0
EM_GETWORDBREAKPROC =
0x00D1
EM_GETPASSWORDCHAR =
0x00D2
EM_SETMARGINS =
0x00D3
EM_GETMARGINS =
0x00D4
EM_SETLIMITTEXT =
EM_LIMITTEXT
EM_GETLIMITTEXT =
0x00D5
EM_POSFROMCHAR =
0x00D6
EM_CHARFROMPOS =
0x00D7
EM_SETIMESTATUS =
0x00D8
EM_GETIMESTATUS =
0x00D9
EN_SETFOCUS =
0x0100
EN_KILLFOCUS =
0x0200
EN_CHANGE =
0x0300
EN_UPDATE =
0x0400
EN_ERRSPACE =
0x0500
EN_MAXTEXT =
0x0501
EN_HSCROLL =
0x0601
EN_VSCROLL =
0x0602
EN_ALIGN_LTR_EC =
0x0700
EN_ALIGN_RTL_EC =
0x0701
PBS_SMOOTH =
0x01
PBS_VERTICAL =
0x04
PBS_MARQUEE =
0x08
PBS_SMOOTHREVERSE =
0x10
PBM_SETRANGE =
WM_USER + 1
PBM_SETPOS =
WM_USER + 2
PBM_DELTAPOS =
WM_USER + 3
PBM_SETSTEP =
WM_USER + 4
PBM_STEPIT =
WM_USER + 5
PBM_SETRANGE32 =
WM_USER + 6
PBM_GETRANGE =
WM_USER + 7
PBM_GETPOS =
WM_USER + 8
PBM_SETBARCOLOR =
WM_USER + 9
PBM_SETBKCOLOR =
CCM_SETBKCOLOR
PBM_SETMARQUEE =
WM_USER + 10
PBM_GETSTEP =
WM_USER + 13
PBM_GETBKCOLOR =
WM_USER + 14
PBM_GETBARCOLOR =
WM_USER + 15
PBM_SETSTATE =
WM_USER + 16
PBM_GETSTATE =
WM_USER + 17
PBST_NORMAL =
0x0001
PBST_ERROR =
0x0002
PBST_PAUSED =
0x0003
CCERR_CHOOSECOLORCODES =
0x5000
CC_RGBINIT =
0x00000001
CC_FULLOPEN =
0x00000002
CC_PREVENTFULLOPEN =
0x00000004
CC_SHOWHELP =
0x00000008
CC_ENABLEHOOK =
0x00000010
CC_ENABLETEMPLATE =
0x00000020
CC_ENABLETEMPLATEHANDLE =
0x00000040
CC_SOLIDCOLOR =
0x00000080
CC_ANYCOLOR =
0x00000100
PDERR_PRINTERCODES =
0x1000
PDERR_SETUPFAILURE =
0x1001
PDERR_PARSEFAILURE =
0x1002
PDERR_RETDEFFAILURE =
0x1003
PDERR_LOADDRVFAILURE =
0x1004
PDERR_GETDEVMODEFAIL =
0x1005
PDERR_INITFAILURE =
0x1006
PDERR_NODEVICES =
0x1007
PDERR_NODEFAULTPRN =
0x1008
PDERR_DNDMMISMATCH =
0x1009
PDERR_CREATEICFAILURE =
0x100A
PDERR_PRINTERNOTFOUND =
0x100B
PDERR_DEFAULTDIFFERENT =
0x100C
PSD_DEFAULTMINMARGINS =
0x00000000
PSD_INWININIINTLMEASURE =
0x00000000
PSD_MINMARGINS =
0x00000001
PSD_MARGINS =
0x00000002
PSD_INTHOUSANDTHSOFINCHES =
0x00000004
PSD_INHUNDREDTHSOFMILLIMETERS =
0x00000008
PSD_DISABLEMARGINS =
0x00000010
PSD_DISABLEPRINTER =
0x00000020
PSD_NOWARNING =
0x00000080
PSD_DISABLEORIENTATION =
0x00000100
PSD_RETURNDEFAULT =
0x00000400
PSD_DISABLEPAPER =
0x00000200
PSD_SHOWHELP =
0x00000800
PSD_ENABLEPAGESETUPHOOK =
0x00002000
PSD_ENABLEPAGESETUPTEMPLATE =
0x00008000
PSD_ENABLEPAGESETUPTEMPLATEHANDLE =
0x00020000
PSD_ENABLEPAGEPAINTHOOK =
0x00040000
PSD_DISABLEPAGEPAINTING =
0x00080000
PSD_NONETWORKBUTTON =
0x00200000
WM_PSD_PAGESETUPDLG =
WM_USER
WM_PSD_FULLPAGERECT =
WM_USER + 1
WM_PSD_MINMARGINRECT =
WM_USER + 2
WM_PSD_MARGINRECT =
WM_USER + 3
WM_PSD_GREEKTEXTRECT =
WM_USER + 4
WM_PSD_ENVSTAMPRECT =
WM_USER + 5
WM_PSD_YAFULLPAGERECT =
WM_USER + 6
DN_DEFAULTPRN =
0x0001
PD_ALLPAGES =
0x00000000
PD_SELECTION =
0x00000001
PD_PAGENUMS =
0x00000002
PD_NOSELECTION =
0x00000004
PD_NOPAGENUMS =
0x00000008
PD_COLLATE =
0x00000010
PD_PRINTTOFILE =
0x00000020
PD_PRINTSETUP =
0x00000040
PD_NOWARNING =
0x00000080
PD_RETURNDC =
0x00000100
PD_RETURNIC =
0x00000200
PD_RETURNDEFAULT =
0x00000400
PD_SHOWHELP =
0x00000800
PD_ENABLEPRINTHOOK =
0x00001000
PD_ENABLESETUPHOOK =
0x00002000
PD_ENABLEPRINTTEMPLATE =
0x00004000
PD_ENABLESETUPTEMPLATE =
0x00008000
PD_ENABLEPRINTTEMPLATEHANDLE =
0x00010000
PD_ENABLESETUPTEMPLATEHANDLE =
0x00020000
PD_USEDEVMODECOPIES =
0x00040000
PD_USEDEVMODECOPIESANDCOLLATE =
0x00040000
PD_DISABLEPRINTTOFILE =
0x00080000
PD_HIDEPRINTTOFILE =
0x00100000
PD_NONETWORKBUTTON =
0x00200000
PD_CURRENTPAGE =
0x00400000
PD_NOCURRENTPAGE =
0x00800000
PD_EXCLUSIONFLAGS =
0x01000000
PD_USELARGETEMPLATE =
0x10000000
IPrintDialogCallback =
PrintDialogCallback =
IPrintDialogServices =
PrintDialogServices =
START_PAGE_GENERAL =
0xffffffff
PD_RESULT_CANCEL =
0
PD_RESULT_PRINT =
1
PD_RESULT_APPLY =
2
BS_PUSHBUTTON =
0x00000000
BS_DEFPUSHBUTTON =
0x00000001
BS_CHECKBOX =
0x00000002
BS_AUTOCHECKBOX =
0x00000003
BS_RADIOBUTTON =
0x00000004
BS_3STATE =
0x00000005
BS_AUTO3STATE =
0x00000006
BS_GROUPBOX =
0x00000007
BS_USERBUTTON =
0x00000008
BS_AUTORADIOBUTTON =
0x00000009
BS_PUSHBOX =
0x0000000A
BS_OWNERDRAW =
0x0000000B
BS_TYPEMASK =
0x0000000F
BS_LEFTTEXT =
0x00000020
BS_TEXT =
0x00000000
BS_ICON =
0x00000040
BS_BITMAP =
0x00000080
BS_LEFT =
0x00000100
BS_RIGHT =
0x00000200
BS_CENTER =
0x00000300
BS_TOP =
0x00000400
BS_BOTTOM =
0x00000800
BS_VCENTER =
0x00000C00
BS_PUSHLIKE =
0x00001000
BS_MULTILINE =
0x00002000
BS_NOTIFY =
0x00004000
BS_FLAT =
0x00008000
BS_RIGHTBUTTON =
BS_LEFTTEXT
BM_GETCHECK =
0x00F0
BM_SETCHECK =
0x00F1
BM_GETSTATE =
0x00F2
BM_SETSTATE =
0x00F3
BM_SETSTYLE =
0x00F4
BM_CLICK =
0x00F5
BM_GETIMAGE =
0x00F6
BM_SETIMAGE =
0x00F7
BM_SETDONTCLICK =
0x00F8
BST_UNCHECKED =
0x0000
BST_CHECKED =
0x0001
BST_INDETERMINATE =
0x0002
BST_PUSHED =
0x0004
BST_FOCUS =
0x0008
BN_CLICKED =
0
BN_PAINT =
1
BN_HILITE =
2
BN_UNHILITE =
3
BN_DISABLE =
4
BN_DOUBLECLICKED =
5
BN_PUSHED =
BN_HILITE
BN_UNPUSHED =
BN_UNHILITE
BN_DBLCLK =
BN_DOUBLECLICKED
BN_SETFOCUS =
6
BN_KILLFOCUS =
7
SS_LEFT =
0x00000000
SS_CENTER =
0x00000001
SS_RIGHT =
0x00000002
SS_ICON =
0x00000003
SS_BLACKRECT =
0x00000004
SS_GRAYRECT =
0x00000005
SS_WHITERECT =
0x00000006
SS_BLACKFRAME =
0x00000007
SS_GRAYFRAME =
0x00000008
SS_WHITEFRAME =
0x00000009
SS_USERITEM =
0x0000000A
SS_SIMPLE =
0x0000000B
SS_LEFTNOWORDWRAP =
0x0000000C
SS_OWNERDRAW =
0x0000000D
SS_BITMAP =
0x0000000E
SS_ENHMETAFILE =
0x0000000F
SS_ETCHEDHORZ =
0x00000010
SS_ETCHEDVERT =
0x00000011
SS_ETCHEDFRAME =
0x00000012
SS_TYPEMASK =
0x0000001F
SS_REALSIZECONTROL =
0x00000040
SS_NOPREFIX =
0x00000080
SS_NOTIFY =
0x00000100
SS_CENTERIMAGE =
0x00000200
SS_RIGHTJUST =
0x00000400
SS_REALSIZEIMAGE =
0x00000800
SS_SUNKEN =
0x00001000
SS_EDITCONTROL =
0x00002000
SS_ENDELLIPSIS =
0x00004000
SS_PATHELLIPSIS =
0x00008000
SS_WORDELLIPSIS =
0x0000C000
SS_ELLIPSISMASK =
0x0000C000
STM_SETICON =
0x0170
STM_GETICON =
0x0171
STM_SETIMAGE =
0x0172
STM_GETIMAGE =
0x0173
STM_MSGMAX =
0x0174
STN_CLICKED =
0
STN_DBLCLK =
1
STN_ENABLE =
2
STN_DISABLE =
3
MCS_DAYSTATE =
0x0001
MCS_MULTISELECT =
0x0002
MCS_WEEKNUMBERS =
0x0004
MCS_NOTODAYCIRCLE =
0x0008
MCS_NOTODAY =
0x0010
MCS_NOTRAILINGDATES =
0x0040
MCS_SHORTDAYSOFWEEK =
0x0080
MCS_NOSELCHANGEONNAV =
0x0100
MCM_FIRST =
0x1000
MCM_GETCURSEL =
MCM_FIRST + 1
MCM_SETCURSEL =
MCM_FIRST + 2
MCM_GETMAXSELCOUNT =
MCM_FIRST + 3
MCM_SETMAXSELCOUNT =
MCM_FIRST + 4
MCM_GETSELRANGE =
MCM_FIRST + 5
MCM_SETSELRANGE =
MCM_FIRST + 6
MCM_GETMONTHRANGE =
MCM_FIRST + 7
MCM_SETDAYSTATE =
MCM_FIRST + 8
MCM_GETMINREQRECT =
MCM_FIRST + 9
MCM_SETCOLOR =
MCM_FIRST + 10
MCM_GETCOLOR =
MCM_FIRST + 11
MCM_SETTODAY =
MCM_FIRST + 12
MCM_GETTODAY =
MCM_FIRST + 13
MCM_HITTEST =
MCM_FIRST + 14
MCM_SETFIRSTDAYOFWEEK =
MCM_FIRST + 15
MCM_GETFIRSTDAYOFWEEK =
MCM_FIRST + 16
MCM_GETRANGE =
MCM_FIRST + 17
MCM_SETRANGE =
MCM_FIRST + 18
MCM_GETMONTHDELTA =
MCM_FIRST + 19
MCM_SETMONTHDELTA =
MCM_FIRST + 20
MCM_GETMAXTODAYWIDTH =
MCM_FIRST + 21
MCM_SETUNICODEFORMAT =
CCM_SETUNICODEFORMAT
MCM_GETUNICODEFORMAT =
CCM_GETUNICODEFORMAT
MCM_GETCURRENTVIEW =
MCM_FIRST + 22
MCM_GETCALENDARCOUNT =
MCM_FIRST + 23
MCM_GETCALENDARGRIDINFO =
MCM_FIRST + 24
MCM_GETCALID =
MCM_FIRST + 27
MCM_SETCALID =
MCM_FIRST + 28
MCM_SIZERECTTOMIN =
MCM_FIRST + 29
MCM_SETCALENDARBORDER =
MCM_FIRST + 30
MCM_GETCALENDARBORDER =
MCM_FIRST + 31
MCM_SETCURRENTVIEW =
MCM_FIRST + 32
MCN_FIRST =
0x1_0000_0000 - 746
MCN_LAST =
0x1_0000_0000 - 752
MCN_SELCHANGE =
MCN_FIRST - 3
MCN_GETDAYSTATE =
MCN_FIRST - 1
MCN_SELECT =
MCN_FIRST
MCN_VIEWCHANGE =
MCN_FIRST - 4
PSP_DEFAULT =
0x00000000
PSP_DLGINDIRECT =
0x00000001
PSP_USEHICON =
0x00000002
PSP_USEICONID =
0x00000004
PSP_USETITLE =
0x00000008
PSP_RTLREADING =
0x00000010
PSP_HASHELP =
0x00000020
PSP_USEREFPARENT =
0x00000040
PSP_USECALLBACK =
0x00000080
PSP_PREMATURE =
0x00000400
PSP_HIDEHEADER =
0x00000800
PSP_USEHEADERTITLE =
0x00001000
PSP_USEHEADERSUBTITLE =
0x00002000
PSP_USEFUSIONCONTEXT =
0x00004000
PSH_DEFAULT =
0x00000000
PSH_PROPTITLE =
0x00000001
PSH_USEHICON =
0x00000002
PSH_USEICONID =
0x00000004
PSH_PROPSHEETPAGE =
0x00000008
PSH_WIZARDHASFINISH =
0x00000010
PSH_WIZARD =
0x00000020
PSH_USEPSTARTPAGE =
0x00000040
PSH_NOAPPLYNOW =
0x00000080
PSH_USECALLBACK =
0x00000100
PSH_HASHELP =
0x00000200
PSH_MODELESS =
0x00000400
PSH_RTLREADING =
0x00000800
PSH_WIZARDCONTEXTHELP =
0x00001000
PSH_WIZARD97 =
0x01000000
PSH_WATERMARK =
0x00008000
PSH_USEHBMWATERMARK =
0x00010000
PSH_USEHPLWATERMARK =
0x00020000
PSH_STRETCHWATERMARK =
0x00040000
PSH_HEADER =
0x00080000
PSH_USEHBMHEADER =
0x00100000
PSH_USEPAGELANG =
0x00200000
PSH_WIZARD_LITE =
0x00400000
PSH_NOCONTEXTHELP =
0x02000000
PSH_AEROWIZARD =
0x00004000
PSH_RESIZABLE =
0x04000000
PSH_HEADERBITMAP =
0x08000000
PSH_NOMARGIN =
0x10000000
PSM_SETCURSEL =
WM_USER + 101
PSM_REMOVEPAGE =
WM_USER + 102
PSM_ADDPAGE =
WM_USER + 103
PSM_CHANGED =
WM_USER + 104
PSM_RESTARTWINDOWS =
WM_USER + 105
PSM_REBOOTSYSTEM =
WM_USER + 106
PSM_CANCELTOCLOSE =
WM_USER + 107
PSM_QUERYSIBLINGS =
WM_USER + 108
PSM_UNCHANGED =
WM_USER + 109
PSM_APPLY =
WM_USER + 110
PSM_SETTITLE =
WM_USER + 111
PSM_SETWIZBUTTONS =
WM_USER + 112
PSM_PRESSBUTTON =
WM_USER + 113
PSM_SETCURSELID =
WM_USER + 114
PSM_SETFINISHTEXT =
WM_USER + 115
PSM_GETTABCONTROL =
WM_USER + 116
PSM_ISDIALOGMESSAGE =
WM_USER + 117
PSM_GETCURRENTPAGEHWND =
WM_USER + 118
PSM_INSERTPAGE =
WM_USER + 119
PSM_SETHEADERTITLE =
WM_USER + 125
PSM_SETHEADERSUBTITLE =
WM_USER + 127
PSM_HWNDTOINDEX =
WM_USER + 129
PSM_INDEXTOHWND =
WM_USER + 130
PSM_PAGETOINDEX =
WM_USER + 131
PSM_INDEXTOPAGE =
WM_USER + 132
PSM_IDTOINDEX =
WM_USER + 133
PSM_INDEXTOID =
WM_USER + 134
PSM_GETRESULT =
WM_USER + 135
PSM_RECALCPAGESIZES =
WM_USER + 136
PSM_SETNEXTTEXT =
WM_USER + 137
PSM_SHOWWIZBUTTONS =
WM_USER + 138
PSM_ENABLEWIZBUTTONS =
WM_USER + 139
PSM_SETBUTTONTEXT =
WM_USER + 140
PSWIZF_SETCOLOR =
0xffffffff
PSWIZB_BACK =
0x00000001
PSWIZB_NEXT =
0x00000002
PSWIZB_FINISH =
0x00000004
PSWIZB_DISABLEDFINISH =
0x00000008
PSWIZB_CANCEL =
0x00000010
PSWIZB_SHOW =
0
PSWIZB_RESTORE =
1
PSWIZBF_ELEVATIONREQUIRED =
0x00000001
PSBTN_BACK =
0
PSBTN_NEXT =
1
PSBTN_FINISH =
2
PSBTN_OK =
3
PSBTN_APPLYNOW =
4
PSBTN_CANCEL =
5
PSBTN_HELP =
6
PSBTN_MAX =
6
PSN_FIRST =
0x1_0000_0000 - 200
PSN_LAST =
0x1_0000_0000 - 299
PSN_SETACTIVE =
PSN_FIRST - 0
PSN_KILLACTIVE =
PSN_FIRST - 1
PSN_APPLY =
PSN_FIRST - 2
PSN_RESET =
PSN_FIRST - 3
PSN_HELP =
PSN_FIRST - 5
PSN_WIZBACK =
PSN_FIRST - 6
PSN_WIZNEXT =
PSN_FIRST - 7
PSN_WIZFINISH =
PSN_FIRST - 8
PSN_QUERYCANCEL =
PSN_FIRST - 9
PSN_GETOBJECT =
PSN_FIRST - 10
PSN_TRANSLATEACCELERATOR =
PSN_FIRST - 12
PSN_QUERYINITIALFOCUS =
PSN_FIRST - 13
PSNRET_NOERROR =
0
PSNRET_INVALID =
1
PSNRET_INVALID_NOCHANGEPAGE =
2
PSNRET_MESSAGEHANDLED =
3
LBS_NOTIFY =
0x0001
LBS_SORT =
0x0002
LBS_NOREDRAW =
0x0004
LBS_MULTIPLESEL =
0x0008
LBS_OWNERDRAWFIXED =
0x0010
LBS_OWNERDRAWVARIABLE =
0x0020
LBS_HASSTRINGS =
0x0040
LBS_USETABSTOPS =
0x0080
LBS_NOINTEGRALHEIGHT =
0x0100
LBS_MULTICOLUMN =
0x0200
LBS_WANTKEYBOARDINPUT =
0x0400
LBS_EXTENDEDSEL =
0x0800
LBS_DISABLENOSCROLL =
0x1000
LBS_NODATA =
0x2000
LBS_NOSEL =
0x4000
LBS_COMBOBOX =
0x8000
LBS_STANDARD =
LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER
LB_CTLCODE =
0
LB_OKAY =
0
LB_ERR =
-1
LB_ERRSPACE =
-2
LB_ADDSTRING =
0x0180
LB_INSERTSTRING =
0x0181
LB_DELETESTRING =
0x0182
LB_SELITEMRANGEEX =
0x0183
LB_RESETCONTENT =
0x0184
LB_SETSEL =
0x0185
LB_SETCURSEL =
0x0186
LB_GETSEL =
0x0187
LB_GETCURSEL =
0x0188
LB_GETTEXT =
0x0189
LB_GETTEXTLEN =
0x018A
LB_GETCOUNT =
0x018B
LB_SELECTSTRING =
0x018C
LB_DIR =
0x018D
LB_GETTOPINDEX =
0x018E
LB_FINDSTRING =
0x018F
LB_GETSELCOUNT =
0x0190
LB_GETSELITEMS =
0x0191
LB_SETTABSTOPS =
0x0192
LB_GETHORIZONTALEXTENT =
0x0193
LB_SETHORIZONTALEXTENT =
0x0194
LB_SETCOLUMNWIDTH =
0x0195
LB_ADDFILE =
0x0196
LB_SETTOPINDEX =
0x0197
LB_GETITEMRECT =
0x0198
LB_GETITEMDATA =
0x0199
LB_SETITEMDATA =
0x019A
LB_SELITEMRANGE =
0x019B
LB_SETANCHORINDEX =
0x019C
LB_GETANCHORINDEX =
0x019D
LB_SETCARETINDEX =
0x019E
LB_GETCARETINDEX =
0x019F
LB_SETITEMHEIGHT =
0x01A0
LB_GETITEMHEIGHT =
0x01A1
LB_FINDSTRINGEXACT =
0x01A2
LB_SETLOCALE =
0x01A5
LB_GETLOCALE =
0x01A6
LB_SETCOUNT =
0x01A7
LB_INITSTORAGE =
0x01A8
LB_ITEMFROMPOINT =
0x01A9
LB_MULTIPLEADDSTRING =
0x01B1
LB_GETLISTBOXINFO =
0x01B2
LB_MSGMAX =
0x01B3
LBN_ERRSPACE =
-2
LBN_SELCHANGE =
1
LBN_DBLCLK =
2
LBN_SELCANCEL =
3
LBN_SETFOCUS =
4
LBN_KILLFOCUS =
5
DTS_UPDOWN =
0x0001
DTS_SHOWNONE =
0x0002
DTS_SHORTDATEFORMAT =
0x0000
DTS_LONGDATEFORMAT =
0x0004
DTS_SHORTDATECENTURYFORMAT =
0x000C
DTS_TIMEFORMAT =
0x0009
DTS_APPCANPARSE =
0x0010
DTS_RIGHTALIGN =
0x0020
DTM_FIRST =
0x1000
DTM_GETSYSTEMTIME =
DTM_FIRST + 1
DTM_SETSYSTEMTIME =
DTM_FIRST + 2
DTM_GETRANGE =
DTM_FIRST + 3
DTM_SETRANGE =
DTM_FIRST + 4
DTM_SETFORMAT =
DTM_FIRST + 5
DTM_SETMCCOLOR =
DTM_FIRST + 6
DTM_GETMCCOLOR =
DTM_FIRST + 7
DTM_GETMONTHCAL =
DTM_FIRST + 8
DTM_SETMCFONT =
DTM_FIRST + 9
DTM_GETMCFONT =
DTM_FIRST + 10
DTM_SETMCSTYLE =
DTM_FIRST + 11
DTM_GETMCSTYLE =
DTM_FIRST + 12
DTM_CLOSEMONTHCAL =
DTM_FIRST + 13
DTM_GETDATETIMEPICKERINFO =
DTM_FIRST + 14
DTM_GETIDEALSIZE =
DTM_FIRST + 15
DTN_FIRST =
0x1_0000_0000 - 740
DTN_LAST =
0x1_0000_0000 - 745
DTN_FIRST2 =
0x1_0000_0000 - 753
DTN_LAST2 =
0x1_0000_0000 - 799
DTN_DATETIMECHANGE =
DTN_FIRST2 - 6
DTN_USERSTRING =
DTN_FIRST2 - 5
DTN_WMKEYDOWN =
DTN_FIRST2 - 4
DTN_FORMAT =
DTN_FIRST2 - 3
DTN_FORMATQUERY =
DTN_FIRST2 - 2
DTN_DROPDOWN =
DTN_FIRST2 - 1
DTN_CLOSEUP =
DTN_FIRST2
GDT_ERROR =
-1
GDT_VALID =
0
GDT_NONE =
1
BIF_RETURNONLYFSDIRS =
0x00000001
BIF_DONTGOBELOWDOMAIN =
0x00000002
BIF_STATUSTEXT =
0x00000004
BIF_RETURNFSANCESTORS =
0x00000008
BIF_EDITBOX =
0x00000010
BIF_VALIDATE =
0x00000020
BIF_NEWDIALOGSTYLE =
0x00000040
BIF_USENEWUI =
BIF_NEWDIALOGSTYLE | BIF_EDITBOX
BIF_BROWSEINCLUDEURLS =
0x00000080
BIF_UAHINT =
0x00000100
BIF_NONEWFOLDERBUTTON =
0x00000200
BIF_NOTRANSLATETARGETS =
0x00000400
BIF_BROWSEFORCOMPUTER =
0x00001000
BIF_BROWSEFORPRINTER =
0x00002000
BIF_BROWSEINCLUDEFILES =
0x00004000
BIF_SHAREABLE =
0x00008000
BIF_BROWSEFILEJUNCTIONS =
0x00010000
BFFM_INITIALIZED =
1
BFFM_SELCHANGED =
2
BFFM_VALIDATEFAILED =
3
BFFM_IUNKNOWN =
5
BFFM_SETSTATUSTEXT =
WM_USER + 100
BFFM_ENABLEOK =
WM_USER + 101
BFFM_SETSELECTION =
WM_USER + 102
BFFM_SETOKTEXT =
WM_USER + 105
BFFM_SETEXPANDED =
WM_USER + 106
CBS_SIMPLE =
0x0001
CBS_DROPDOWN =
0x0002
CBS_DROPDOWNLIST =
0x0003
CBS_OWNERDRAWFIXED =
0x0010
CBS_OWNERDRAWVARIABLE =
0x0020
CBS_AUTOHSCROLL =
0x0040
CBS_OEMCONVERT =
0x0080
CBS_SORT =
0x0100
CBS_HASSTRINGS =
0x0200
CBS_NOINTEGRALHEIGHT =
0x0400
CBS_DISABLENOSCROLL =
0x0800
CBS_UPPERCASE =
0x2000
CBS_LOWERCASE =
0x4000
CB_OKAY =
0
CB_ERR =
-1
CB_ERRSPACE =
-2
CB_GETEDITSEL =
0x0140
CB_LIMITTEXT =
0x0141
CB_SETEDITSEL =
0x0142
CB_ADDSTRING =
0x0143
CB_DELETESTRING =
0x0144
CB_DIR =
0x0145
CB_GETCOUNT =
0x0146
CB_GETCURSEL =
0x0147
CB_GETLBTEXT =
0x0148
CB_GETLBTEXTLEN =
0x0149
CB_INSERTSTRING =
0x014A
CB_RESETCONTENT =
0x014B
CB_FINDSTRING =
0x014C
CB_SELECTSTRING =
0x014D
CB_SETCURSEL =
0x014E
CB_SHOWDROPDOWN =
0x014F
CB_GETITEMDATA =
0x0150
CB_SETITEMDATA =
0x0151
CB_GETDROPPEDCONTROLRECT =
0x0152
CB_SETITEMHEIGHT =
0x0153
CB_GETITEMHEIGHT =
0x0154
CB_SETEXTENDEDUI =
0x0155
CB_GETEXTENDEDUI =
0x0156
CB_GETDROPPEDSTATE =
0x0157
CB_FINDSTRINGEXACT =
0x0158
CB_SETLOCALE =
0x0159
CB_GETLOCALE =
0x015A
CB_GETTOPINDEX =
0x015b
CB_SETTOPINDEX =
0x015c
CB_GETHORIZONTALEXTENT =
0x015d
CB_SETHORIZONTALEXTENT =
0x015e
CB_GETDROPPEDWIDTH =
0x015f
CB_SETDROPPEDWIDTH =
0x0160
CB_INITSTORAGE =
0x0161
CB_MULTIPLEADDSTRING =
0x0163
CB_GETCOMBOBOXINFO =
0x0164
CB_MSGMAX =
0x0165
CBN_ERRSPACE =
-1
CBN_SELCHANGE =
1
CBN_DBLCLK =
2
CBN_SETFOCUS =
3
CBN_KILLFOCUS =
4
CBN_EDITCHANGE =
5
CBN_EDITUPDATE =
6
CBN_DROPDOWN =
7
CBN_CLOSEUP =
8
CBN_SELENDOK =
9
CBN_SELENDCANCEL =
10
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_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_SETSCREENSAVERRUNNING =
0x0061
SPI_SCREENSAVERRUNNING =
SPI_SETSCREENSAVERRUNNING
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_GETSNAPTODEFBUTTON =
0x005F
SPI_SETSNAPTODEFBUTTON =
0x0060
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_GETWHEELSCROLLCHARS =
0x006C
SPI_SETWHEELSCROLLCHARS =
0x006D
SPI_GETSHOWIMEUI =
0x006E
SPI_SETSHOWIMEUI =
0x006F
SPI_GETMOUSESPEED =
0x0070
SPI_SETMOUSESPEED =
0x0071
SPI_GETSCREENSAVERRUNNING =
0x0072
SPI_GETDESKWALLPAPER =
0x0073
SPI_GETAUDIODESCRIPTION =
0x0074
SPI_SETAUDIODESCRIPTION =
0x0075
SPI_GETSCREENSAVESECURE =
0x0076
SPI_SETSCREENSAVESECURE =
0x0077
SPI_GETHUNGAPPTIMEOUT =
0x0078
SPI_SETHUNGAPPTIMEOUT =
0x0079
SPI_GETWAITTOKILLTIMEOUT =
0x007A
SPI_SETWAITTOKILLTIMEOUT =
0x007B
SPI_GETWAITTOKILLSERVICETIMEOUT =
0x007C
SPI_SETWAITTOKILLSERVICETIMEOUT =
0x007D
SPI_GETMOUSEDOCKTHRESHOLD =
0x007E
SPI_SETMOUSEDOCKTHRESHOLD =
0x007F
SPI_GETPENDOCKTHRESHOLD =
0x0080
SPI_SETPENDOCKTHRESHOLD =
0x0081
SPI_GETWINARRANGING =
0x0082
SPI_SETWINARRANGING =
0x0083
SPI_GETMOUSEDRAGOUTTHRESHOLD =
0x0084
SPI_SETMOUSEDRAGOUTTHRESHOLD =
0x0085
SPI_GETPENDRAGOUTTHRESHOLD =
0x0086
SPI_SETPENDRAGOUTTHRESHOLD =
0x0087
SPI_GETMOUSESIDEMOVETHRESHOLD =
0x0088
SPI_SETMOUSESIDEMOVETHRESHOLD =
0x0089
SPI_GETPENSIDEMOVETHRESHOLD =
0x008A
SPI_SETPENSIDEMOVETHRESHOLD =
0x008B
SPI_GETDRAGFROMMAXIMIZE =
0x008C
SPI_SETDRAGFROMMAXIMIZE =
0x008D
SPI_GETSNAPSIZING =
0x008E
SPI_SETSNAPSIZING =
0x008F
SPI_GETDOCKMOVING =
0x0090
SPI_SETDOCKMOVING =
0x0091
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_SETKEYBOARDCUES =
0x100B
SPI_GETMENUUNDERLINES =
SPI_GETKEYBOARDCUES
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_GETMOUSESONAR =
0x101C
SPI_SETMOUSESONAR =
0x101D
SPI_GETMOUSECLICKLOCK =
0x101E
SPI_SETMOUSECLICKLOCK =
0x101F
SPI_GETMOUSEVANISH =
0x1020
SPI_SETMOUSEVANISH =
0x1021
SPI_GETFLATMENU =
0x1022
SPI_SETFLATMENU =
0x1023
SPI_GETDROPSHADOW =
0x1024
SPI_SETDROPSHADOW =
0x1025
SPI_GETBLOCKSENDINPUTRESETS =
0x1026
SPI_SETBLOCKSENDINPUTRESETS =
0x1027
SPI_GETUIEFFECTS =
0x103E
SPI_SETUIEFFECTS =
0x103F
SPI_GETDISABLEOVERLAPPEDCONTENT =
0x1040
SPI_SETDISABLEOVERLAPPEDCONTENT =
0x1041
SPI_GETCLIENTAREAANIMATION =
0x1042
SPI_SETCLIENTAREAANIMATION =
0x1043
SPI_GETCLEARTYPE =
0x1048
SPI_SETCLEARTYPE =
0x1049
SPI_GETSPEECHRECOGNITION =
0x104A
SPI_SETSPEECHRECOGNITION =
0x104B
SPI_GETFOREGROUNDLOCKTIMEOUT =
0x2000
SPI_SETFOREGROUNDLOCKTIMEOUT =
0x2001
SPI_GETACTIVEWNDTRKTIMEOUT =
0x2002
SPI_SETACTIVEWNDTRKTIMEOUT =
0x2003
SPI_GETFOREGROUNDFLASHCOUNT =
0x2004
SPI_SETFOREGROUNDFLASHCOUNT =
0x2005
SPI_GETCARETWIDTH =
0x2006
SPI_SETCARETWIDTH =
0x2007
SPI_GETMOUSECLICKLOCKTIME =
0x2008
SPI_SETMOUSECLICKLOCKTIME =
0x2009
SPI_GETFONTSMOOTHINGTYPE =
0x200A
SPI_SETFONTSMOOTHINGTYPE =
0x200B
SPI_GETFONTSMOOTHINGCONTRAST =
0x200C
SPI_SETFONTSMOOTHINGCONTRAST =
0x200D
SPI_GETFOCUSBORDERWIDTH =
0x200E
SPI_SETFOCUSBORDERWIDTH =
0x200F
SPI_GETFOCUSBORDERHEIGHT =
0x2010
SPI_SETFOCUSBORDERHEIGHT =
0x2011
SPI_GETFONTSMOOTHINGORIENTATION =
0x2012
SPI_SETFONTSMOOTHINGORIENTATION =
0x2013
SPI_GETMINIMUMHITRADIUS =
0x2014
SPI_SETMINIMUMHITRADIUS =
0x2015
SPI_GETMESSAGEDURATION =
0x2016
SPI_SETMESSAGEDURATION =
0x2017

Class Method Summary collapse

Class Method Details

.DetonateHresult(name, *args) ⇒ Object



36
37
38
39
40
41
42
# File 'lib/fzeet/windows/com.rb', line 36

def DetonateHresult(name, *args)
	failed = FAILED(result = send(name, *args)) and raise "#{name} failed (hresult #{format('%#08x', result)})."

	result
ensure
	yield failed if block_given?
end

.DetonateLastError(on, name, *args) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/fzeet/windows/common.rb', line 19

def DetonateLastError(on, name, *args)
	raise "#{name} failed (last error #{GetLastError()})." if (failed = [*on].include?(result = send(name, *args)))

	result
ensure
	yield failed if block_given?
end

.EnableVisualStylesObject



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/fzeet/windows/kernel.rb', line 50

def EnableVisualStyles
	return unless WINVER.AtLeastWindowsXP?

	raise 'Visual styles already enabled.' if COMMON_CONTROLS_ACTCTX[:activated]

	manifest = "#{ENV['TEMP']}/Fzeet.Common-Controls.manifest"

	File.open(manifest, 'w:utf-8') { |file|
		file << <<-XML
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
	<dependency>
<dependentAssembly>
	<assemblyIdentity type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*' />
</dependentAssembly>
	</dependency>
</assembly>
		XML
	}

	ac = ACTCTX.new

	ac[:cbSize] = ac.size
	ac[:lpSource] = source = FFI::MemoryPointer.from_string(File.expand_path(manifest))

	COMMON_CONTROLS_ACTCTX[:handle] = DetonateLastError(INVALID_HANDLE_VALUE, :CreateActCtx, ac) { source.free }

	DetonateLastError(0, :ActivateActCtx, COMMON_CONTROLS_ACTCTX[:handle], COMMON_CONTROLS_ACTCTX[:cookie]) { |failed|
		next unless failed

		ReleaseActCtx(COMMON_CONTROLS_ACTCTX[:handle]); COMMON_CONTROLS_ACTCTX[:handle] = INVALID_HANDLE_VALUE
	}

	COMMON_CONTROLS_ACTCTX[:activated] = true
end

.FAILED(hr) ⇒ Object



28
# File 'lib/fzeet/windows/com.rb', line 28

def FAILED(hr) hr < 0 end

.GET_X_LPARAM(l) ⇒ Object



86
# File 'lib/fzeet/windows/common.rb', line 86

def GET_X_LPARAM(l) ((w = LOWORD(l)) > 0x7fff) ? w - 0x1_0000 : w end

.GET_Y_LPARAM(l) ⇒ Object



87
# File 'lib/fzeet/windows/common.rb', line 87

def GET_Y_LPARAM(l) ((w = HIWORD(l)) > 0x7fff) ? w - 0x1_0000 : w end

.GetBValue(rgb) ⇒ Object



10
# File 'lib/fzeet/windows/gdi.rb', line 10

def GetBValue(rgb) LOBYTE(rgb >> 16) end

.GetGValue(rgb) ⇒ Object



9
# File 'lib/fzeet/windows/gdi.rb', line 9

def GetGValue(rgb) LOBYTE(rgb >> 8) end

.GetRValue(rgb) ⇒ Object



8
# File 'lib/fzeet/windows/gdi.rb', line 8

def GetRValue(rgb) LOBYTE(rgb) end

.HIBYTE(w) ⇒ Object



79
# File 'lib/fzeet/windows/common.rb', line 79

def HIBYTE(w) (w >> 8) & 0xff end

.HIWORD(l) ⇒ Object



83
# File 'lib/fzeet/windows/common.rb', line 83

def HIWORD(l) (l >> 16) & 0xffff end

.HRESULT_FROM_WIN32(x) ⇒ Object



29
# File 'lib/fzeet/windows/com.rb', line 29

def HRESULT_FROM_WIN32(x) (x <= 0) ? x : (x & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000 end

.InitializeOleObject



11
12
13
14
15
# File 'lib/fzeet/windows/ole.rb', line 11

def InitializeOle
	DetonateHresult(:OleInitialize, nil)

	at_exit { OleUninitialize() }
end

.LoadRibbonDll(name = File.basename($0, '.rbw'), opts = {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/fzeet/windows/uiribbon.rb', line 8

def LoadRibbonDll(name = File.basename($0, '.rbw'), opts = {})
	path = File.dirname(File.expand_path($0))

	if !File.exist?("#{path}/#{name}.dll") || (
			File.exist?("#{path}/#{name}.xml") &&
			test(?M, "#{path}/#{name}.xml") > test(?M, "#{path}/#{name}.dll")
		)

		opts[:sdkroot] ||= "#{ENV['SystemDrive']}/Program Files/Microsoft SDKs/Windows/v7.1"
		opts[:vcroot] ||= "#{ENV['ProgramFiles']}/Microsoft Visual Studio 10.0/VC"
		#opts[:mingwroot] ||= "#{ENV['SystemDrive']}/MinGW"

		opts[:uicc] ||= "#{opts[:sdkroot]}/bin/uicc.exe"
		opts[:rc] ||= "#{opts[:sdkroot]}/bin/rc.exe"
		opts[:vcvars] ||= "#{opts[:vcroot]}/bin/vcvars32.bat"
		opts[:link] ||= "#{opts[:vcroot]}/bin/link.exe"
		#opts[:windres] ||= "#{opts[:mingwroot]}/bin/windres.exe"
		#opts[:gcc] ||= "#{opts[:mingwroot]}/bin/gcc.exe"

		opts[:clean] = true if opts[:clean].nil?

		raise 'Building the Ribbon requires Windows SDK and VC.' unless
			[:uicc, :rc, :vcvars, :link].all? { |tool| File.exist?(opts[tool]) }
		#raise 'Building the Ribbon requires Windows SDK and MinGW.' unless
		#	[:uicc, :windres, :gcc].all? { |tool| File.exist?(opts[tool]) }

		system <<-CMD
@echo off &\
 "#{opts[:uicc]}" "#{name}.xml" "#{name}.bml" /header:"#{name}.h" /res:"#{name}.rc" > "#{name}.log" &\
 "#{opts[:rc]}" /nologo /fo"#{ENV['TEMP']}/#{name}.res" "#{name}.rc" >> "#{name}.log" &\
 call "#{opts[:vcvars]}" >> "#{name}.log" &\
 "#{opts[:link]}" /nologo /machine:x86 /dll /noentry /out:"#{name}.dll" "#{ENV['TEMP']}/#{name}.res" >> "#{name}.log"
		CMD
#				system <<-CMD
#@echo off &\
# "#{opts[:uicc]}" "#{name}.xml" "#{name}.bml" /header:"#{name}.h" /res:"#{name}.rc" > "#{name}.log" &\
# "#{opts[:windres]}" -o"#{ENV['TEMP']}/#{name}.o" "#{name}.rc" >> "#{name}.log" &\
# "#{opts[:gcc]}" -shared -o"#{name}.dll" "#{ENV['TEMP']}/#{name}.o" >> "#{name}.log"
#				CMD

		raise "Ribbon build failed - see #{path}/#{name}.log for details." if File.read("#{path}/#{name}.log") =~ /error/i

		File.open("#{path}/#{name}.rb", 'w') { |rb|
			rb.puts "# Generated by the UIRibbon build, do NOT modify\n\n"

			File.foreach("#{path}/#{name}.h") { |line|
				rb.puts "#{$1[0].upcase}#{$1[1..-1]} = #{$2}" if line =~ /^\s*#define\s+(\w+)\s+(\d+)/
			}
		}

		%w{bml h rc}.each { |ext|
			File.delete("#{path}/#{name}.#{ext}") if File.exist?("#{path}/#{name}.#{ext}")
		} if opts[:clean]
	end

	require "#{path}/#{name}"

	raise "LoadLibrary('#{path}/#{name}.dll') failed." if
		(hdll = LoadLibrary("#{path}/#{name}.dll")).null?

	hdll.tap { at_exit { FreeLibrary(hdll) } }
end

.LOBYTE(w) ⇒ Object



78
# File 'lib/fzeet/windows/common.rb', line 78

def LOBYTE(w) w & 0xff end

.LOWORD(l) ⇒ Object



82
# File 'lib/fzeet/windows/common.rb', line 82

def LOWORD(l) l & 0xffff end

.LPWSTR(s) ⇒ Object



89
90
91
92
93
94
95
96
97
# File 'lib/fzeet/windows/common.rb', line 89

def LPWSTR(s)
	FFI::MemoryPointer.new(:uchar, (s.length + 2) * 2) { |p|
		"#{s}\0".encode('utf-16le').each_byte.with_index { |b, i|
			p.put_char(i, b)

			yield p
		}
	}
end

.MAKELONG(low, high) ⇒ Object



84
# File 'lib/fzeet/windows/common.rb', line 84

def MAKELONG(low, high) (low & 0xffff) | ((high & 0xffff) << 16) end

.MAKEWORD(low, high) ⇒ Object



80
# File 'lib/fzeet/windows/common.rb', line 80

def MAKEWORD(low, high) (low & 0xff) | ((high & 0xff) << 8) end

.RGB(r, g, b) ⇒ Object



11
# File 'lib/fzeet/windows/gdi.rb', line 11

def RGB(r, g, b) r | (g << 8) | (b << 16) end

.SUCCEEDED(hr) ⇒ Object



27
# File 'lib/fzeet/windows/com.rb', line 27

def SUCCEEDED(hr) hr >= 0 end

.UI_GetBValue(hsb) ⇒ Object



146
# File 'lib/fzeet/windows/uiribbon.rb', line 146

def UI_GetBValue(hsb) LOBYTE(hsb >> 16) end

.UI_GetHValue(hsb) ⇒ Object



144
# File 'lib/fzeet/windows/uiribbon.rb', line 144

def UI_GetHValue(hsb) LOBYTE(hsb) end

.UI_GetSValue(hsb) ⇒ Object



145
# File 'lib/fzeet/windows/uiribbon.rb', line 145

def UI_GetSValue(hsb) LOBYTE(hsb >> 8) end

.UI_HSB(h, s, b) ⇒ Object



147
# File 'lib/fzeet/windows/uiribbon.rb', line 147

def UI_HSB(h, s, b) h | (s << 8) | (b << 16) end

.UI_MAKEAPPMODE(x) ⇒ Object



369
# File 'lib/fzeet/windows/uiribbon.rb', line 369

def UI_MAKEAPPMODE(x) 1 << x end

.UI_RGB2HSB(r, g, b) ⇒ Object



149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
# File 'lib/fzeet/windows/uiribbon.rb', line 149

def UI_RGB2HSB(r, g, b)
	r, g, b = r.to_f / 255, g.to_f / 255, b.to_f / 255

	max, min = [r, g, b].max, [r, g, b].min

	l = (max + min) / 2

	s = if max == min
		0
	elsif l < 0.5
		(max - min) / (max + min)
	else
		(max - min) / (2 - (max + min))
	end

	h = if max == min
		0
	elsif r == max
		    (g - b) / (max - min)
	elsif g == max
		2 + (b - r) / (max - min)
	else
		4 + (r - g) / (max - min)
	end * 60

	h += 360 if h < 0

	h = h / 360

	[
		# hue
		(255 * h).round,

		# saturation
		(255 * s).round,

		# brightness
		(l < 0.1793) ?
			0 :
			(l > 0.9821) ?
				255 :
				(257.7 + 149.9 * Math.log(l)).round
	]
end

.WCSTOMBS(p) ⇒ Object



99
100
101
102
103
104
105
106
107
108
109
# File 'lib/fzeet/windows/common.rb', line 99

def WCSTOMBS(p)
	result = ''

	FFI::MemoryPointer.new(:uchar, len = wcslen(p) + 1) { |buf|
		raise 'wcstombs failed.' if wcstombs(buf, p, len) == 0xffffffff

		result << buf.read_string
	}

	result
end