win-ffi 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +36 -0
- data/lib/win-ffi/enums/color_types.rb +61 -0
- data/lib/win-ffi/enums/comctl32/init_common_controls.rb +32 -0
- data/lib/win-ffi/enums/comctl32/window/style/window_class_style.rb +7 -0
- data/lib/win-ffi/enums/comctl32.rb +5 -0
- data/lib/win-ffi/enums/comdlg32/find_replace.rb +28 -0
- data/lib/win-ffi/enums/comdlg32/font.rb +33 -0
- data/lib/win-ffi/enums/extended_name_format.rb +17 -0
- data/lib/win-ffi/enums/firmware_type.rb +12 -0
- data/lib/win-ffi/enums/gdi32/device_context.rb +29 -0
- data/lib/win-ffi/enums/gdi32/dib.rb +8 -0
- data/lib/win-ffi/enums/gdi32/hatch_styles.rb +15 -0
- data/lib/win-ffi/enums/gdi32/pfd_flags.rb +28 -0
- data/lib/win-ffi/enums/gdi32/pfd_layer_type.rb +7 -0
- data/lib/win-ffi/enums/gdi32/pfd_type.rb +7 -0
- data/lib/win-ffi/enums/gdi32/raster_operations.rb +22 -0
- data/lib/win-ffi/enums/gdi32.rb +90 -0
- data/lib/win-ffi/enums/kernel32/activation_context.rb +17 -0
- data/lib/win-ffi/enums/kernel32/computer_name_format.rb +19 -0
- data/lib/win-ffi/enums/kernel32/format_message_flags.rb +16 -0
- data/lib/win-ffi/enums/kernel32/get_module_handle_ex_flag.rb +7 -0
- data/lib/win-ffi/enums/kernel32/global_alloc_flags.rb +14 -0
- data/lib/win-ffi/enums/kernel32/handle.rb +9 -0
- data/lib/win-ffi/enums/kernel32/heap_flags.rb +14 -0
- data/lib/win-ffi/enums/kernel32/local_flags.rb +20 -0
- data/lib/win-ffi/enums/kernel32/memory.rb +12 -0
- data/lib/win-ffi/enums/kernel32/memory_flags.rb +22 -0
- data/lib/win-ffi/enums/kernel32/memory_protection_constants.rb +20 -0
- data/lib/win-ffi/enums/kernel32/set_error_mode_flags.rb +11 -0
- data/lib/win-ffi/enums/kernel32/sound_flags.rb +24 -0
- data/lib/win-ffi/enums/kernel32/volume.rb +13 -0
- data/lib/win-ffi/enums/kernel32.rb +5 -0
- data/lib/win-ffi/enums/lr.rb +48 -0
- data/lib/win-ffi/enums/netapi21/net_api_status.rb +25 -0
- data/lib/win-ffi/enums/netapi32.rb +5 -0
- data/lib/win-ffi/enums/system_info.rb +54 -0
- data/lib/win-ffi/enums/user32/append_menu_flags.rb +21 -0
- data/lib/win-ffi/enums/user32/border_flags.rb +29 -0
- data/lib/win-ffi/enums/user32/clipboard_formats.rb +31 -0
- data/lib/win-ffi/enums/user32/device_notify_flags.rb +17 -0
- data/lib/win-ffi/enums/user32/draw_caption_flags.rb +16 -0
- data/lib/win-ffi/enums/user32/draw_frame_control_flags.rb +15 -0
- data/lib/win-ffi/enums/user32/draw_frame_control_state_flags.rb +44 -0
- data/lib/win-ffi/enums/user32/edge_flags.rb +20 -0
- data/lib/win-ffi/enums/user32/feedback_type.rb +21 -0
- data/lib/win-ffi/enums/user32/get_ancestor_flags.rb +12 -0
- data/lib/win-ffi/enums/user32/icon.rb +19 -0
- data/lib/win-ffi/enums/user32/image.rb +12 -0
- data/lib/win-ffi/enums/user32/key_event_flags.rb +11 -0
- data/lib/win-ffi/enums/user32/keyboard_layout_flags.rb +57 -0
- data/lib/win-ffi/enums/user32/keyboard_modifiers.rb +16 -0
- data/lib/win-ffi/enums/user32/layered_window_attributes_flags.rb +12 -0
- data/lib/win-ffi/enums/user32/map_virtual_key.rb +22 -0
- data/lib/win-ffi/enums/user32/message_filter.rb +11 -0
- data/lib/win-ffi/enums/user32/mouse_event_flags.rb +25 -0
- data/lib/win-ffi/enums/user32/mouse_keys_flags.rb +16 -0
- data/lib/win-ffi/enums/user32/mwmo.rb +17 -0
- data/lib/win-ffi/enums/user32/ocr.rb +32 -0
- data/lib/win-ffi/enums/user32/oic.rb +26 -0
- data/lib/win-ffi/enums/user32/pen_flags.rb +12 -0
- data/lib/win-ffi/enums/user32/pen_mask.rb +14 -0
- data/lib/win-ffi/enums/user32/pointer_flags.rb +82 -0
- data/lib/win-ffi/enums/user32/pointer_input_type.rb +13 -0
- data/lib/win-ffi/enums/user32/process_dpi_awareness.rb +12 -0
- data/lib/win-ffi/enums/user32/queue_status_flags.rb +36 -0
- data/lib/win-ffi/enums/user32/rim.rb +12 -0
- data/lib/win-ffi/enums/user32/touch_injection_flags.rb +13 -0
- data/lib/win-ffi/enums/user32/touch_mask.rb +13 -0
- data/lib/win-ffi/enums/user32/user_object_information_flags.rb +22 -0
- data/lib/win-ffi/enums/user32/virtual_key_flags.rb +214 -0
- data/lib/win-ffi/enums/user32/window/animate_window_flags.rb +31 -0
- data/lib/win-ffi/enums/user32/window/broadcast_system_flags.rb +20 -0
- data/lib/win-ffi/enums/user32/window/broadcast_system_message_flags.rb +12 -0
- data/lib/win-ffi/enums/user32/window/combo_box_message.rb +53 -0
- data/lib/win-ffi/enums/user32/window/get_class_long_flags.rb +34 -0
- data/lib/win-ffi/enums/user32/window/get_window_flags.rb +38 -0
- data/lib/win-ffi/enums/user32/window/get_window_long_flags.rb +16 -0
- data/lib/win-ffi/enums/user32/window/menu_flags.rb +54 -0
- data/lib/win-ffi/enums/user32/window/message_box_flags.rb +90 -0
- data/lib/win-ffi/enums/user32/window/message_box_return.rb +18 -0
- data/lib/win-ffi/enums/user32/window/notification/button_notification.rb +20 -0
- data/lib/win-ffi/enums/user32/window/notification/edit_notification.rb +19 -0
- data/lib/win-ffi/enums/user32/window/notification/static_notification.rb +13 -0
- data/lib/win-ffi/enums/user32/window/peek_message_flags.rb +13 -0
- data/lib/win-ffi/enums/user32/window/set_window_pos_flags.rb +48 -0
- data/lib/win-ffi/enums/user32/window/show_window_flags.rb +41 -0
- data/lib/win-ffi/enums/user32/window/smto.rb +22 -0
- data/lib/win-ffi/enums/user32/window/style/button_control_style.rb +37 -0
- data/lib/win-ffi/enums/user32/window/style/combo_box_style.rb +22 -0
- data/lib/win-ffi/enums/user32/window/style/edit_style.rb +23 -0
- data/lib/win-ffi/enums/user32/window/style/static_style.rb +45 -0
- data/lib/win-ffi/enums/user32/window/style/window_class_style.rb +50 -0
- data/lib/win-ffi/enums/user32/window/style/window_style.rb +85 -0
- data/lib/win-ffi/enums/user32/window/style/window_style_ex.rb +98 -0
- data/lib/win-ffi/enums/user32/window/system_menu_command.rb +37 -0
- data/lib/win-ffi/enums/user32/window/system_metrics_flags.rb +300 -0
- data/lib/win-ffi/enums/user32/window/system_parameters_info_action.rb +225 -0
- data/lib/win-ffi/enums/user32/window/system_parameters_info_flags.rb +246 -0
- data/lib/win-ffi/enums/user32/window/track_popup_menu_flags.rb +70 -0
- data/lib/win-ffi/enums/user32/window/window_long.rb +22 -0
- data/lib/win-ffi/enums/user32/window/window_messages.rb +222 -0
- data/lib/win-ffi/enums/user32/window_hook.rb +56 -0
- data/lib/win-ffi/enums/user32.rb +5 -0
- data/lib/win-ffi/functions/advapi32/process.rb +33 -0
- data/lib/win-ffi/functions/advapi32/system_info.rb +17 -0
- data/lib/win-ffi/functions/comctl32/control.rb +11 -0
- data/lib/win-ffi/functions/comctl32/listbox.rb +20 -0
- data/lib/win-ffi/functions/comctl32.rb +7 -0
- data/lib/win-ffi/functions/comdlg32/color.rb +9 -0
- data/lib/win-ffi/functions/comdlg32/error.rb +6 -0
- data/lib/win-ffi/functions/comdlg32/find_replace.rb +9 -0
- data/lib/win-ffi/functions/comdlg32/font.rb +9 -0
- data/lib/win-ffi/functions/comdlg32.rb +7 -0
- data/lib/win-ffi/functions/gdi32/bitmap.rb +275 -0
- data/lib/win-ffi/functions/gdi32/brush.rb +54 -0
- data/lib/win-ffi/functions/gdi32/device_context.rb +126 -0
- data/lib/win-ffi/functions/gdi32/filled_shape.rb +68 -0
- data/lib/win-ffi/functions/gdi32/font.rb +9 -0
- data/lib/win-ffi/functions/gdi32/metafile.rb +173 -0
- data/lib/win-ffi/functions/gdi32/opengl.rb +29 -0
- data/lib/win-ffi/functions/gdi32/painting_drawing.rb +50 -0
- data/lib/win-ffi/functions/gdi32/text.rb +376 -0
- data/lib/win-ffi/functions/gdi32.rb +7 -0
- data/lib/win-ffi/functions/kernel32/activation.rb +22 -0
- data/lib/win-ffi/functions/kernel32/dll.rb +92 -0
- data/lib/win-ffi/functions/kernel32/error.rb +28 -0
- data/lib/win-ffi/functions/kernel32/filesystem.rb +22 -0
- data/lib/win-ffi/functions/kernel32/handle.rb +29 -0
- data/lib/win-ffi/functions/kernel32/memory.rb +478 -0
- data/lib/win-ffi/functions/kernel32/process.rb +359 -0
- data/lib/win-ffi/functions/kernel32/resource.rb +141 -0
- data/lib/win-ffi/functions/kernel32/sound.rb +10 -0
- data/lib/win-ffi/functions/kernel32/string.rb +38 -0
- data/lib/win-ffi/functions/kernel32/system_info.rb +183 -0
- data/lib/win-ffi/functions/kernel32/time.rb +220 -0
- data/lib/win-ffi/functions/kernel32/volume.rb +130 -0
- data/lib/win-ffi/functions/kernel32.rb +15 -0
- data/lib/win-ffi/functions/msimg32/bitmap.rb +46 -0
- data/lib/win-ffi/functions/msvcrt/handle.rb +13 -0
- data/lib/win-ffi/functions/netapi32/network_management.rb +13 -0
- data/lib/win-ffi/functions/netapi32.rb +7 -0
- data/lib/win-ffi/functions/ntdll/system_info.rb +14 -0
- data/lib/win-ffi/functions/secur32/system_info.rb +30 -0
- data/lib/win-ffi/functions/shell32/icon.rb +49 -0
- data/lib/win-ffi/functions/shutdown.rb +84 -0
- data/lib/win-ffi/functions/thread.rb +230 -0
- data/lib/win-ffi/functions/user32/accessibility.rb +23 -0
- data/lib/win-ffi/functions/user32/authorization.rb +19 -0
- data/lib/win-ffi/functions/user32/bitmap.rb +11 -0
- data/lib/win-ffi/functions/user32/brush.rb +10 -0
- data/lib/win-ffi/functions/user32/caret.rb +36 -0
- data/lib/win-ffi/functions/user32/clipboard.rb +84 -0
- data/lib/win-ffi/functions/user32/controls/button.rb +23 -0
- data/lib/win-ffi/functions/user32/controls/combobox.rb +29 -0
- data/lib/win-ffi/functions/user32/controls/listbox.rb +25 -0
- data/lib/win-ffi/functions/user32/controls/scrollbar.rb +95 -0
- data/lib/win-ffi/functions/user32/cursor.rb +74 -0
- data/lib/win-ffi/functions/user32/dde.rb +214 -0
- data/lib/win-ffi/functions/user32/desktop.rb +76 -0
- data/lib/win-ffi/functions/user32/device.rb +17 -0
- data/lib/win-ffi/functions/user32/device_context.rb +62 -0
- data/lib/win-ffi/functions/user32/display.rb +37 -0
- data/lib/win-ffi/functions/user32/error.rb +10 -0
- data/lib/win-ffi/functions/user32/filled_shape.rb +23 -0
- data/lib/win-ffi/functions/user32/gesture.rb +38 -0
- data/lib/win-ffi/functions/user32/hook.rb +123 -0
- data/lib/win-ffi/functions/user32/icon.rb +98 -0
- data/lib/win-ffi/functions/user32/input.rb +23 -0
- data/lib/win-ffi/functions/user32/keyboard.rb +177 -0
- data/lib/win-ffi/functions/user32/keyboard_accelerators.rb +37 -0
- data/lib/win-ffi/functions/user32/mouse.rb +60 -0
- data/lib/win-ffi/functions/user32/multiple_display_monitors.rb +43 -0
- data/lib/win-ffi/functions/user32/multiple_document_interface.rb +44 -0
- data/lib/win-ffi/functions/user32/painting_drawing.rb +173 -0
- data/lib/win-ffi/functions/user32/pointer.rb +154 -0
- data/lib/win-ffi/functions/user32/power.rb +28 -0
- data/lib/win-ffi/functions/user32/print.rb +14 -0
- data/lib/win-ffi/functions/user32/process.rb +30 -0
- data/lib/win-ffi/functions/user32/raw_input.rb +55 -0
- data/lib/win-ffi/functions/user32/rect.rb +67 -0
- data/lib/win-ffi/functions/user32/resource.rb +28 -0
- data/lib/win-ffi/functions/user32/shell.rb +29 -0
- data/lib/win-ffi/functions/user32/string.rb +98 -0
- data/lib/win-ffi/functions/user32/text.rb +48 -0
- data/lib/win-ffi/functions/user32/touch.rb +69 -0
- data/lib/win-ffi/functions/user32/transform.rb +22 -0
- data/lib/win-ffi/functions/user32/window/configuration.rb +15 -0
- data/lib/win-ffi/functions/user32/window/dialog.rb +167 -0
- data/lib/win-ffi/functions/user32/window/menu.rb +245 -0
- data/lib/win-ffi/functions/user32/window/message.rb +168 -0
- data/lib/win-ffi/functions/user32/window/properties.rb +50 -0
- data/lib/win-ffi/functions/user32/window/timer.rb +37 -0
- data/lib/win-ffi/functions/user32/window/window.rb +546 -0
- data/lib/win-ffi/functions/user32/window/window_class.rb +109 -0
- data/lib/win-ffi/functions/user32/window/window_proc.rb +29 -0
- data/lib/win-ffi/functions/user32/window_station.rb +39 -0
- data/lib/win-ffi/functions/user32.rb +161 -0
- data/lib/win-ffi/functions/winmm.rb +547 -0
- data/lib/win-ffi/functions/wtsapi32/process.rb +12 -0
- data/lib/win-ffi/lib_base.rb +54 -0
- data/lib/win-ffi/struct.rb +15 -0
- data/lib/win-ffi/structs/comctl32/init_common_controls_ex.rb +10 -0
- data/lib/win-ffi/structs/comdlg32/choose_color.rb +23 -0
- data/lib/win-ffi/structs/comdlg32/choose_font.rb +28 -0
- data/lib/win-ffi/structs/comdlg32/find_replace.rb +24 -0
- data/lib/win-ffi/structs/gdi32/abc.rb +9 -0
- data/lib/win-ffi/structs/gdi32/abcfloat.rb +10 -0
- data/lib/win-ffi/structs/gdi32/bitmap.rb +13 -0
- data/lib/win-ffi/structs/gdi32/bitmap_info.rb +11 -0
- data/lib/win-ffi/structs/gdi32/bitmap_info_header.rb +17 -0
- data/lib/win-ffi/structs/gdi32/blend_function.rb +10 -0
- data/lib/win-ffi/structs/gdi32/display_device.rb +12 -0
- data/lib/win-ffi/structs/gdi32/handle_table.rb +7 -0
- data/lib/win-ffi/structs/gdi32/kerning_pair.rb +9 -0
- data/lib/win-ffi/structs/gdi32/log_brush.rb +10 -0
- data/lib/win-ffi/structs/gdi32/log_font.rb +20 -0
- data/lib/win-ffi/structs/gdi32/meta_file_pict.rb +10 -0
- data/lib/win-ffi/structs/gdi32/palette_entry.rb +10 -0
- data/lib/win-ffi/structs/gdi32/pixel_format_descriptor.rb +57 -0
- data/lib/win-ffi/structs/gdi32/rgb_quad.rb +10 -0
- data/lib/win-ffi/structs/kernel32/actctx.rb +22 -0
- data/lib/win-ffi/structs/netapi32/wksta_info_100.rb +9 -0
- data/lib/win-ffi/structs/os_version_info.rb +10 -0
- data/lib/win-ffi/structs/os_version_info_ex.rb +70 -0
- data/lib/win-ffi/structs/paint_struct.rb +12 -0
- data/lib/win-ffi/structs/point.rb +10 -0
- data/lib/win-ffi/structs/rect.rb +28 -0
- data/lib/win-ffi/structs/size.rb +6 -0
- data/lib/win-ffi/structs/user32/controls/combobox_info.rb +13 -0
- data/lib/win-ffi/structs/user32/controls/scroll_info.rb +13 -0
- data/lib/win-ffi/structs/user32/controls/scrollbar_info.rb +13 -0
- data/lib/win-ffi/structs/user32/cursor_info.rb +10 -0
- data/lib/win-ffi/structs/user32/display_device.rb +12 -0
- data/lib/win-ffi/structs/user32/draw_text_params.rb +11 -0
- data/lib/win-ffi/structs/user32/icon_info.rb +11 -0
- data/lib/win-ffi/structs/user32/icon_info_ex.rb +15 -0
- data/lib/win-ffi/structs/user32/last_input_info.rb +8 -0
- data/lib/win-ffi/structs/user32/mouse_move_point.rb +10 -0
- data/lib/win-ffi/structs/user32/msg.rb +16 -0
- data/lib/win-ffi/structs/user32/pointer_info.rb +25 -0
- data/lib/win-ffi/structs/user32/pointer_pen_info.rb +18 -0
- data/lib/win-ffi/structs/user32/pointer_touch_info.rb +17 -0
- data/lib/win-ffi/structs/user32/raw_input_device_list.rb +10 -0
- data/lib/win-ffi/structs/user32/raw_input_header.rb +10 -0
- data/lib/win-ffi/structs/user32/touch_hit_testing_input.rb +11 -0
- data/lib/win-ffi/structs/user32/touch_hit_testing_proximity_evaluation.rb +8 -0
- data/lib/win-ffi/structs/user32/track_mouse_event.rb +10 -0
- data/lib/win-ffi/structs/user32/window/alt_tab_info.rb +17 -0
- data/lib/win-ffi/structs/user32/window/bs_info.rb +12 -0
- data/lib/win-ffi/structs/user32/window/create_struct.rb +22 -0
- data/lib/win-ffi/structs/user32/window/dlg_template.rb +13 -0
- data/lib/win-ffi/structs/user32/window/flashw_info.rb +11 -0
- data/lib/win-ffi/structs/user32/window/gui_thread_info.rb +17 -0
- data/lib/win-ffi/structs/user32/window/luid.rb +8 -0
- data/lib/win-ffi/structs/user32/window/menu_info.rb +13 -0
- data/lib/win-ffi/structs/user32/window/menu_item_info.rb +18 -0
- data/lib/win-ffi/structs/user32/window/menu_item_template.rb +9 -0
- data/lib/win-ffi/structs/user32/window/menubar_info.rb +12 -0
- data/lib/win-ffi/structs/user32/window/msgbox_params.rb +16 -0
- data/lib/win-ffi/structs/user32/window/non_client_metrics.rb +29 -0
- data/lib/win-ffi/structs/user32/window/title_bar_info.rb +9 -0
- data/lib/win-ffi/structs/user32/window/tpm_params.rb +8 -0
- data/lib/win-ffi/structs/user32/window/update_layered_window_info.rb +22 -0
- data/lib/win-ffi/structs/user32/window/window_placement.rb +32 -0
- data/lib/win-ffi/structs/user32/window/window_pos.rb +46 -0
- data/lib/win-ffi/structs/user32/window/wndclass.rb +19 -0
- data/lib/win-ffi/structs/user32/window/wndclassex.rb +40 -0
- data/lib/win-ffi/version.rb +3 -0
- data/lib/win-ffi.rb +42 -0
- metadata +363 -0
@@ -0,0 +1,222 @@
|
|
1
|
+
require 'win-ffi/enums/user32'
|
2
|
+
|
3
|
+
module WinFFI
|
4
|
+
module User32
|
5
|
+
messages = [
|
6
|
+
:WM_NULL, 0x0000,
|
7
|
+
:WM_CREATE, 0x0001,
|
8
|
+
:WM_DESTROY, 0x0002,
|
9
|
+
:WM_MOVE, 0x0003,
|
10
|
+
:WM_SIZE, 0x0005,
|
11
|
+
:WM_ACTIVATE, 0x0006,
|
12
|
+
:WM_SETFOCUS, 0x0007,
|
13
|
+
:WM_KILLFOCUS, 0x0008,
|
14
|
+
:WM_ENABLE, 0x000A,
|
15
|
+
:WM_SETREDRAW, 0x000B,
|
16
|
+
:WM_SETTEXT, 0x000C,
|
17
|
+
:WM_GETTEXT, 0x000D,
|
18
|
+
:WM_GETTEXTLENGTH, 0x000E,
|
19
|
+
:WM_PAINT, 0x000F,
|
20
|
+
:WM_CLOSE, 0x0010,
|
21
|
+
:WM_QUERYENDSESSION, 0x0011,
|
22
|
+
:WM_QUIT, 0x0012,
|
23
|
+
:WM_QUERYOPEN, 0x0013,
|
24
|
+
:WM_ERASEBKGND, 0x0014,
|
25
|
+
:WM_SYSCOLORCHANGE, 0x0015,
|
26
|
+
:WM_ENDSESSION, 0x0016,
|
27
|
+
:WM_SYSTEMERROR, 0x0017,
|
28
|
+
:WM_SHOWWINDOW, 0x0018,
|
29
|
+
:WM_CTLCOLOR, 0x0019,
|
30
|
+
:WM_SETTINGCHANGE, 0x001A,
|
31
|
+
:WM_DEVMODECHANGE, 0x001B,
|
32
|
+
:WM_ACTIVATEAPP, 0x001C,
|
33
|
+
:WM_FONTCHANGE, 0x001D,
|
34
|
+
:WM_TIMECHANGE, 0x001E,
|
35
|
+
:WM_CANCELMODE, 0x001F,
|
36
|
+
:WM_SETCURSOR, 0x0020,
|
37
|
+
:WM_MOUSEACTIVATE, 0x0021,
|
38
|
+
:WM_CHILDACTIVATE, 0x0022,
|
39
|
+
:WM_QUEUESYNC, 0x0023,
|
40
|
+
:WM_GETMINMAXINFO, 0x0024,
|
41
|
+
:WM_PAINTICON, 0x0026,
|
42
|
+
:WM_ICONERASEBKGND, 0x0027,
|
43
|
+
:WM_NEXTDLGCTL, 0x0028,
|
44
|
+
:WM_SPOOLERSTATUS, 0x002A,
|
45
|
+
:WM_DRAWITEM, 0x002B,
|
46
|
+
:WM_MEASUREITEM, 0x002C,
|
47
|
+
:WM_DELETEITEM, 0x002D,
|
48
|
+
:WM_VKEYTOITEM, 0x002E,
|
49
|
+
:WM_CHARTOITEM, 0x002F,
|
50
|
+
:WM_SETFONT, 0x0030,
|
51
|
+
:WM_GETFONT, 0x0031,
|
52
|
+
:WM_SETHOTKEY, 0x0032,
|
53
|
+
:WM_GETHOTKEY, 0x0033,
|
54
|
+
:WM_QUERYDRAGICON, 0x0037,
|
55
|
+
:WM_COMPAREITEM, 0x0039,
|
56
|
+
:WM_COMPACTING, 0x0041,
|
57
|
+
:WM_WINDOWPOSCHANGING, 0x0046,
|
58
|
+
:WM_WINDOWPOSCHANGED, 0x0047,
|
59
|
+
:WM_POWER, 0x0048,
|
60
|
+
:WM_COPYDATA, 0x004A,
|
61
|
+
:WM_CANCELJOURNAL, 0x004B,
|
62
|
+
:WM_NOTIFY, 0x004E,
|
63
|
+
:WM_INPUTLANGCHANGEREQUEST, 0x0050,
|
64
|
+
:WM_INPUTLANGCHANGE, 0x0051,
|
65
|
+
:WM_TCARD, 0x0052,
|
66
|
+
:WM_HELP, 0x0053,
|
67
|
+
:WM_USERCHANGED, 0x0054,
|
68
|
+
:WM_NOTIFYFORMAT, 0x0055,
|
69
|
+
:WM_CONTEXTMENU, 0x007B,
|
70
|
+
:WM_STYLECHANGING, 0x007C,
|
71
|
+
:WM_STYLECHANGED, 0x007D,
|
72
|
+
:WM_DISPLAYCHANGE, 0x007E,
|
73
|
+
:WM_GETICON, 0x007F,
|
74
|
+
:WM_SETICON, 0x0080,
|
75
|
+
:WM_NCCREATE, 0x0081,
|
76
|
+
:WM_NCDESTROY, 0x0082,
|
77
|
+
:WM_NCCALCSIZE, 0x0083,
|
78
|
+
:WM_NCHITTEST, 0x0084,
|
79
|
+
:WM_NCPAINT, 0x0085,
|
80
|
+
:WM_NCACTIVATE, 0x0086,
|
81
|
+
:WM_GETDLGCODE, 0x0087,
|
82
|
+
:WM_NCMOUSEMOVE, 0x00A0,
|
83
|
+
:WM_NCLBUTTONDOWN, 0x00A1,
|
84
|
+
:WM_NCLBUTTONUP, 0x00A2,
|
85
|
+
:WM_NCLBUTTONDBLCLK, 0x00A3,
|
86
|
+
:WM_NCRBUTTONDOWN, 0x00A4,
|
87
|
+
:WM_NCRBUTTONUP, 0x00A5,
|
88
|
+
:WM_NCRBUTTONDBLCLK, 0x00A6,
|
89
|
+
:WM_NCMBUTTONDOWN, 0x00A7,
|
90
|
+
:WM_NCMBUTTONUP, 0x00A8,
|
91
|
+
:WM_NCMBUTTONDBLCLK, 0x00A9,
|
92
|
+
:WM_NCUAHDRAWCAPTION, 0x00AE,
|
93
|
+
:WM_NCUAHDRAWFRAME, 0x00AF,
|
94
|
+
:WM_KEYDOWN, 0x0100,
|
95
|
+
:WM_KEYUP, 0x0101,
|
96
|
+
:WM_CHAR, 0x0102,
|
97
|
+
:WM_DEADCHAR, 0x0103,
|
98
|
+
:WM_SYSKEYDOWN, 0x0104,
|
99
|
+
:WM_SYSKEYUP, 0x0105,
|
100
|
+
:WM_SYSCHAR, 0x0106,
|
101
|
+
:WM_SYSDEADCHAR, 0x0107,
|
102
|
+
:WM_IME_STARTCOMPOSITION, 0x010D,
|
103
|
+
:WM_IME_ENDCOMPOSITION, 0x010E,
|
104
|
+
:WM_IME_COMPOSITION, 0x010F,
|
105
|
+
:WM_INITDIALOG, 0x0110,
|
106
|
+
:WM_COMMAND, 0x0111,
|
107
|
+
:WM_SYSCOMMAND, 0x0112,
|
108
|
+
:WM_TIMER, 0x0113,
|
109
|
+
:WM_HSCROLL, 0x0114,
|
110
|
+
:WM_VSCROLL, 0x0115,
|
111
|
+
:WM_INITMENU, 0x0116,
|
112
|
+
:WM_INITMENUPOPUP, 0x0117,
|
113
|
+
:WM_MENUSELECT, 0x011F,
|
114
|
+
:WM_MENUCHAR, 0x0120,
|
115
|
+
:WM_ENTERIDLE, 0x0121,
|
116
|
+
:WM_MENURBUTTONUP, 0x0122,
|
117
|
+
:WM_MENUDRAG, 0x0123,
|
118
|
+
:WM_MENUGETOBJECT, 0x0124,
|
119
|
+
:WM_UNINITMENUPOPUP, 0x0125,
|
120
|
+
:WM_CHANGEUISTATE, 0x0127,
|
121
|
+
:WM_UPDATEUISTATE, 0x0128,
|
122
|
+
:WM_QUERYUISTATE, 0x0129,
|
123
|
+
:WM_CTLCOLORMSGBOX, 0x0132,
|
124
|
+
:WM_CTLCOLOREDIT, 0x0133,
|
125
|
+
:WM_CTLCOLORLISTBOX, 0x0134,
|
126
|
+
:WM_CTLCOLORBTN, 0x0135,
|
127
|
+
:WM_CTLCOLORDLG, 0x0136,
|
128
|
+
:WM_CTLCOLORSCROLLBAR, 0x0137,
|
129
|
+
:WM_CTLCOLORSTATIC, 0x0138,
|
130
|
+
:WM_MOUSEMOVE, 0x0200,
|
131
|
+
:WM_LBUTTONDOWN, 0x0201,
|
132
|
+
:WM_LBUTTONUP, 0x0202,
|
133
|
+
:WM_LBUTTONDBLCLK, 0x0203,
|
134
|
+
:WM_RBUTTONDOWN, 0x0204,
|
135
|
+
:WM_RBUTTONUP, 0x0205,
|
136
|
+
:WM_RBUTTONDBLCLK, 0x0206,
|
137
|
+
:WM_MBUTTONDOWN, 0x0207,
|
138
|
+
:WM_MBUTTONUP, 0x0208,
|
139
|
+
:WM_MBUTTONDBLCLK, 0x0209,
|
140
|
+
:WM_MOUSEWHEEL, 0x020A,
|
141
|
+
:WM_MOUSEHWHEEL, 0x020E,
|
142
|
+
:WM_PARENTNOTIFY, 0x0210,
|
143
|
+
:WM_ENTERMENULOOP, 0x0211,
|
144
|
+
:WM_EXITMENULOOP, 0x0212,
|
145
|
+
:WM_NEXTMENU, 0x0213,
|
146
|
+
:WM_SIZING, 0x0214,
|
147
|
+
:WM_CAPTURECHANGED, 0x0215,
|
148
|
+
:WM_MOVING, 0x0216,
|
149
|
+
:WM_POWERBROADCAST, 0x0218,
|
150
|
+
:WM_DEVICECHANGE, 0x0219,
|
151
|
+
:WM_MDICREATE, 0x0220,
|
152
|
+
:WM_MDIDESTROY, 0x0221,
|
153
|
+
:WM_MDIACTIVATE, 0x0222,
|
154
|
+
:WM_MDIRESTORE, 0x0223,
|
155
|
+
:WM_MDINEXT, 0x0224,
|
156
|
+
:WM_MDIMAXIMIZE, 0x0225,
|
157
|
+
:WM_MDITILE, 0x0226,
|
158
|
+
:WM_MDICASCADE, 0x0227,
|
159
|
+
:WM_MDIICONARRANGE, 0x0228,
|
160
|
+
:WM_MDIGETACTIVE, 0x0229,
|
161
|
+
:WM_MDISETMENU, 0x0230,
|
162
|
+
:WM_ENTERSIZEMOVE, 0x0231,
|
163
|
+
:WM_EXITSIZEMOVE, 0x0232,
|
164
|
+
:WM_DROPFILES, 0x0233,
|
165
|
+
:WM_MDIREFRESHMENU, 0x0234,
|
166
|
+
:WM_IME_SETCONTEXT, 0x0281,
|
167
|
+
:WM_IME_NOTIFY, 0x0282,
|
168
|
+
:WM_IME_CONTROL, 0x0283,
|
169
|
+
:WM_IME_COMPOSITIONFULL, 0x0284,
|
170
|
+
:WM_IME_SELECT, 0x0285,
|
171
|
+
:WM_IME_CHAR, 0x0286,
|
172
|
+
:WM_IME_KEYDOWN, 0x0290,
|
173
|
+
:WM_IME_KEYUP, 0x0291,
|
174
|
+
|
175
|
+
:WM_MOUSEHOVER, 0x02A1,
|
176
|
+
:WM_NCMOUSELEAVE, 0x02A2,
|
177
|
+
:WM_MOUSELEAVE, 0x02A3,
|
178
|
+
:WM_CUT, 0x0300,
|
179
|
+
:WM_COPY, 0x0301,
|
180
|
+
:WM_PASTE, 0x0302,
|
181
|
+
:WM_CLEAR, 0x0303,
|
182
|
+
:WM_UNDO, 0x0304,
|
183
|
+
:WM_RENDERFORMAT, 0x0305,
|
184
|
+
:WM_RENDERALLFORMATS, 0x0306,
|
185
|
+
:WM_DESTROYCLIPBOARD, 0x0307,
|
186
|
+
:WM_DRAWCLIPBOARD, 0x0308,
|
187
|
+
:WM_PAINTCLIPBOARD, 0x0309,
|
188
|
+
:WM_VSCROLLCLIPBOARD, 0x030A,
|
189
|
+
:WM_SIZECLIPBOARD, 0x030B,
|
190
|
+
:WM_ASKCBFORMATNAME, 0x030C,
|
191
|
+
:WM_CHANGECBCHAIN, 0x030D,
|
192
|
+
:WM_HSCROLLCLIPBOARD, 0x030E,
|
193
|
+
:WM_QUERYNEWPALETTE, 0x030F,
|
194
|
+
:WM_PALETTEISCHANGING, 0x0310,
|
195
|
+
:WM_PALETTECHANGED, 0x0311,
|
196
|
+
:WM_HOTKEY, 0x0312,
|
197
|
+
:WM_PRINT, 0x0317,
|
198
|
+
:WM_PRINTCLIENT, 0x0318,
|
199
|
+
:WM_HANDHELDFIRST, 0x0358,
|
200
|
+
:WM_HANDHELDLAST, 0x035F,
|
201
|
+
:WM_PENWINFIRST, 0x0380,
|
202
|
+
:WM_PENWINLAST, 0x038F,
|
203
|
+
:WM_COALESCE_FIRST, 0x0390,
|
204
|
+
:WM_COALESCE_LAST, 0x039F,
|
205
|
+
:WM_DDE_INITIATE, 0x03E0,
|
206
|
+
:WM_DDE_TERMINATE, 0x03E1,
|
207
|
+
:WM_DDE_ADVISE, 0x03E2,
|
208
|
+
:WM_DDE_UNADVISE, 0x03E3,
|
209
|
+
:WM_DDE_ACK, 0x03E4,
|
210
|
+
:WM_DDE_DATA, 0x03E5,
|
211
|
+
:WM_DDE_REQUEST, 0x03E6,
|
212
|
+
:WM_DDE_POKE, 0x03E7,
|
213
|
+
:WM_DDE_EXECUTE, 0x03E8,
|
214
|
+
:WM_USER, 0x0400,
|
215
|
+
:EM_GETBIDIOPTIONS, 0x04C9,
|
216
|
+
:WM_APP, 0x8000,
|
217
|
+
]
|
218
|
+
messages += `ver`[/\d.\d/].to_f >= 5.1 ? [:WM_KEYLAST, 0x0109] : [:WM_KEYLAST, 0x0109]
|
219
|
+
WindowMessages = enum :window_messages, messages
|
220
|
+
|
221
|
+
end
|
222
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'win-ffi/enums/user32'
|
2
|
+
|
3
|
+
module WinFFI
|
4
|
+
module User32
|
5
|
+
WindowHook = enum :window_hook,
|
6
|
+
[
|
7
|
+
:MSGFILTER, -1, # Installs a hook procedure that monitors messages generated as a result of an input event in a
|
8
|
+
# dialog box, message box, menu, or scroll bar. For more information, see the MessageProc hook procedure.
|
9
|
+
|
10
|
+
:JOURNALRECORD, 0, # Installs a hook procedure that records input messages posted to the system message queue.
|
11
|
+
# This hook is useful for recording macros. For more information, see the JournalRecordProc hook procedure.
|
12
|
+
|
13
|
+
:JOURNALPLAYBACK, 1, # Installs a hook procedure that posts messages previously recorded by a :JOURNALRECORD
|
14
|
+
# hook procedure. For more information, see the JournalPlaybackProc hook procedure.
|
15
|
+
|
16
|
+
:KEYBOARD, 2, # Installs a hook procedure that monitors keystroke messages. For more information, see the
|
17
|
+
# KeyboardProc hook procedure.
|
18
|
+
|
19
|
+
:GETMESSAGE, 3, # Installs a hook procedure that monitors messages posted to a message queue. For more
|
20
|
+
# information, see the GetMsgProc hook procedure.
|
21
|
+
|
22
|
+
:CALLWNDPROC, 4, # Installs a hook procedure that monitors messages before the system sends them to the
|
23
|
+
# destination window procedure. For more information, see the CallWndProc hook procedure.
|
24
|
+
|
25
|
+
:CBT, 5, # Installs a hook procedure that receives notifications useful to a CBT application. For more
|
26
|
+
# information, see the CBTProc hook procedure.
|
27
|
+
|
28
|
+
:SYSMSGFILTER, 6, # Installs a hook procedure that monitors messages generated as a result of an input event in
|
29
|
+
# a dialog box, message box, menu, or scroll bar. The hook procedure monitors these messages for all
|
30
|
+
# applications in the same desktop as the calling thread. For more information, see the SysMsgProc hook
|
31
|
+
# procedure.
|
32
|
+
|
33
|
+
:MOUSE, 7, # Installs a hook procedure that monitors mouse messages. For more information, see the MouseProc
|
34
|
+
# hook procedure.
|
35
|
+
|
36
|
+
:DEBUG, 9, # Installs a hook procedure useful for debugging other hook procedures. For more information, see the
|
37
|
+
# DebugProc hook procedure.
|
38
|
+
|
39
|
+
:SHELL, 10, # Installs a hook procedure that receives notifications useful to shell applications. For more
|
40
|
+
# information, see the ShellProc hook procedure.
|
41
|
+
|
42
|
+
:FOREGROUNDIDLE, 11, # Installs a hook procedure that will be called when the application's foreground thread is
|
43
|
+
# about to become idle. This hook is useful for performing low priority tasks during idle time. For more
|
44
|
+
# information, see the ForegroundIdleProc hook procedure.
|
45
|
+
|
46
|
+
:CALLWNDPROCRET, 12, # Installs a hook procedure that monitors messages after they have been processed by the
|
47
|
+
# destination window procedure. For more information, see the CallWndRetProc hook procedure.
|
48
|
+
|
49
|
+
:KEYBOARD_LL, 13, # Installs a hook procedure that monitors low-level keyboard input events. For more
|
50
|
+
# information, see the LowLevelKeyboardProc hook procedure.
|
51
|
+
|
52
|
+
:MOUSE_LL, 14, # Installs a hook procedure that monitors low-level mouse input events. For more information, see
|
53
|
+
# the LowLevelMouseProc hook procedure.
|
54
|
+
]
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module WinFFI
|
2
|
+
module Advapi32
|
3
|
+
#BOOL WINAPI CreateProcessAsUser(
|
4
|
+
# _In_opt_ HANDLE hToken,
|
5
|
+
# _In_opt_ LPCTSTR lpApplicationName,
|
6
|
+
# _Inout_opt_ LPTSTR lpCommandLine,
|
7
|
+
# _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,
|
8
|
+
# _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
|
9
|
+
# _In_ BOOL bInheritHandles,
|
10
|
+
# _In_ DWORD dwCreationFlags,
|
11
|
+
# _In_opt_ LPVOID lpEnvironment,
|
12
|
+
# _In_opt_ LPCTSTR lpCurrentDirectory,
|
13
|
+
# _In_ LPSTARTUPINFO lpStartupInfo,
|
14
|
+
# _Out_ LPPROCESS_INFORMATION lpProcessInformation )
|
15
|
+
attach_function 'CreateProcessAsUserA', [:handle, :string, :string, :pointer, :pointer, :bool, :dword, :pointer, :string, :pointer, :pointer], :bool
|
16
|
+
attach_function 'CreateProcessAsUserW', [:handle, :string, :string, :pointer, :pointer, :bool, :dword, :pointer, :string, :pointer, :pointer], :bool
|
17
|
+
|
18
|
+
#TODO
|
19
|
+
#BOOL WINAPI CreateProcessWithLogonW(
|
20
|
+
# _In_ LPCWSTR lpUsername,
|
21
|
+
# _In_opt_ LPCWSTR lpDomain,
|
22
|
+
# _In_ LPCWSTR lpPassword,
|
23
|
+
# _In_ DWORD dwLogonFlags,
|
24
|
+
# _In_opt_ LPCWSTR lpApplicationName,
|
25
|
+
# _Inout_opt_ LPWSTR lpCommandLine,
|
26
|
+
# _In_ DWORD dwCreationFlags,
|
27
|
+
# _In_opt_ LPVOID lpEnvironment,
|
28
|
+
# _In_opt_ LPCWSTR lpCurrentDirectory,
|
29
|
+
# _In_ LPSTARTUPINFOW lpStartupInfo,
|
30
|
+
# _Out_ LPPROCESS_INFORMATION lpProcessInfo )
|
31
|
+
attach_function 'CreateProcessWithLogonW', [:string, :string, :string, :dword, :string, :pointer, :dword, :pointer, :string, :pointer, :pointer], :bool
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module WinFFI
|
2
|
+
module Advapi32
|
3
|
+
extend LibBase
|
4
|
+
|
5
|
+
ffi_lib 'advapi32'
|
6
|
+
|
7
|
+
#BOOL WINAPI GetCurrentHwProfile( _Out_ LPHW_PROFILE_INFO lpHwProfileInfo )
|
8
|
+
attach_function 'GetCurrentHwProfileA', [:pointer], :bool
|
9
|
+
attach_function 'GetCurrentHwProfileW', [:pointer], :bool
|
10
|
+
|
11
|
+
#BOOL WINAPI GetUserName(
|
12
|
+
# _Out_ LPTSTR lpBuffer,
|
13
|
+
# _Inout_ LPDWORD lpnSize )
|
14
|
+
attach_function 'GetUserNameA', [:pointer, :pointer], :bool
|
15
|
+
attach_function 'GetUserNameW', [:pointer, :pointer], :bool
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'win-ffi/functions/comctl32'
|
2
|
+
require 'win-ffi/structs/comctl32/init_common_controls_ex'
|
3
|
+
|
4
|
+
module WinFFI
|
5
|
+
module Comctl32
|
6
|
+
if WindowsVersion >= :vista
|
7
|
+
# BOOL InitCommonControlsEx( _In_ const LPINITCOMMONCONTROLSEX lpInitCtrls)
|
8
|
+
attach_function 'InitCommonControlsEx', [INITCOMMONCONTROLSEX.ptr], :bool
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'win-ffi/functions/comctl32'
|
2
|
+
|
3
|
+
module WinFFI
|
4
|
+
module Comctl32
|
5
|
+
#void DrawInsert(
|
6
|
+
# HWND handParent,
|
7
|
+
# HWND hLB,
|
8
|
+
# int nItem )
|
9
|
+
attach_function 'DrawInsert', [:hwnd, :hwnd, :int], :void
|
10
|
+
|
11
|
+
#int LBItemFromPt(
|
12
|
+
# HWND hLB,
|
13
|
+
# POINT pt,
|
14
|
+
# BOOL bAutoScroll )
|
15
|
+
attach_function 'LBItemFromPt', [:hwnd, POINT, :bool], :int
|
16
|
+
|
17
|
+
#BOOL MakeDragList( HWND hLB )
|
18
|
+
attach_function 'MakeDragList', [:hwnd], :bool
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
require 'win-ffi/structs/comdlg32/choose_color'
|
2
|
+
|
3
|
+
module WinFFI
|
4
|
+
module Comdlg32
|
5
|
+
#BOOL WINAPI ChooseColor( _Inout_ LPCHOOSECOLOR lpcc )
|
6
|
+
attach_function 'ChooseColorA', [CHOOSECOLOR.ptr], :bool
|
7
|
+
attach_function 'ChooseColorW', [CHOOSECOLOR.ptr], :bool
|
8
|
+
end
|
9
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
module WinFFI
|
2
|
+
module Comdlg32
|
3
|
+
#HWND WINAPI FindText( _In_ LPFINDREPLACE lpfr )
|
4
|
+
attach_function 'FindText', :FindTextA, [:pointer], :pointer
|
5
|
+
|
6
|
+
#HWND WINAPI ReplaceText( _Inout_ LPFINDREPLACE lpfr )
|
7
|
+
attach_function 'ReplaceText', :ReplaceTextA, [:pointer], :pointer
|
8
|
+
end
|
9
|
+
end
|