win-ffi 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|