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,123 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/enums/user32/window_hook'
|
|
4
|
+
|
|
5
|
+
require 'win-ffi/structs/user32/msg'
|
|
6
|
+
|
|
7
|
+
module WinFFI
|
|
8
|
+
module User32
|
|
9
|
+
#BOOL WINAPI CallMsgFilter(
|
|
10
|
+
# _In_ LPMSG lpMsg,
|
|
11
|
+
# _In_ int nCode )
|
|
12
|
+
attach_function 'CallMsgFilterA', [MSG.ptr, :int], :bool
|
|
13
|
+
attach_function 'CallMsgFilterW', [MSG.ptr, :int], :bool
|
|
14
|
+
|
|
15
|
+
#LRESULT WINAPI CallNextHookEx(
|
|
16
|
+
# _In_opt_ HHOOK hhk,
|
|
17
|
+
# _In_ int nCode,
|
|
18
|
+
# _In_ WPARAM wParam,
|
|
19
|
+
# _In_ LPARAM lParam )
|
|
20
|
+
attach_function 'CallNextHookEx', [:pointer, :int, :wparam, :lparam], :lresult
|
|
21
|
+
|
|
22
|
+
#LRESULT CALLBACK CallWndProc(
|
|
23
|
+
# _In_ int nCode,
|
|
24
|
+
# _In_ WPARAM wParam,
|
|
25
|
+
# _In_ LPARAM lParam )
|
|
26
|
+
CallWndProc = callback :CallWndProc, [:int, :wparma, :lparam], :lresult
|
|
27
|
+
|
|
28
|
+
#LRESULT CALLBACK CallWndRetProc(
|
|
29
|
+
# _In_ int nCode,
|
|
30
|
+
# _In_ WPARAM wParam,
|
|
31
|
+
# _In_ LPARAM lParam )
|
|
32
|
+
CallWndRetProc = callback :CallWndRetProc, [:int, :wparma, :lparam], :lresult
|
|
33
|
+
|
|
34
|
+
#LRESULT CALLBACK CBTProc(
|
|
35
|
+
# _In_ int nCode,
|
|
36
|
+
# _In_ WPARAM wParam,
|
|
37
|
+
# _In_ LPARAM lParam )
|
|
38
|
+
CBTProc = callback :CBTProc, [:int, :wparma, :lparam], :lresult
|
|
39
|
+
|
|
40
|
+
#LRESULT CALLBACK DebugProc(
|
|
41
|
+
# _In_ int nCode,
|
|
42
|
+
# _In_ WPARAM wParam,
|
|
43
|
+
# _In_ LPARAM lParam )
|
|
44
|
+
DebugProc = callback :DebugProc, [:int, :wparma, :lparam], :lresult
|
|
45
|
+
|
|
46
|
+
#DWORD CALLBACK ForegroundIdleProc(
|
|
47
|
+
# _In_ int code,
|
|
48
|
+
# DWORD wParam,
|
|
49
|
+
# LONG lParam )
|
|
50
|
+
ForegroundIdleProc = callback :ForegroundIdleProc, [:int, :wparma, :lparam], :lresult
|
|
51
|
+
|
|
52
|
+
#LRESULT CALLBACK GetMsgProc(
|
|
53
|
+
# _In_ int code,
|
|
54
|
+
# _In_ WPARAM wParam,
|
|
55
|
+
# _In_ LPARAM lParam )
|
|
56
|
+
GetMsgProc = callback :GetMsgProc, [:int, :wparma, :lparam], :lresult
|
|
57
|
+
|
|
58
|
+
#LRESULT CALLBACK JournalPlaybackProc(
|
|
59
|
+
# _In_ int code,
|
|
60
|
+
# WPARAM wParam,
|
|
61
|
+
# _In_ LPARAM lParam )
|
|
62
|
+
JournalPlaybackProc = callback :JournalPlaybackProc, [:int, :wparma, :lparam], :lresult
|
|
63
|
+
|
|
64
|
+
#LRESULT CALLBACK JournalRecordProc(
|
|
65
|
+
# _In_ int code,
|
|
66
|
+
# WPARAM wParam,
|
|
67
|
+
# _In_ LPARAM lParam )
|
|
68
|
+
JournalRecordProc = callback :JournalRecordProc, [:int, :wparma, :lparam], :lresult
|
|
69
|
+
|
|
70
|
+
#LRESULT CALLBACK KeyboardProc(
|
|
71
|
+
# _In_ int code,
|
|
72
|
+
# _In_ WPARAM wParam,
|
|
73
|
+
# _In_ LPARAM lParam )
|
|
74
|
+
KeyboardProc = callback :KeyboardProc, [:int, :wparma, :lparam], :lresult
|
|
75
|
+
|
|
76
|
+
#LRESULT CALLBACK LowLevelKeyboardProc(
|
|
77
|
+
# _In_ int nCode,
|
|
78
|
+
# _In_ WPARAM wParam,
|
|
79
|
+
# _In_ LPARAM lParam )
|
|
80
|
+
LowLevelKeyboardProc = callback :LowLevelKeyboardProc, [:int, :wparma, :lparam], :lresult
|
|
81
|
+
|
|
82
|
+
#LRESULT CALLBACK LowLevelMouseProc(
|
|
83
|
+
# _In_ int nCode,
|
|
84
|
+
# _In_ WPARAM wParam,
|
|
85
|
+
# _In_ LPARAM lParam )
|
|
86
|
+
LowLevelMouseProc = callback :LowLevelMouseProc, [:int, :wparma, :lparam], :lresult
|
|
87
|
+
|
|
88
|
+
#LRESULT CALLBACK MessageProc(
|
|
89
|
+
# _In_ int code,
|
|
90
|
+
# WPARAM wParam,
|
|
91
|
+
# _In_ LPARAM lParam )
|
|
92
|
+
MessageProc = callback :MessageProc, [:int, :wparma, :lparam], :lresult
|
|
93
|
+
|
|
94
|
+
#LRESULT CALLBACK MouseProc(
|
|
95
|
+
# _In_ int nCode,
|
|
96
|
+
# _In_ WPARAM wParam,
|
|
97
|
+
# _In_ LPARAM lParam )
|
|
98
|
+
MouseProc = callback :MouseProc, [:int, :wparma, :lparam], :lresult
|
|
99
|
+
|
|
100
|
+
#HHOOK WINAPI SetWindowsHookEx(
|
|
101
|
+
# _In_ int idHook,
|
|
102
|
+
# _In_ HOOKPROC lpfn,
|
|
103
|
+
# _In_ HINSTANCE hMod,
|
|
104
|
+
# _In_ DWORD dwThreadId )
|
|
105
|
+
attach_function 'SetWindowsHookExA', [WindowHook, :pointer, :pointer, :dword], :pointer
|
|
106
|
+
attach_function 'SetWindowsHookExW', [WindowHook, :pointer, :pointer, :dword], :pointer
|
|
107
|
+
|
|
108
|
+
#LRESULT CALLBACK ShellProc(
|
|
109
|
+
# _In_ int nCode,
|
|
110
|
+
# _In_ WPARAM wParam,
|
|
111
|
+
# _In_ LPARAM lParam )
|
|
112
|
+
ShellProc = callback :ShellProc, [:int, :wparma, :lparam], :lresult
|
|
113
|
+
|
|
114
|
+
#LRESULT CALLBACK SysMsgProc(
|
|
115
|
+
# _In_ int nCode,
|
|
116
|
+
# WPARAM wParam,
|
|
117
|
+
# _In_ LPARAM lParam )
|
|
118
|
+
SysMsgProc = callback :SysMsgProc, [:int, :wparma, :lparam], :lresult
|
|
119
|
+
|
|
120
|
+
#BOOL WINAPI UnhookWindowsHookEx( _In_ HHOOK hhk )
|
|
121
|
+
attach_function 'UnhookWindowsHookEx', [:pointer], :bool
|
|
122
|
+
end
|
|
123
|
+
end
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/enums/lr'
|
|
4
|
+
|
|
5
|
+
require 'win-ffi/structs/user32/icon_info'
|
|
6
|
+
require 'win-ffi/structs/user32/icon_info_ex'
|
|
7
|
+
|
|
8
|
+
module WinFFI
|
|
9
|
+
module User32
|
|
10
|
+
#HICON WINAPI CopyIcon( _In_ HICON hIcon )
|
|
11
|
+
attach_function 'CopyIcon', [:hicon], :hicon
|
|
12
|
+
|
|
13
|
+
#HICON WINAPI CreateIcon(
|
|
14
|
+
# _In_opt_ HINSTANCE hInstance,
|
|
15
|
+
# _In_ int nWidth,
|
|
16
|
+
# _In_ int nHeight,
|
|
17
|
+
# _In_ BYTE cPlanes,
|
|
18
|
+
# _In_ BYTE cBitsPixel,
|
|
19
|
+
# _In_ const BYTE *lpbANDbits,
|
|
20
|
+
# _In_ const BYTE *lpbXORbits )
|
|
21
|
+
attach_function 'CreateIcon' , [:hinstance, :int, :int, :byte, :byte, :pointer, :pointer], :hicon
|
|
22
|
+
|
|
23
|
+
#HICON WINAPI CreateIconFromResource(
|
|
24
|
+
# _In_ PBYTE presbits,
|
|
25
|
+
# _In_ DWORD dwResSize,
|
|
26
|
+
# _In_ BOOL fIcon,
|
|
27
|
+
# _In_ DWORD dwVer )
|
|
28
|
+
attach_function 'CreateIconFromResource', [:pointer, :dword, :bool, :dword], :hicon
|
|
29
|
+
|
|
30
|
+
#HICON WINAPI CreateIconFromResourceEx(
|
|
31
|
+
# _In_ PBYTE pbIconBits,
|
|
32
|
+
# _In_ DWORD cbIconBits,
|
|
33
|
+
# _In_ BOOL fIcon,
|
|
34
|
+
# _In_ DWORD dwVersion,
|
|
35
|
+
# _In_ int cxDesired,
|
|
36
|
+
# _In_ int cyDesired,
|
|
37
|
+
# _In_ UINT uFlags )
|
|
38
|
+
attach_function 'CreateIconFromResourceEx', [:pointer, :dword, :bool, :dword, :int, :int, :uint], :hicon
|
|
39
|
+
|
|
40
|
+
#HICON WINAPI CreateIconIndirect( _In_ PICONINFO piconinfo )
|
|
41
|
+
attach_function 'CreateIconIndirect', [:pointer], :hicon
|
|
42
|
+
|
|
43
|
+
#BOOL WINAPI DrawIcon(
|
|
44
|
+
# _In_ HDC hDC,
|
|
45
|
+
# _In_ int X,
|
|
46
|
+
# _In_ int Y,
|
|
47
|
+
# _In_ HICON hIcon )
|
|
48
|
+
attach_function 'DrawIcon', [:hdc, :int, :int, :hicon], :bool
|
|
49
|
+
|
|
50
|
+
#BOOL WINAPI DestroyIcon( _In_ HICON hIcon )
|
|
51
|
+
attach_function 'DestroyIcon', [:hicon], :bool
|
|
52
|
+
|
|
53
|
+
#BOOL WINAPI DrawIconEx(
|
|
54
|
+
# _In_ HDC hdc,
|
|
55
|
+
# _In_ int xLeft,
|
|
56
|
+
# _In_ int yTop,
|
|
57
|
+
# _In_ HICON hIcon,
|
|
58
|
+
# _In_ int cxWidth,
|
|
59
|
+
# _In_ int cyWidth,
|
|
60
|
+
# _In_ UINT istepIfAniCur,
|
|
61
|
+
# _In_opt_ HBRUSH hbrFlickerFreeDraw,
|
|
62
|
+
# _In_ UINT diFlags )
|
|
63
|
+
attach_function 'DrawIconEx', [:hdc, :int, :int, :hicon, :int, :int, :uint, :hbrush, :uint], :bool
|
|
64
|
+
|
|
65
|
+
#BOOL WINAPI GetIconInfo(
|
|
66
|
+
# _In_ HICON hIcon,
|
|
67
|
+
# _Out_ PICONINFO piconinfo )
|
|
68
|
+
attach_function 'GetIconInfo', [:hicon, ICONINFO.ptr], :bool
|
|
69
|
+
|
|
70
|
+
if WindowsVersion >= :vista
|
|
71
|
+
|
|
72
|
+
#BOOL WINAPI GetIconInfoEx(
|
|
73
|
+
# _In_ HICON hIcon,
|
|
74
|
+
# _Inout_ PICONINFOEX piconinfoex )
|
|
75
|
+
attach_function 'GetIconInfoExA', [:hicon, ICONINFOEX.ptr], :bool
|
|
76
|
+
attach_function 'GetIconInfoExW', [:hicon, ICONINFOEX.ptr], :bool
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
#HICON LoadIcon(
|
|
80
|
+
# __in_opt HINSTANCE hInstance,
|
|
81
|
+
# __in LPCTSTR lpIconName)
|
|
82
|
+
attach_function 'LoadIconA', [:hinstance, :pointer], :hicon
|
|
83
|
+
attach_function 'LoadIconW', [:hinstance, :pointer], :hicon
|
|
84
|
+
|
|
85
|
+
#int WINAPI LookupIconIdFromDirectory(
|
|
86
|
+
# _In_ PBYTE presbits,
|
|
87
|
+
# _In_ BOOL fIcon )
|
|
88
|
+
attach_function 'LookupIconIdFromDirectory', [:pointer, :bool], :int
|
|
89
|
+
|
|
90
|
+
#int WINAPI LookupIconIdFromDirectoryEx(
|
|
91
|
+
# _In_ PBYTE presbits,
|
|
92
|
+
# _In_ BOOL fIcon,
|
|
93
|
+
# _In_ int cxDesired,
|
|
94
|
+
# _In_ int cyDesired,
|
|
95
|
+
# _In_ UINT Flags )
|
|
96
|
+
attach_function 'LookupIconIdFromDirectoryEx', [:pointer, :bool, :int, :int, LR], :int
|
|
97
|
+
end
|
|
98
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/enums/user32/feedback_type'
|
|
4
|
+
|
|
5
|
+
module WinFFI
|
|
6
|
+
module User32
|
|
7
|
+
#BOOL WINAPI GetWindowFeedbackSetting(
|
|
8
|
+
# _In_ HWND hwnd,
|
|
9
|
+
# _In_ FEEDBACK_TYPE feedback,
|
|
10
|
+
# _In_ DWORD dwFlags,
|
|
11
|
+
# _Inout_ UINT32 *pSize,
|
|
12
|
+
# _Out_opt_ VOID *config )
|
|
13
|
+
attach_function 'GetWindowFeedbackSetting', [:hwnd, FEEDBACK_TYPE, :dword, :pointer, :pointer], :bool
|
|
14
|
+
|
|
15
|
+
#BOOL WINAPI SetWindowFeedbackSetting(
|
|
16
|
+
# _In_ HWND hwnd,
|
|
17
|
+
# _In_ FEEDBACK_TYPE feedback,
|
|
18
|
+
# _In_ DWORD dwFlags,
|
|
19
|
+
# _In_ UINT32 size,
|
|
20
|
+
# _In_opt_ const VOID *configuration )
|
|
21
|
+
attach_function 'SetWindowFeedbackSetting', [:hwnd, FEEDBACK_TYPE, :dword, :uint32, :pointer], :bool
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/enums/user32/keyboard_layout_flags'
|
|
4
|
+
require 'win-ffi/enums/user32/virtual_key_flags'
|
|
5
|
+
require 'win-ffi/enums/user32/keyboard_modifiers'
|
|
6
|
+
require 'win-ffi/enums/user32/map_virtual_key'
|
|
7
|
+
require 'win-ffi/enums/user32/key_event_flags'
|
|
8
|
+
|
|
9
|
+
require 'win-ffi/structs/user32/last_input_info'
|
|
10
|
+
|
|
11
|
+
module WinFFI
|
|
12
|
+
module User32
|
|
13
|
+
#HKL WINAPI ActivateKeyboardLayout( _In_ HKL hkl, _In_ UINT Flags )
|
|
14
|
+
attach_function 'ActivateKeyboardLayout', [:hkl, KeyboardLayoutFlags], :hkl
|
|
15
|
+
|
|
16
|
+
#BOOL WINAPI BlockInput( _In_ BOOL fBlockIt )
|
|
17
|
+
attach_function 'BlockInput', [:bool], :bool
|
|
18
|
+
|
|
19
|
+
#BOOL WINAPI EnableWindow(
|
|
20
|
+
# __in HWND hWnd,
|
|
21
|
+
# __in BOOL bEnable)
|
|
22
|
+
attach_function 'EnableWindow', [:hwnd, :bool], :bool
|
|
23
|
+
|
|
24
|
+
#HWND WINAPI GetActiveWindow(void);
|
|
25
|
+
attach_function 'GetActiveWindow', [], :hwnd
|
|
26
|
+
|
|
27
|
+
#SHORT WINAPI GetAsyncKeyState#(_In_ int vKey)
|
|
28
|
+
attach_function 'GetAsyncKeyState', [VirtualKeyFlags], :short
|
|
29
|
+
|
|
30
|
+
#HWND WINAPI GetFocus(void)
|
|
31
|
+
attach_function 'GetFocus', [], :hwnd
|
|
32
|
+
|
|
33
|
+
#UINT WINAPI GetKBCodePage(void)
|
|
34
|
+
attach_function 'GetKBCodePage', [], :uint
|
|
35
|
+
|
|
36
|
+
#HKL WINAPI GetKeyboardLayout( _In_ DWORD idThread )
|
|
37
|
+
attach_function 'GetKeyboardLayout', [:dword], :hkl
|
|
38
|
+
|
|
39
|
+
#int WINAPI GetKeyboardLayoutList(
|
|
40
|
+
# _In_ int nBuff,
|
|
41
|
+
# _Out_ HKL *lpList )
|
|
42
|
+
attach_function 'GetKeyboardLayoutList', [:int, :hkl], :int
|
|
43
|
+
|
|
44
|
+
#BOOL WINAPI GetKeyboardLayoutName( _Out_ LPTSTR pwszKLID )
|
|
45
|
+
attach_function 'GetKeyboardLayoutNameA', [:string], :bool
|
|
46
|
+
attach_function 'GetKeyboardLayoutNameW', [:string], :bool
|
|
47
|
+
|
|
48
|
+
#BOOL WINAPI GetKeyboardState( _Out_ PBYTE lpKeyState )
|
|
49
|
+
attach_function 'GetKeyboardState', [:pointer], :bool
|
|
50
|
+
|
|
51
|
+
#int WINAPI GetKeyboardType( _In_ int nTypeFlag )
|
|
52
|
+
attach_function 'GetKeyboardType', [:int], :int
|
|
53
|
+
|
|
54
|
+
#int WINAPI GetKeyNameText(
|
|
55
|
+
# _In_ LONG lParam,
|
|
56
|
+
# _Out_ LPTSTR lpString,
|
|
57
|
+
# _In_ int cchSize )
|
|
58
|
+
attach_function 'GetKeyNameTextA', [:long, :string, :int], :int
|
|
59
|
+
attach_function 'GetKeyNameTextW', [:long, :string, :int], :int
|
|
60
|
+
|
|
61
|
+
#SHORT WINAPI GetKeyState()_In_ int nVirtKey)
|
|
62
|
+
attach_function 'GetKeyState', [VirtualKeyFlags], :short
|
|
63
|
+
|
|
64
|
+
#BOOL WINAPI GetLastInputInfo( _Out_ PLASTINPUTINFO plii )
|
|
65
|
+
attach_function 'GetLastInputInfo', [LASTINPUTINFO.ptr], :bool
|
|
66
|
+
|
|
67
|
+
#BOOL WINAPI IsWindowEnabled( _In_ HWND hWnd )
|
|
68
|
+
attach_function 'IsWindowEnabled', [:hwnd], :bool
|
|
69
|
+
|
|
70
|
+
#Use SendInput instead
|
|
71
|
+
#VOID WINAPI keybd_event(
|
|
72
|
+
# _In_ BYTE bVk,
|
|
73
|
+
# _In_ BYTE bScan,
|
|
74
|
+
# _In_ DWORD dwFlags,
|
|
75
|
+
# _In_ ULONG_PTR dwExtraInfo )
|
|
76
|
+
attach_function 'keybd_event', [VirtualKeyFlags, :byte, KeyEventFlags, :ulong], :void
|
|
77
|
+
|
|
78
|
+
#HKL WINAPI LoadKeyboardLayout(
|
|
79
|
+
# _In_ LPCTSTR pwszKLID,
|
|
80
|
+
# _In_ UINT Flags )
|
|
81
|
+
attach_function 'LoadKeyboardLayoutA', [:string, KeyboardLayoutFlags], :hkl
|
|
82
|
+
attach_function 'LoadKeyboardLayoutW', [:string, KeyboardLayoutFlags], :hkl
|
|
83
|
+
|
|
84
|
+
#UINT WINAPI MapVirtualKey(
|
|
85
|
+
# _In_ UINT uCode,
|
|
86
|
+
# _In_ UINT uMapType )
|
|
87
|
+
attach_function 'MapVirtualKeyA', [VirtualKeyFlags, MapVirtualKey], :uint
|
|
88
|
+
attach_function 'MapVirtualKeyW', [VirtualKeyFlags, MapVirtualKey], :uint
|
|
89
|
+
|
|
90
|
+
#UINT WINAPI MapVirtualKeyEx(
|
|
91
|
+
# _In_ UINT uCode,
|
|
92
|
+
# _In_ UINT uMapType,
|
|
93
|
+
# _Inout_opt_ HKL dwhkl )
|
|
94
|
+
attach_function 'MapVirtualKeyExA', [VirtualKeyFlags, MapVirtualKey, :hkl], :uint
|
|
95
|
+
attach_function 'MapVirtualKeyExW', [VirtualKeyFlags, MapVirtualKey, :hkl], :uint
|
|
96
|
+
|
|
97
|
+
#DWORD WINAPI OemKeyScan( _In_ WORD wOemChar )
|
|
98
|
+
attach_function 'OemKeyScan', [:word], :dword
|
|
99
|
+
|
|
100
|
+
#BOOL WINAPI RegisterHotKey(
|
|
101
|
+
# __in_opt HWND hWnd,
|
|
102
|
+
# __in int id,
|
|
103
|
+
# __in UINT fsModifiers,
|
|
104
|
+
# __in UINT vk)
|
|
105
|
+
attach_function 'RegisterHotKey', [:hwnd, :int, KeyboardModifiers, VirtualKeyFlags], :bool
|
|
106
|
+
|
|
107
|
+
#TODO
|
|
108
|
+
#UINT WINAPI SendInput(
|
|
109
|
+
# _In_ UINT nInputs,
|
|
110
|
+
# _In_ LPINPUT pInputs,
|
|
111
|
+
# _In_ int cbSize )
|
|
112
|
+
attach_function 'SendInput', [:uint, :pointer, :int], :uint
|
|
113
|
+
|
|
114
|
+
#HWND WINAPI SetActiveWindow( _In_ HWND hWnd )
|
|
115
|
+
attach_function 'SetActiveWindow', [:hwnd], :hwnd
|
|
116
|
+
|
|
117
|
+
#HWND WINAPI SetFocus( _In_opt_ HWND hWnd )
|
|
118
|
+
attach_function 'SetFocus', [:hwnd], :hwnd
|
|
119
|
+
|
|
120
|
+
#BOOL WINAPI SetKeyboardState( _In_ LPBYTE lpKeyState )
|
|
121
|
+
attach_function 'SetKeyboardState', [:pointer], :bool
|
|
122
|
+
|
|
123
|
+
#int WINAPI ToAscii(
|
|
124
|
+
# _In_ UINT uVirtKey,
|
|
125
|
+
# _In_ UINT uScanCode,
|
|
126
|
+
# _In_opt_ const BYTE *lpKeyState,
|
|
127
|
+
# _Out_ LPWORD lpChar,
|
|
128
|
+
# _In_ UINT uFlags )
|
|
129
|
+
attach_function 'ToAscii', [VirtualKeyFlags, :uint, :pointer, :pointer, :uint], :int
|
|
130
|
+
|
|
131
|
+
#int WINAPI ToAsciiEx(
|
|
132
|
+
# _In_ UINT uVirtKey,
|
|
133
|
+
# _In_ UINT uScanCode,
|
|
134
|
+
# _In_opt_ const BYTE *lpKeyState,
|
|
135
|
+
# _Out_ LPWORD lpChar,
|
|
136
|
+
# _In_ UINT uFlags,
|
|
137
|
+
# _In_opt_ HKL dwhkl )
|
|
138
|
+
attach_function 'ToAsciiEx', [VirtualKeyFlags, :uint, :pointer, :pointer, :uint, :hkl], :int
|
|
139
|
+
|
|
140
|
+
#int WINAPI ToUnicode(
|
|
141
|
+
# _In_ UINT wVirtKey,
|
|
142
|
+
# _In_ UINT wScanCode,
|
|
143
|
+
# _In_opt_ const BYTE *lpKeyState,
|
|
144
|
+
# _Out_ LPWSTR pwszBuff,
|
|
145
|
+
# _In_ int cchBuff,
|
|
146
|
+
# _In_ UINT wFlags )
|
|
147
|
+
attach_function 'ToUnicode', [VirtualKeyFlags, :uint, :pointer, :string, :int, :uint], :int
|
|
148
|
+
|
|
149
|
+
#int WINAPI ToUnicodeEx(
|
|
150
|
+
# _In_ UINT wVirtKey,
|
|
151
|
+
# _In_ UINT wScanCode,
|
|
152
|
+
# _In_ const BYTE *lpKeyState,
|
|
153
|
+
# _Out_ LPWSTR pwszBuff,
|
|
154
|
+
# _In_ int cchBuff,
|
|
155
|
+
# _In_ UINT wFlags,
|
|
156
|
+
# _In_opt_ HKL dwhkl )
|
|
157
|
+
attach_function 'ToUnicodeEx', [:uint, :uint, :pointer, :string, :int, :uint, :hkl], :int
|
|
158
|
+
|
|
159
|
+
#BOOL WINAPI UnloadKeyboardLayout( _In_ HKL hkl )
|
|
160
|
+
attach_function 'UnloadKeyboardLayout', [:hkl], :bool
|
|
161
|
+
|
|
162
|
+
#BOOL WINAPI UnregisterHotKey(
|
|
163
|
+
# __in_opt HWND hWnd,
|
|
164
|
+
# __in int id)
|
|
165
|
+
attach_function 'UnregisterHotKey', [:hwnd, :int], :bool
|
|
166
|
+
|
|
167
|
+
#SHORT WINAPI VkKeyScan( _In_ TCHAR ch )
|
|
168
|
+
attach_function 'VkKeyScanA', [:char], :short
|
|
169
|
+
attach_function 'VkKeyScanW', [:char], :short
|
|
170
|
+
|
|
171
|
+
#SHORT WINAPI VkKeyScanEx(
|
|
172
|
+
# _In_ TCHAR ch,
|
|
173
|
+
# _In_ HKL dwhkl )
|
|
174
|
+
attach_function 'VkKeyScanExA', [:char, :hkl], :short
|
|
175
|
+
attach_function 'VkKeyScanExW', [:char, :hkl], :short
|
|
176
|
+
end
|
|
177
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/structs/user32/msg'
|
|
4
|
+
|
|
5
|
+
module WinFFI
|
|
6
|
+
module User32
|
|
7
|
+
#int WINAPI CopyAcceleratorTable(
|
|
8
|
+
# _In_ HACCEL hAccelSrc,
|
|
9
|
+
# _Out_opt_ LPACCEL lpAccelDst,
|
|
10
|
+
# _In_ int cAccelEntries )
|
|
11
|
+
attach_function 'CopyAcceleratorTableA', [:haccel, :pointer, :int], :int
|
|
12
|
+
attach_function 'CopyAcceleratorTableW', [:haccel, :pointer, :int], :int
|
|
13
|
+
|
|
14
|
+
#HACCEL WINAPI CreateAcceleratorTable(
|
|
15
|
+
# _In_ LPACCEL lpaccl,
|
|
16
|
+
# _In_ int cEntries )
|
|
17
|
+
attach_function 'CreateAcceleratorTableA', [:haccel, :int], :pointer
|
|
18
|
+
attach_function 'CreateAcceleratorTableW', [:haccel, :int], :pointer
|
|
19
|
+
|
|
20
|
+
#BOOL WINAPI DestroyAcceleratorTable( _In_ HACCEL hAccel )
|
|
21
|
+
attach_function 'DestroyAcceleratorTable', [:haccel], :bool
|
|
22
|
+
|
|
23
|
+
#HACCEL WINAPI LoadAccelerators(
|
|
24
|
+
# _In_opt_ HINSTANCE hInstance,
|
|
25
|
+
# _In_ LPCTSTR lpTableName )
|
|
26
|
+
attach_function 'LoadAcceleratorsA', [:hinstance, :string], :haccel
|
|
27
|
+
attach_function 'LoadAcceleratorsW', [:hinstance, :string], :haccel
|
|
28
|
+
|
|
29
|
+
#int WINAPI TranslateAccelerator(
|
|
30
|
+
# _In_ HWND hWnd,
|
|
31
|
+
# _In_ HACCEL hAccTable,
|
|
32
|
+
# _In_ LPMSG lpMsg )
|
|
33
|
+
attach_function 'TranslateAccelerator', [:hwnd, :haccel, MSG.ptr], :int
|
|
34
|
+
attach_function 'TranslateAcceleratorA', [:hwnd, :haccel, MSG.ptr], :int
|
|
35
|
+
attach_function 'TranslateAcceleratorW', [:hwnd, :haccel, MSG.ptr], :int
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/enums/user32/mouse_keys_flags'
|
|
4
|
+
require 'win-ffi/enums/user32/mouse_event_flags'
|
|
5
|
+
|
|
6
|
+
require 'lib/win-ffi/structs/point'
|
|
7
|
+
require 'win-ffi/structs/user32/mouse_move_point'
|
|
8
|
+
require 'win-ffi/structs/user32/track_mouse_event'
|
|
9
|
+
|
|
10
|
+
module WinFFI
|
|
11
|
+
module User32
|
|
12
|
+
|
|
13
|
+
#BOOL WINAPI _TrackMouseEvent(
|
|
14
|
+
# _Inout_ LPTRACKMOUSEEVENT lpEventTrack )
|
|
15
|
+
#attach_function '_TrackMouseEvent', [TRACKMOUSEEVENT.ptr], :bool
|
|
16
|
+
|
|
17
|
+
#BOOL WINAPI DragDetect(
|
|
18
|
+
# _In_ HWND hwnd,
|
|
19
|
+
# _In_ POINT pt )
|
|
20
|
+
attach_function 'DragDetect', [:hwnd, POINT], :bool
|
|
21
|
+
|
|
22
|
+
#HWND WINAPI GetCapture(void)
|
|
23
|
+
attach_function 'GetCapture', [], :hwnd
|
|
24
|
+
|
|
25
|
+
#UINT WINAPI GetDoubleClickTime(void)
|
|
26
|
+
attach_function 'GetDoubleClickTime', [:void], :uint
|
|
27
|
+
|
|
28
|
+
#int WINAPI GetMouseMovePointsEx(
|
|
29
|
+
# _In_ UINT cbSize,
|
|
30
|
+
# _In_ LPMOUSEMOVEPOINT lppt,
|
|
31
|
+
# _Out_ LPMOUSEMOVEPOINT lpptBuf,
|
|
32
|
+
# _In_ int nBufPoints,
|
|
33
|
+
# _In_ DWORD resolution )
|
|
34
|
+
attach_function 'GetMouseMovePointsEx', [:uint, MOUSEMOVEPOINT.ptr, MOUSEMOVEPOINT.ptr, :int, :dword], :int
|
|
35
|
+
|
|
36
|
+
#VOID WINAPI mouse_event(
|
|
37
|
+
# _In_ DWORD dwFlags,
|
|
38
|
+
# _In_ DWORD dx,
|
|
39
|
+
# _In_ DWORD dy,
|
|
40
|
+
# _In_ DWORD dwData,
|
|
41
|
+
# _In_ ULONG_PTR dwExtraInfo )
|
|
42
|
+
attach_function 'mouse_event', [MouseEventFlags, :dword, :dword, :dword, :ulong], :void
|
|
43
|
+
|
|
44
|
+
#BOOL WINAPI ReleaseCapture(void)
|
|
45
|
+
attach_function 'ReleaseCapture', [], :bool
|
|
46
|
+
|
|
47
|
+
#HWND WINAPI SetCapture( _In_ HWND hWnd )
|
|
48
|
+
attach_function 'SetCapture', [:hwnd], :hwnd
|
|
49
|
+
|
|
50
|
+
#BOOL WINAPI SetDoubleClickTime( _In_ UINT uInterval )
|
|
51
|
+
attach_function 'SetDoubleClickTime', [:uint], :bool
|
|
52
|
+
|
|
53
|
+
#BOOL WINAPI SwapMouseButton( _In_ BOOL fSwap )
|
|
54
|
+
attach_function 'SwapMouseButton', [:bool], :bool
|
|
55
|
+
|
|
56
|
+
#BOOL WINAPI TrackMouseEvent( _Inout_ LPTRACKMOUSEEVENT lpEventTrack )
|
|
57
|
+
attach_function 'TrackMouseEvent', [TRACKMOUSEEVENT.ptr], :bool
|
|
58
|
+
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/structs/rect'
|
|
4
|
+
require 'win-ffi/structs/point'
|
|
5
|
+
|
|
6
|
+
module WinFFI
|
|
7
|
+
module User32
|
|
8
|
+
#BOOL EnumDisplayMonitors(
|
|
9
|
+
# _In_ HDC hdc,
|
|
10
|
+
# _In_ LPCRECT lprcClip,
|
|
11
|
+
# _In_ MONITORENUMPROC lpfnEnum,
|
|
12
|
+
# _In_ LPARAM dwData )
|
|
13
|
+
attach_function 'EnumDisplayMonitors', [:hdc, RECT.ptr, :pointer, :lparam], :bool
|
|
14
|
+
|
|
15
|
+
#BOOL GetMonitorInfo(
|
|
16
|
+
# _In_ HMONITOR hMonitor,
|
|
17
|
+
# _Out_ LPMONITORINFO lpmi)
|
|
18
|
+
attach_function 'GetMonitorInfoA', [:hmonitor, :pointer], :bool
|
|
19
|
+
attach_function 'GetMonitorInfoW', [:hmonitor, :pointer], :bool
|
|
20
|
+
|
|
21
|
+
#BOOL CALLBACK MonitorEnumProc(
|
|
22
|
+
# _In_ HMONITOR hMonitor,
|
|
23
|
+
# _In_ HDC hdcMonitor,
|
|
24
|
+
# _In_ LPRECT lprcMonitor,
|
|
25
|
+
# _In_ LPARAM dwData )
|
|
26
|
+
callback 'MonitorEnumProc', [:hmonitor, :hdc, RECT.ptr, :lparam], :bool
|
|
27
|
+
|
|
28
|
+
#HMONITOR MonitorFromPoint(
|
|
29
|
+
# _In_ POINT pt,
|
|
30
|
+
# _In_ DWORD dwFlags )
|
|
31
|
+
attach_function 'MonitorFromPoint', [POINT.ptr, :dword], :hmonitor
|
|
32
|
+
|
|
33
|
+
#HMONITOR MonitorFromRect(
|
|
34
|
+
# _In_ LPCRECT lprc,
|
|
35
|
+
# _In_ DWORD dwFlags )
|
|
36
|
+
attach_function 'MonitorFromRect', [RECT.ptr, :dword], :hmonitor
|
|
37
|
+
|
|
38
|
+
#HMONITOR MonitorFromWindow(
|
|
39
|
+
# _In_ HWND hwnd,
|
|
40
|
+
# _In_ DWORD dwFlags )
|
|
41
|
+
attach_function 'MonitorFromWindow', [:hwnd, :dword], :hmonitor
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/structs/user32/msg'
|
|
4
|
+
|
|
5
|
+
module WinFFI
|
|
6
|
+
module User32
|
|
7
|
+
#HWND WINAPI CreateMDIWindow(
|
|
8
|
+
# _In_ LPCTSTR lpClassName,
|
|
9
|
+
# _In_ LPCTSTR lpWindowName,
|
|
10
|
+
# _In_ DWORD dwStyle,
|
|
11
|
+
# _In_ int X,
|
|
12
|
+
# _In_ int Y,
|
|
13
|
+
# _In_ int nWidth,
|
|
14
|
+
# _In_ int nHeight,
|
|
15
|
+
# _In_opt_ HWND hWndParent,
|
|
16
|
+
# _In_opt_ HINSTANCE hInstance,
|
|
17
|
+
# _In_ LPARAM lParam )
|
|
18
|
+
attach_function 'CreateMDIWindowA', [:pointer, :pointer, :dword, :int, :int, :int, :int, :hwnd, :hinstance, :lparam], :hwnd
|
|
19
|
+
attach_function 'CreateMDIWindowW', [:pointer, :pointer, :dword, :int, :int, :int, :int, :hwnd, :hinstance, :lparam], :hwnd
|
|
20
|
+
|
|
21
|
+
#LRESULT WINAPI DefFrameProc(
|
|
22
|
+
# _In_ HWND hWnd,
|
|
23
|
+
# _In_ HWND hWndMDIClient,
|
|
24
|
+
# _In_ UINT uMsg,
|
|
25
|
+
# _In_ WPARAM wParam,
|
|
26
|
+
# _In_ LPARAM lParam )
|
|
27
|
+
attach_function 'DefFrameProcA', [:hwnd, :hwnd, :uint, :wparam, :lparam], :lresult
|
|
28
|
+
attach_function 'DefFrameProcW', [:hwnd, :hwnd, :uint, :wparam, :lparam], :lresult
|
|
29
|
+
|
|
30
|
+
#LRESULT WINAPI DefMDIChildProc(
|
|
31
|
+
# _In_ HWND hWnd,
|
|
32
|
+
# _In_ UINT uMsg,
|
|
33
|
+
# _In_ WPARAM wParam,
|
|
34
|
+
# _In_ LPARAM lParam )
|
|
35
|
+
attach_function 'DefMDIChildProcA', [:hwnd, :uint, :wparam, :lparam], :lresult
|
|
36
|
+
attach_function 'DefMDIChildProcW', [:hwnd, :uint, :wparam, :lparam], :lresult
|
|
37
|
+
|
|
38
|
+
#BOOL WINAPI TranslateMDISysAccel(
|
|
39
|
+
# _In_ HWND hWndClient,
|
|
40
|
+
# _In_ LPMSG lpMsg )
|
|
41
|
+
attach_function 'TranslateMDISysAccel', [:hwnd, MSG.ptr], :bool
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
end
|