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,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
|