Module: WinAPISys

Includes:
Win32
Included in:
WinUser32Ruby
Defined in:
lib/winapisys.rb,
lib/system_const.rb

Overview

Author

Jerry Fernholz

Date

21 May 2009

Constants related to the Win32 API

Constant Summary collapse

KEYEVENTF_KEYDOWN =

Keyboard Event constants

0
WM_MOVE =
0x0003
WM_SIZE =
0x0005
WM_ACTIVATE =
0x0006
WM_SETFOCUS =
0x0007
WM_KILLFOCUS =
0x0008
WM_SETREDRAW =
0x000B
WM_SETTEXT =
0x000C
WM_GETTEXT =
0x000D
WM_GETTEXTLENGTH =
0x000E
WM_PAINT =
0x000F
WM_ERASEBKGND =
0x0014
WM_SYSCOLORCHANGE =
0x0015
WM_SHOWWINDOW =
0x0018
WM_WININICHANGE =
0x001A
WM_FONTCHANGE =
0x001D
WM_CANCELMODE =
0x001F
WM_SETCURSOR =
0x0020
WM_NEXTDLGCTL =
0x0028
WM_DRAWITEM =
0x002B
WM_MEASUREITEM =
0x002C
WM_DELETEITEM =
0x002D
WM_SETFONT =
0x0030
WM_GETFONT =
0x0031
WM_COMPAREITEM =
0x0039
WM_WINDOWPOSCHANGED =
0x0047
WM_NOTIFY =
0x004E
WM_HELP =
0x0053
WM_STYLECHANGED =
0x007D
WM_GETDLGCODE =
0x0087
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_KEYLAST =
0x0108
WM_IM_INFO =
0x010C
WM_IME_STARTCOMPOSITION =
0x010D
WM_IME_ENDCOMPOSITION =
0x010E
WM_IME_COMPOSITION =
0x010F
WM_IME_KEYLAST =
0x010F
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_SYSTEM =
0x0287
WM_IME_REQUEST =
0x0288
WM_IME_KEYDOWN =
0x0290
WM_IME_KEYUP =
0x0291
WM_INITDIALOG =
0x0110
WM_COMMAND =
0x0111
WM_SYSCOMMAND =
0x0112
WM_TIMER =
0x0113
WM_HSCROLL =
0x0114
WM_VSCROLL =
0x0115
WM_INITMENUPOPUP =
0x0117
WM_MENUCHAR =
0x0120
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_MOUSELAST =
0x0209
WM_MOUSEWHEEL =
0x020A
WM_ENTERMENULOOP =
0x0211
WM_EXITMENULOOP =
0x0212
WM_CAPTURECHANGED =
0x0215
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_QUERYNEWPALETTE =
0x030F
WM_PALETTECHANGED =
0x0311
WM_CTLCOLORMSGBOX =
0x0132
WM_CTLCOLOREDIT =
0x0133
WM_CTLCOLORLISTBOX =
0x0134
WM_CTLCOLORBTN =
0x0135
WM_CTLCOLORDLG =
0x0136
WM_CTLCOLORSCROLLBAR =
0x0137
WM_CTLCOLORSTATIC =
0x0138
WM_VKEYTOITEM =
0x002E
WM_CHARTOITEM =
0x002F
WM_QUERYDRAGICON =
0x0037
WM_DBNOTIFICATION =
0x03FD
WM_NETCONNECT =
0x03FE
WM_HIBERNATE =
0x03FF
WM_APP =
0x8000
WM_USER =
0x0400
WS_OVERLAPPED =
0x00000000
WS_CLIPSIBLINGS =
0x04000000
WS_CLIPCHILDREN =
0x02000000
WS_CAPTION =
0x00C00000
WS_BORDER =
0x00800000
WS_DLGFRAME =
0x00400000
WS_VSCROLL =
0x00200000
WS_HSCROLL =
0x00100000
WS_SYSMENU =
0x00080000
WS_THICKFRAME =
0x00040000
WS_MAXIMIZEBOX =
0x00020000
WS_MINIMIZEBOX =
0x00010000
WS_POPUP =
0x80000000
WS_EX_DLGMODALFRAME =
0x00000001
WS_EX_TOPMOST =
0x00000008
WS_EX_TOOLWINDOW =
0x00000080
WS_EX_WINDOWEDGE =
0x00000100
WS_EX_CLIENTEDGE =
0x00000200
WS_EX_CONTEXTHELP =
0x00000400
WS_EX_STATICEDGE =
0x00020000
WS_EX_CAPTIONOKBTN =
0x80000000
WS_EX_NODRAG =
0x40000000
WS_EX_ABOVESTARTUP =
0x20000000
WS_EX_INK =
0x10000000
WS_EX_NOANIMATION =
0x04000000
CS_VREDRAW =
0x0001
CS_HREDRAW =
0x0002
CS_DBLCLKS =
0x0008
CS_PARENTDC =
0x0080
CS_NOCLOSE =
0x0200
CS_SAVEBITS =
0x0800
CS_GLOBALCLASS =
0x4000
CS_IME =
0x00010000
DFCS_CAPTIONCLOSE =
0x0000
DFCS_CAPTIONHELP =
0x0004
DFCS_CAPTIONOKBTN =
0x0080
DFCS_CAPTIONMIN =
0x0020
DFCS_CAPTIONMAX =
0x0040
DFCS_CAPTIONRESTORE =
0x0800
DFCS_SCROLLUP =
0x0000
DFCS_SCROLLDOWN =
0x0001
DFCS_SCROLLLEFT =
0x0002
DFCS_SCROLLRIGHT =
0x0003
DFCS_SCROLLCOMBOBOX =
0x0005
DFCS_BUTTONCHECK =
0x0000
DFCS_BUTTONRADIO =
0x0004
DFCS_BUTTON3STATE =
0x0008
DFCS_BUTTONPUSH =
0x0010
DFCS_INACTIVE =
0x0100
DFCS_PUSHED =
0x0200
DFCS_CHECKED =
0x0400
EW_RESTARTWINDOWS =
0x0042
EW_REBOOTSYSTEM =
0x0043
EW_EXITANDEXECAPP =
0x0044
HWND_BROADCAST =
0xffff
PM_NOREMOVE =
0x0000
PM_REMOVE =
0x0001
PM_NOYIELD =
0x0002
MWMO_INPUTAVAILABLE =
0x0004
QS_KEY =
0x0001
QS_MOUSEMOVE =
0x0002
QS_MOUSEBUTTON =
0x0004
QS_POSTMESSAGE =
0x0008
QS_TIMER =
0x0010
QS_PAINT =
0x0020
QS_SENDMESSAGE =
0x0040
SMTO_NORMAL =
0x0000
SWP_NOSIZE =
0x0001
SWP_NOMOVE =
0x0002
SWP_NOZORDER =
0x0004
SWP_NOACTIVATE =
0x0010
SWP_FRAMECHANGED =
0x0020
SWP_SHOWWINDOW =
0x0040
SWP_HIDEWINDOW =
0x0080
SWP_NOOWNERZORDER =
0x0200
MF_BYCOMMAND =
0x00000000
MF_BYPOSITION =
0x00000400
MF_SEPARATOR =
0x00000800
MF_ENABLED =
0x00000000
MF_GRAYED =
0x00000001
MF_UNCHECKED =
0x00000000
MF_CHECKED =
0x00000008
MF_STRING =
0x00000000
MF_OWNERDRAW =
0x00000100
MF_POPUP =
0x00000010
MF_MENUBARBREAK =
0x00000020
MF_MENUBREAK =
0x00000040
MF_UNHILITE =
0x00000000
MF_HILITE =
0x00000080
MF_END =
0x00000080
MFT_RADIOCHECK =
0x00000200
SC_CLOSE =
0xF060
SC_KEYMENU =
0xF100
MIIM_STATE =
0x00000001
MIIM_ID =
0x00000002
MIIM_SUBMENU =
0x00000004
MIIM_CHECKMARKS =
0x00000008
MIIM_TYPE =
0x00000010
MIIM_DATA =
0x00000020
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
FNOINVERT =
0x02
FSHIFT =
0x04
FCONTROL =
0x08
FALT =
0x10
DCX_WINDOW =
0x00000001
DCX_CACHE =
0x00000002
DCX_CLIPCHILDREN =
0x00000008
DCX_CLIPSIBLINGS =
0x00000010
DCX_EXCLUDERGN =
0x00000040
DCX_INTERSECTRGN =
0x00000080
DCX_EXCLUDEUPDATE =
0x00000100
DCX_INTERSECTUPDATE =
0x00000200
WM_NULL =
0x0000
WM_CREATE =
0x0001
WM_DESTROY =
0x0002
WM_CLOSE =
0x0010
WM_QUIT =
0x0012
WM_COPYDATA =
0x004A
WS_CHILD =
0x40000000
WS_VISIBLE =
0x10000000
WS_DISABLED =
0x08000000
WS_GROUP =
0x00020000
WS_TABSTOP =
0x00010000
WS_EX_NOACTIVATE =
0x08000000
CW_USEDEFAULT =
0x80000000
WM_ENABLE =
0x000A
SYS_COLOR_INDEX_FLAG =
0x40000000
MOUSEEVENTF_MOVE =
0x0001
MOUSEEVENTF_LEFTDOWN =
0x0002
MOUSEEVENTF_LEFTUP =
0x0004
MOUSEEVENTF_RIGHTDOWN =
0x0008
MOUSEEVENTF_RIGHTUP =
0x0010
MOUSEEVENTF_MIDDLEDOWN =
0x0020
MOUSEEVENTF_MIDDLEUP =
0x0040
MOUSEEVENTF_WHEEL =
0x0800
MOUSEEVENTF_VIRTUALDESK =
0x4000
MOUSEEVENTF_ABSOLUTE =
0x8000
MOUSEEVENTF_TOUCH =
0x100000
RDW_INVALIDATE =
0x0001
RDW_INTERNALPAINT =
0x0002
RDW_ERASE =
0x0004
RDW_VALIDATE =
0x0008
RDW_NOERASE =
0x0020
RDW_NOCHILDREN =
0x0040
RDW_ALLCHILDREN =
0x0080
RDW_UPDATENOW =
0x0100
RDW_ERASENOW =
0x0200
MB_OK =
0x00000000
MB_OKCANCEL =
0x00000001
MB_ABORTRETRYIGNORE =
0x00000002
MB_YESNOCANCEL =
0x00000003
MB_YESNO =
0x00000004
MB_RETRYCANCEL =
0x00000005
MB_ICONHAND =
0x00000010
MB_ICONQUESTION =
0x00000020
MB_ICONEXCLAMATION =
0x00000030
MB_ICONASTERISK =
0x00000040
MB_DEFBUTTON1 =
0x00000000
MB_DEFBUTTON2 =
0x00000100
MB_DEFBUTTON3 =
0x00000200
MB_DEFBUTTON4 =
0x00000300
MB_APPLMODAL =
0x00000000
MB_SETFOREGROUND =
0x00010000
MB_TOPMOST =
0x00040000
KEYEVENTF_EXTENDEDKEY =
0x0001
KEYEVENTF_KEYUP =
0x0002
KEYEVENTF_SILENT =
0x0004
KF_EXTENDED =
0x0100
KF_ALTDOWN =
0x2000
KF_REPEAT =
0x4000
KF_UP =
0x8000
VK_LBUTTON =
0x01
VK_RBUTTON =
0x02
VK_CANCEL =
0x03
VK_MBUTTON =
0x04
VK_BACK =
0x08
VK_TAB =
0x09
VK_CLEAR =
0x0C
VK_RETURN =
0x0D
VK_SHIFT =
0x10
VK_CONTROL =
0x11
VK_MENU =
0x12
VK_ALT =
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_NOCONVERT =
0x1d
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_0 =
0x30
VK_1 =
0x31
VK_2 =
0x32
VK_3 =
0x33
VK_4 =
0x34
VK_5 =
0x35
VK_6 =
0x36
VK_7 =
0x37
VK_8 =
0x38
VK_9 =
0x39
VK_A =
  • 0x3A-40

0x41
VK_B =
0x42
VK_C =
0x43
VK_D =
0x44
VK_E =
0x45
VK_F =
0x46
VK_G =
0x47
VK_H =
0x48
VK_I =
0x49
VK_J =
0x4A
VK_K =
0x4B
VK_L =
0x4C
VK_M =
0x4D
VK_N =
0x4E
VK_O =
0x4F
VK_P =
0x50
VK_Q =
0x51
VK_R =
0x52
VK_S =
0x53
VK_T =
0x54
VK_U =
0x55
VK_V =
0x56
VK_W =
0x57
VK_X =
0x58
VK_Y =
0x59
VK_Z =
0x5A
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_EXTEND_BSLASH =
0xE2
VK_OEM_102 =
0xE2
VK_PROCESSKEY =
0xE5
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
VK_SEMICOLON =
0xBA
VK_EQUAL =
0xBB
VK_COMMA =
0xBC
VK_HYPHEN =
0xBD
VK_PERIOD =
0xBE
VK_SLASH =
0xBF
VK_BACKQUOTE =
0xC0
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_LBRACKET =
0xDB
VK_BACKSLASH =
0xDC
VK_RBRACKET =
0xDD
VK_APOSTROPHE =
0xDE
VK_OFF =
0xDF
VK_DBE_ALPHANUMERIC =
0x0f0
VK_DBE_KATAKANA =
0x0f1
VK_DBE_HIRAGANA =
0x0f2
VK_DBE_SBCSCHAR =
0x0f3
VK_DBE_DBCSCHAR =
0x0f4
VK_DBE_ROMAN =
0x0f5
VK_DBE_NOROMAN =
0x0f6
VK_DBE_ENTERWORDREGISTERMODE =
0x0f7
VK_DBE_ENTERIMECONFIGMODE =
0x0f8
VK_DBE_FLUSHSTRING =
0x0f9
VK_DBE_CODEINPUT =
0x0fa
VK_DBE_NOCODEINPUT =
0x0fb
VK_DBE_DETERMINESTRING =
0x0fc
VK_DBE_ENTERDLGCONVERSIONMODE =
0x0fd
SS_LEFT =
0x00000000
SS_CENTER =
0x00000001
SS_RIGHT =
0x00000002
SS_ICON =
0x00000003
SS_LEFTNOWORDWRAP =
0x0000000C
SS_BITMAP =
0x0000000E
SS_NOPREFIX =
0x00000080
SS_CENTERIMAGE =
0x00000200
SS_NOTIFY =
0x00000100
STM_SETIMAGE =
0x0172
STM_GETIMAGE =
0x0173
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_AUTORADIOBUTTON =
0x00000009
BS_OWNERDRAW =
0x0000000B
BS_LEFTTEXT =
0x00000020
BS_TEXT =
0x00000000
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
BM_GETCHECK =
0x00F0
BM_SETCHECK =
0x00F1
BM_GETSTATE =
0x00F2
BM_SETSTATE =
0x00F3
BM_SETSTYLE =
0x00F4
BM_CLICK =
0x00F5
BST_UNCHECKED =
0x0000
BST_CHECKED =
0x0001
BST_INDETERMINATE =
0x0002
BST_PUSHED =
0x0004
BST_FOCUS =
0x0008
ODA_DRAWENTIRE =
0x0001
ODA_SELECT =
0x0002
ODA_FOCUS =
0x0004
ODS_SELECTED =
0x0001
ODS_GRAYED =
0x0002
ODS_DISABLED =
0x0004
ODS_CHECKED =
0x0008
ODS_FOCUS =
0x0010
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_COMBOBOX =
0x0200
ES_OEMCONVERT =
0x0400
ES_READONLY =
0x0800
ES_WANTRETURN =
0x1000
ES_NUMBER =
0x2000
EN_SETFOCUS =
0x0100
EN_KILLFOCUS =
0x0200
EN_CHANGE =
0x0300
EN_UPDATE =
0x0400
EN_ERRSPACE =
0x0500
EN_MAXTEXT =
0x0501
EN_HSCROLL =
0x0601
EN_VSCROLL =
0x0602
EC_LEFTMARGIN =
0x0001
EC_RIGHTMARGIN =
0x0002
EC_USEFONTINFO =
0xffff
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_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_GETPASSWORDCHAR =
0x00D2
EM_SETMARGINS =
0x00D3
EM_GETMARGINS =
0x00D4
EM_GETLIMITTEXT =
0x00D5
EM_POSFROMCHAR =
0x00D6
EM_CHARFROMPOS =
0x00D7
EM_RESERVED0x00DD =
0x00DD
EM_RESERVED0x00DE =
0x00DE
EM_RESERVED0x00E0 =
0x00E0
EM_RESERVED0x00E1 =
0x00E1
SBM_SETSCROLLINFO =
0x00E9
SBM_GETSCROLLINFO =
0x00EA
SIF_RANGE =
0x0001
SIF_PAGE =
0x0002
SIF_POS =
0x0004
SIF_DISABLENOSCROLL =
0x0008
SIF_TRACKPOS =
0x0010
SBS_HORZ =
0x0000
SBS_VERT =
0x0001
MK_LBUTTON =
0x0001
MK_RBUTTON =
0x0002
MK_SHIFT =
0x0004
MK_CONTROL =
0x0008
MK_MBUTTON =
0x0010
DS_LOCALEDIT =
0x20
DS_SETFONT =
0x40
DS_MODALFRAME =
0x80
DS_SETFOREGROUND =
0x200
DS_3DLOOK =
0x0004
DS_CONTROL =
0x0400
DS_CENTER =
0x0800
DS_NOCLOSEBTN =
0x4000
DM_RESERVED0x2 =
(WM_USER+2)
DC_HASDEFID =
0x534B
DLGC_WANTARROWS =
0x0001
DLGC_WANTTAB =
0x0002
DLGC_WANTALLKEYS =
0x0004
DLGC_WANTMESSAGE =
0x0004
DLGC_HASSETSEL =
0x0008
DLGC_DEFPUSHBUTTON =
0x0010
DLGC_UNDEFPUSHBUTTON =
0x0020
DLGC_RADIOBUTTON =
0x0040
DLGC_WANTCHARS =
0x0080
DLGC_STATIC =
0x0100
DLGC_BUTTON =
0x2000
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_GETTOPINDEX =
0x018E
LB_FINDSTRING =
0x018F
LB_GETSELCOUNT =
0x0190
LB_GETSELITEMS =
0x0191
LB_SETTABSTOPS =
0x0192
LB_GETHORIZONTALEXTENT =
0x0193
LB_SETHORIZONTALEXTENT =
0x0194
LB_SETCOLUMNWIDTH =
0x0195
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_INITSTORAGE =
0x01A8
LB_ITEMFROMPOINT =
0x01A9
LB_RESERVED0x01C0 =
0x01C0
LB_RESERVED0x01C1 =
0x01C1
LB_MSGMAX =

LB_MSGMAX = 0x01C9

0x01A8
LBS_NOTIFY =
0x0001
LBS_SORT =
0x0002
LBS_NOREDRAW =
0x0004
LBS_MULTIPLESEL =
0x0008
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_EX_CONSTSTRINGDATA =
0x00000002
CBS_DROPDOWN =
0x0002
CBS_DROPDOWNLIST =
0x0003
CBS_AUTOHSCROLL =
0x0040
CBS_OEMCONVERT =
0x0080
CBS_SORT =
0x0100
CBS_HASSTRINGS =
0x0200
CBS_NOINTEGRALHEIGHT =
0x0400
CBS_DISABLENOSCROLL =
0x0800
CBS_UPPERCASE =
0x2000
CBS_LOWERCASE =
0x4000
CBS_EX_CONSTSTRINGDATA =
0x00000002
CB_GETEDITSEL =
0x0140
CB_LIMITTEXT =
0x0141
CB_SETEDITSEL =
0x0142
CB_ADDSTRING =
0x0143
CB_DELETESTRING =
0x0144
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_GETCOMBOBOXINFO =
0x0162
CB_MSGMAX =
0x0163
BDR_RAISEDOUTER =

CB_MSGMAX = 0x015B

0x0001
BDR_SUNKENOUTER =
0x0002
BDR_RAISEDINNER =
0x0004
BDR_SUNKENINNER =
0x0008
BDR_OUTER =
0x0003
BDR_INNER =
0x000C
BDR_RAISED =
0x0005
BDR_SUNKEN =
0x000A
BF_LEFT =
0x0001
BF_TOP =
0x0002
BF_RIGHT =
0x0004
BF_BOTTOM =
0x0008
BF_DIAGONAL =
0x0010
BF_MIDDLE =
0x0800
BF_SOFT =
0x1000
BF_ADJUST =
0x2000
BF_FLAT =
0x4000
BF_MONO =
0x8000
WM_HOTKEY =
0x0312
MOD_ALT =
0x0001
MOD_CONTROL =
0x0002
MOD_SHIFT =
0x0004
MOD_WIN =
0x0008
MOD_KEYUP =
0x1000
SPIF_UPDATEINIFILE =
0x0001
SPIF_SENDCHANGE =
0x0002
SPI_GETFONTSMOOTHINGCONTRAST =
0x200C
SPI_SETFONTSMOOTHINGCONTRAST =
0x200D
WM_CONTEXTMENU =
0x007B
WM_GETICON =
0x007F
WM_SETICON =
0x0080
DI_MASK =
0x0001
DI_IMAGE =
0x0002
DI_NORMAL =
0x0003
LR_DEFAULTCOLOR =
0x0000
MONITOR_DEFAULTTONULL =
0x00000000
MONITOR_DEFAULTTOPRIMARY =
0x00000001
MONITOR_DEFAULTTONEAREST =
0x00000002
MONITORINFOF_PRIMARY =
0x00000001
DISPLAY_DEVICE_ATTACHED_TO_DESKTOP =
0x00000001
DISPLAY_DEVICE_MULTI_DRIVER =
0x00000002
DISPLAY_DEVICE_PRIMARY_DEVICE =
0x00000004
DISPLAY_DEVICE_MIRRORING_DRIVER =
0x00000008
DISPLAY_DEVICE_VGA_COMPATIBLE =
0x00000010
DISPLAY_DEVICE_REMOVABLE =
0x00000020
DISPLAY_DEVICE_MODESPRUNED =
0x08000000
DISPLAY_DEVICE_REMOTE =
0x04000000
DISPLAY_DEVICE_DISCONNECT =
0x02000000
DISPLAY_DEVICE_ACTIVE =
0x00000001
DISPLAY_DEVICE_ATTACHED =
0x00000002
SETTINGCHANGE_START =
0x3001
SETTINGCHANGE_RESET =
0x3002
SETTINGCHANGE_END =
0x3003
CDS_TEST =
0x00000002
CDS_VIDEOPARAMETERS =
0x00000020
CDS_RESET =
0x40000000
GW_CHILD =

Others

0x05
TCM_FIRST =
0x1300
TCM_SETCURSEL =
TCM_FIRST + 12
TCM_SETCURFOCUS =
TCM_FIRST + 48
CCM_FIRST =

Common control shared messages

0x2000
CCM_LAST =
(CCM_FIRST + 0x200)
CCM_SETBKCOLOR =

lParam is bkColor

(CCM_FIRST + 1)
CCM_SETCOLORSCHEME =

lParam is color scheme

(CCM_FIRST + 2)
CCM_GETCOLORSCHEME =

fills in COLORSCHEME pointed to by lParam

(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 =

wParam == hwndParent.

(CCM_FIRST + 0x9)
CCM_SETWINDOWTHEME =
(CCM_FIRST + 0xb)
CCM_DPISCALE =

wParam == Awareness

(CCM_FIRST + 0xc)
LVM_FIRST =

ListView messages

0x1000
LVM_SETUNICODEFORMAT =
CCM_SETUNICODEFORMAT
LVM_GETUNICODEFORMAT =
CCM_GETUNICODEFORMAT
LVM_GETBKCOLOR =
(LVM_FIRST + 0)
LVM_SETBKCOLOR =
(LVM_FIRST + 1)
LVM_GETIMAGELIST =
(LVM_FIRST + 2)
LVM_SETIMAGELIST =
(LVM_FIRST + 3)
LVM_GETITEMCOUNT =
(LVM_FIRST + 4)
LVM_GETITEMA =
(LVM_FIRST + 5)
LVM_GETITEMW =
(LVM_FIRST + 75)
LVM_GETITEM =
LVM_GETITEMA
LVM_SETITEMA =
(LVM_FIRST + 6)
LVM_SETITEMW =
(LVM_FIRST + 76)
LVM_SETITEM =
LVM_SETITEMA
LVM_INSERTITEMA =
(LVM_FIRST + 7)
LVM_INSERTITEMW =
(LVM_FIRST + 77)
LVM_INSERTITEM =
LVM_INSERTITEMA
LVM_DELETEITEM =
(LVM_FIRST + 8)
LVM_DELETEALLITEMS =
(LVM_FIRST + 9)
LVM_GETCALLBACKMASK =
(LVM_FIRST + 10)
LVM_SETCALLBACKMASK =
(LVM_FIRST + 11)
LVM_GETNEXTITEM =
(LVM_FIRST + 12)
LVM_FINDITEMA =
(LVM_FIRST + 13)
LVM_FINDITEMW =
(LVM_FIRST + 83)
LVM_FINDITEM =
LVM_FINDITEMA
LVM_GETITEMRECT =
(LVM_FIRST + 14)
LVM_SETITEMPOSITION =
(LVM_FIRST + 15)
LVM_GETITEMPOSITION =
(LVM_FIRST + 16)
LVM_GETSTRINGWIDTHA =
(LVM_FIRST + 17)
LVM_GETSTRINGWIDTHW =
(LVM_FIRST + 87)
LVM_GETSTRINGWIDTH =
LVM_GETSTRINGWIDTHA
LVM_HITTEST =
(LVM_FIRST + 18)
LVM_ENSUREVISIBLE =
(LVM_FIRST + 19)
LVM_SCROLL =
(LVM_FIRST + 20)
LVM_REDRAWITEMS =
(LVM_FIRST + 21)
LVM_ARRANGE =
(LVM_FIRST + 22)
LVM_EDITLABELA =
(LVM_FIRST + 23)
LVM_EDITLABELW =
(LVM_FIRST + 118)
LVM_EDITLABEL =
LVM_EDITLABELA
LVM_GETEDITCONTROL =
(LVM_FIRST + 24)
LVM_GETCOLUMNA =
(LVM_FIRST + 25)
LVM_GETCOLUMNW =
(LVM_FIRST + 95)
LVM_GETCOLUMN =
LVM_GETCOLUMNA
LVM_SETCOLUMNA =
(LVM_FIRST + 26)
LVM_SETCOLUMNW =
(LVM_FIRST + 96)
LVM_SETCOLUMN =
LVM_SETCOLUMNW
LVM_INSERTCOLUMNA =
(LVM_FIRST + 27)
LVM_INSERTCOLUMNW =
(LVM_FIRST + 97)
LVM_DELETECOLUMN =
(LVM_FIRST + 28)
LVM_GETCOLUMNWIDTH =
(LVM_FIRST + 29)
LVM_SETCOLUMNWIDTH =
(LVM_FIRST + 30)
LVM_GETHEADER =
(LVM_FIRST + 31)
LVM_CREATEDRAGIMAGE =
(LVM_FIRST + 33)
LVM_GETVIEWRECT =
(LVM_FIRST + 34)
LVM_GETTEXTCOLOR =
(LVM_FIRST + 35)
LVM_SETTEXTCOLOR =
(LVM_FIRST + 36)
LVM_GETTEXTBKCOLOR =
(LVM_FIRST + 37)
LVM_SETTEXTBKCOLOR =
(LVM_FIRST + 38)
LVM_GETTOPINDEX =
(LVM_FIRST + 39)
LVM_GETCOUNTPERPAGE =
(LVM_FIRST + 40)
LVM_GETORIGIN =
(LVM_FIRST + 41)
LVM_UPDATE =
(LVM_FIRST + 42)
LVM_SETITEMSTATE =
(LVM_FIRST + 43)
LVM_GETITEMSTATE =
(LVM_FIRST + 44)
LVM_GETITEMTEXTA =
(LVM_FIRST + 45)
LVM_GETITEMTEXTW =
(LVM_FIRST + 115)
LVM_GETITEMTEXT =
LVM_GETITEMTEXTA
LVM_SETITEMTEXTA =
(LVM_FIRST + 46)
LVM_SETITEMTEXTW =
(LVM_FIRST + 116)
LVM_SETITEMTEXT =
LVM_SETITEMTEXTA
LVM_SETITEMCOUNT =
(LVM_FIRST + 47)
LVM_SORTITEMS =
(LVM_FIRST + 48)
LVM_SETITEMPOSITION32 =
(LVM_FIRST + 49)
LVM_GETSELECTEDCOUNT =
(LVM_FIRST + 50)
LVM_GETITEMSPACING =
(LVM_FIRST + 51)
LVM_GETISEARCHSTRINGA =
(LVM_FIRST + 52)
LVM_GETISEARCHSTRINGW =
(LVM_FIRST + 117)
LVM_GETISEARCHSTRING =
LVM_GETISEARCHSTRINGA
LVM_SETICONSPACING =
(LVM_FIRST + 53)
LVM_SETEXTENDEDLISTVIEWSTYLE =

optional wParam == mask

(LVM_FIRST + 54)
LVM_GETEXTENDEDLISTVIEWSTYLE =
(LVM_FIRST + 55)
LVM_GETSUBITEMRECT =
(LVM_FIRST + 56)
LVM_SUBITEMHITTEST =
(LVM_FIRST + 57)
LVM_SETCOLUMNORDERARRAY =
(LVM_FIRST + 58)
LVM_GETCOLUMNORDERARRAY =
(LVM_FIRST + 59)
LVM_SETHOTITEM =
(LVM_FIRST + 60)
LVM_GETHOTITEM =
(LVM_FIRST + 61)
LVM_SETHOTCURSOR =
(LVM_FIRST + 62)
LVM_GETHOTCURSOR =
(LVM_FIRST + 63)
LVM_APPROXIMATEVIEWRECT =
(LVM_FIRST + 64)
LVM_SETWORKAREAS =
(LVM_FIRST + 65)
LVM_GETWORKAREAS =
(LVM_FIRST + 70)
LVM_GETNUMBEROFWORKAREAS =
(LVM_FIRST + 73)
LVM_GETSELECTIONMARK =
(LVM_FIRST + 66)
LVM_SETSELECTIONMARK =
(LVM_FIRST + 67)
LVM_SETHOVERTIME =
(LVM_FIRST + 71)
LVM_GETHOVERTIME =
(LVM_FIRST + 72)
LVM_SETTOOLTIPS =
(LVM_FIRST + 74)
LVM_GETTOOLTIPS =
(LVM_FIRST + 78)
LVM_SORTITEMSEX =
(LVM_FIRST + 81)
LVM_SETBKIMAGEA =
(LVM_FIRST + 68)
LVM_SETBKIMAGEW =
(LVM_FIRST + 138)
LVM_GETBKIMAGEA =
(LVM_FIRST + 69)
LVM_GETBKIMAGEW =
(LVM_FIRST + 139)
LVM_SETSELECTEDCOLUMN =
(LVM_FIRST + 140)
LVM_SETTILEWIDTH =
(LVM_FIRST + 141)
LVM_SETVIEW =
(LVM_FIRST + 142)
LVM_GETVIEW =
(LVM_FIRST + 143)
LVM_INSERTGROUP =
(LVM_FIRST + 145)
LVM_SETGROUPINFO =
(LVM_FIRST + 147)
LVM_GETGROUPINFO =
(LVM_FIRST + 149)
LVM_REMOVEGROUP =
(LVM_FIRST + 150)
LVM_MOVEGROUP =
(LVM_FIRST + 151)
LVM_MOVEITEMTOGROUP =
(LVM_FIRST + 154)
LVM_SETGROUPMETRICS =
(LVM_FIRST + 155)
LVM_GETGROUPMETRICS =
(LVM_FIRST + 156)
LVM_ENABLEGROUPVIEW =
(LVM_FIRST + 157)
LVM_SORTGROUPS =
(LVM_FIRST + 158)
LVM_INSERTGROUPSORTED =
(LVM_FIRST + 159)
LVM_REMOVEALLGROUPS =
(LVM_FIRST + 160)
LVM_HASGROUP =
(LVM_FIRST + 161)
LVM_SETTILEVIEWINFO =
(LVM_FIRST + 162)
LVM_GETTILEVIEWINFO =
(LVM_FIRST + 163)
LVM_SETTILEINFO =
(LVM_FIRST + 164)
LVM_GETTILEINFO =
(LVM_FIRST + 165)
LVM_SETINSERTMARK =
(LVM_FIRST + 166)
LVM_GETINSERTMARK =
(LVM_FIRST + 167)
LVM_INSERTMARKHITTEST =
(LVM_FIRST + 168)
LVM_GETINSERTMARKRECT =
(LVM_FIRST + 169)
LVM_SETINSERTMARKCOLOR =
(LVM_FIRST + 170)
LVM_GETINSERTMARKCOLOR =
(LVM_FIRST + 171)
LVM_SETINFOTIP =
(LVM_FIRST + 173)
LVM_GETSELECTEDCOLUMN =
(LVM_FIRST + 174)
LVM_ISGROUPVIEWENABLED =
(LVM_FIRST + 175)
LVM_GETOUTLINECOLOR =
(LVM_FIRST + 176)
LVM_SETOUTLINECOLOR =
(LVM_FIRST + 177)
LVM_CANCELEDITLABEL =
(LVM_FIRST + 179)
LVM_MAPINDEXTOID =
(LVM_FIRST + 180)
LVM_MAPIDTOINDEX =
(LVM_FIRST + 181)
LVM_SETBKIMAGE =
LVM_SETBKIMAGEA
LVM_GETBKIMAGE =
LVM_GETBKIMAGEA
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 =

Scroll children within *lprcScroll.

0x0001
SW_INVALIDATE =

Invalidate after scrolling

0x0002
SW_ERASE =

If SW_INVALIDATE, don’t send WM_ERASEBACKGROUND

0x0004
SW_SMOOTHSCROLL =

Use smooth scrolling

0x0010

Instance Method Summary collapse

Instance Method Details

#kb_event(v_key, event, hw_scan_code = 0x0, extra_info = 0) ⇒ Object

Wrapper for keydb_event.

v_key

virtual key code from msdn.microsoft.com/en-us/library/ms645540(VS.85).aspx

event

type of event: KEYEVENTF_KEYDOWN or KEYEVENTF_KEYUP

hw_scan_code

not used

extra_info

not used

Return

none



84
85
86
87
88
# File 'lib/winapisys.rb', line 84

def kb_event(v_key, event, hw_scan_code = 0x0, extra_info = 0)
  kbe = user32 'keybd_event', %w{I I L L}, 'V'
  kbe.call v_key, hw_scan_code, event, extra_info
  sleep 0.05
end

#key_down(v_key, scan_code = 0x0) ⇒ Object

Simulates key down event



96
97
98
# File 'lib/winapisys.rb', line 96

def key_down(v_key, scan_code = 0x0)
  kb_event v_key, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYDOWN, scan_code
end

#key_press(v_key, scan_code = 0x0) ⇒ Object

Simulates key press and release



101
102
103
104
# File 'lib/winapisys.rb', line 101

def key_press(v_key, scan_code = 0x0)
  kb_event v_key, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYDOWN, scan_code
  kb_event v_key, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, scan_code
end

#key_up(v_key, scan_code = 0x0) ⇒ Object

Simulates key down event



91
92
93
# File 'lib/winapisys.rb', line 91

def key_up(v_key, scan_code = 0x0)
  kb_event v_key, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, scan_code
end

#keys_down(v_keys) ⇒ Object

Simulates a sequence of keys being pressed, but not released



107
108
109
110
# File 'lib/winapisys.rb', line 107

def keys_down(v_keys)
  raise if !v_keys.is_a?(Array)
  v_keys.each{|k| key_down k}
end

#keys_up(v_keys) ⇒ Object

Simulates a sequence of keys being released



113
114
115
116
# File 'lib/winapisys.rb', line 113

def keys_up(v_keys)
  raise if !v_keys.is_a?(Array)
  v_keys.each{|k| key_up k}
end

#mouse_clickObject

Simulates a mouse click by pressing and releasing the left mouse button



68
69
70
71
72
73
# File 'lib/winapisys.rb', line 68

def mouse_click
  me = user32 'mouse_event', 'LLLLL', 'V'

  me.call MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
  me.call MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
end

#post_message(hwnd, message, w_param, l_param) ⇒ Object

Wrapper for PostMessage.

hwnd

Handle to the window we’re sending the message to

message

message to send

w_param

message specific information

l_param

more message specific information



42
43
44
45
# File 'lib/winapisys.rb', line 42

def post_message(hwnd, message, w_param, l_param)
  pm = user32 'PostMessage', 'LLLL', 'L'
  pm.call hwnd, message, w_param, l_param
end

#send_message(hwnd, message, w_param, l_param) ⇒ Object

Wrapper for SendMessage.

hwnd

Handle to the window we’re sending the message to

message

message to send

w_param

message specific information

l_param

more message specific information



52
53
54
55
# File 'lib/winapisys.rb', line 52

def send_message(hwnd, message, w_param, l_param)
  pm = user32 'SendMessage', 'LLLP', 'L'
  pm.call hwnd, message, w_param, l_param
end

#set_cursor_pos(x, y) ⇒ Object

Wrapper for SetCursorPos.

x

x position

y

y position

Return

nonzero if successful or zero otherwise



61
62
63
64
65
# File 'lib/winapisys.rb', line 61

def set_cursor_pos(x, y)
  s = user32 'SetCursorPos', 'LL', 'I'

  s.call x, y
end

#user32(name, param_type, return_value) ⇒ Object

Wrap the API call to functions in ‘user32.dll’ so we don’t have to call API.new 'user32' ... repeatedly

name

Name of the Win32 function to be called

param_type

Array of parameter type hints

return_value

Type hint for the return value

Example: user32 'FindWindow', ['P', 'P'], 'L'

> calls the FindWindow function



33
34
35
# File 'lib/winapisys.rb', line 33

def user32(name, param_type, return_value)
  API.new name, param_type, return_value, 'user32'
end