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,39 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
module WinFFI
|
|
4
|
+
module User32
|
|
5
|
+
#BOOL WINAPI CloseWindowStation( _In_ HWINSTA hWinSta )
|
|
6
|
+
attach_function 'CloseWindowStation', [:hwinsta], :bool
|
|
7
|
+
|
|
8
|
+
#HWINSTA WINAPI CreateWindowStation(
|
|
9
|
+
# _In_opt_ LPCTSTR lpwinsta,
|
|
10
|
+
# DWORD dwFlags,
|
|
11
|
+
# _In_ ACCESS_MASK dwDesiredAccess,
|
|
12
|
+
# _In_opt_ LPSECURITY_ATTRIBUTES lpsa )
|
|
13
|
+
attach_function 'CreateWindowStationA', [:string, :dword, :int, :pointer], :hwinsta
|
|
14
|
+
attach_function 'CreateWindowStationW', [:string, :dword, :int, :pointer], :hwinsta
|
|
15
|
+
|
|
16
|
+
#BOOL WINAPI EnumWindowStations(
|
|
17
|
+
# _In_ WINSTAENUMPROC lpEnumFunc,
|
|
18
|
+
# _In_ LPARAM lParam )
|
|
19
|
+
#attach_function 'EnumWindowStations', [:pointer, :lparam], :bool
|
|
20
|
+
|
|
21
|
+
#HWINSTA WINAPI GetProcessWindowStation(void)
|
|
22
|
+
attach_function 'GetProcessWindowStation', [], :hwinsta
|
|
23
|
+
|
|
24
|
+
#BOOL CALLBACK EnumDesktopProc(
|
|
25
|
+
# _In_ LPTSTR lpszWindowStation,
|
|
26
|
+
# _In_ LPARAM lParam )
|
|
27
|
+
callback 'EnumDesktopProc', [:string, :lparam], :bool
|
|
28
|
+
|
|
29
|
+
#HWINSTA WINAPI OpenWindowStation(
|
|
30
|
+
# _In_ LPTSTR lpszWinSta,
|
|
31
|
+
# _In_ BOOL fInherit,
|
|
32
|
+
# _In_ ACCESS_MASK dwDesiredAccess )
|
|
33
|
+
attach_function 'OpenWindowStationA', [:string, :bool, :pointer], :hwinsta
|
|
34
|
+
attach_function 'OpenWindowStationW', [:string, :bool, :pointer], :hwinsta
|
|
35
|
+
|
|
36
|
+
#BOOL WINAPI SetProcessWindowStation( _In_ HWINSTA hWinSta )
|
|
37
|
+
attach_function 'SetProcessWindowStation', [:hwinsta], :bool
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
module WinFFI
|
|
2
|
+
module User32
|
|
3
|
+
extend LibBase
|
|
4
|
+
|
|
5
|
+
ffi_lib 'user32'
|
|
6
|
+
|
|
7
|
+
# if WinFFI::WindowsVersion >= :xp
|
|
8
|
+
# require_relative 'user32/raw_input'
|
|
9
|
+
#
|
|
10
|
+
# #VOID WINAPI DisableProcessWindowsGhosting(void)
|
|
11
|
+
# attach_function 'DisableProcessWindowsGhosting', [], :void
|
|
12
|
+
#
|
|
13
|
+
# if WinFFI::WindowsVersion >= :vista
|
|
14
|
+
# require_relative 'user32/display'
|
|
15
|
+
# if WinFFI::WindowsVersion >= 7
|
|
16
|
+
# %i'gesture touch'.each { |f| require_relative "user32/#{f}" }
|
|
17
|
+
# if WinFFI::WindowsVersion >= 8
|
|
18
|
+
# %i'
|
|
19
|
+
# accessibility
|
|
20
|
+
# input
|
|
21
|
+
# pointer
|
|
22
|
+
# '.each { |f| require_relative "user32/#{f}" }
|
|
23
|
+
#
|
|
24
|
+
# #BOOL GetCurrentInputMessageSource( _Out_ INPUT_MESSAGE_SOURCE *inputMessageSource )
|
|
25
|
+
# attach_function 'GetCurrentInputMessageSource', [:pointer], :bool
|
|
26
|
+
#
|
|
27
|
+
# end
|
|
28
|
+
# end
|
|
29
|
+
# end
|
|
30
|
+
#
|
|
31
|
+
# if WindowsVersion >= 8
|
|
32
|
+
#
|
|
33
|
+
# #BOOL GetCurrentInputMessageSource( _Out_ INPUT_MESSAGE_SOURCE *inputMessageSource )
|
|
34
|
+
# attach_function 'GetCurrentInputMessageSource', [:pointer], :bool
|
|
35
|
+
#
|
|
36
|
+
# end
|
|
37
|
+
# end
|
|
38
|
+
|
|
39
|
+
CW_USEDEFAULT = -0x80000000
|
|
40
|
+
|
|
41
|
+
IDC = enum :idc,
|
|
42
|
+
[
|
|
43
|
+
:ARROW, 32512,
|
|
44
|
+
:IBEAM, 32513,
|
|
45
|
+
:WAIT, 32514,
|
|
46
|
+
:CROSS, 32515,
|
|
47
|
+
:UPARROW, 32516,
|
|
48
|
+
:SIZE, 32640,
|
|
49
|
+
:ICON, 32641,
|
|
50
|
+
:SIZENWSE, 32642,
|
|
51
|
+
:SIZENESW, 32643,
|
|
52
|
+
:SIZEWE, 32644,
|
|
53
|
+
:SIZENS, 32645,
|
|
54
|
+
:SIZEALL, 32646,
|
|
55
|
+
:NO, 32648,
|
|
56
|
+
:HAND, 32649,
|
|
57
|
+
:APPSTARTING, 32650,
|
|
58
|
+
:HELP, 32651,
|
|
59
|
+
]
|
|
60
|
+
|
|
61
|
+
IDI = enum :idi,
|
|
62
|
+
[
|
|
63
|
+
:APPLICATION, 32512,
|
|
64
|
+
:ERROR, 32513,
|
|
65
|
+
:HAND, 32513,
|
|
66
|
+
:QUESTION, 32514,
|
|
67
|
+
:EXCLAMATION, 32515,
|
|
68
|
+
:WARNING, 32515,
|
|
69
|
+
:ASTERISK, 32516,
|
|
70
|
+
:INFORMATION, 32516,
|
|
71
|
+
:WINLOGO, 32517,
|
|
72
|
+
:SHIELD, 32518
|
|
73
|
+
]
|
|
74
|
+
|
|
75
|
+
require 'win-ffi/enums/user32/user_object_information_flags'
|
|
76
|
+
|
|
77
|
+
#BOOL WINAPI GetUserObjectInformation(
|
|
78
|
+
# _In_ HANDLE hObj,
|
|
79
|
+
# _In_ int nIndex,
|
|
80
|
+
# _Out_opt_ PVOID pvInfo,
|
|
81
|
+
# _In_ DWORD nLength,
|
|
82
|
+
# _Out_opt_ LPDWORD lpnLengthNeeded )
|
|
83
|
+
attach_function 'GetUserObjectInformationA', [:handle, UserObjectInformationFlags, :pointer, :dword, :pointer], :bool
|
|
84
|
+
attach_function 'GetUserObjectInformationW', [:handle, UserObjectInformationFlags, :pointer, :dword, :pointer], :bool
|
|
85
|
+
|
|
86
|
+
#BOOL WINAPI IsWinEventHookInstalled( _In_ DWORD event )
|
|
87
|
+
attach_function 'IsWinEventHookInstalled', [:dword], :bool
|
|
88
|
+
|
|
89
|
+
#BOOL WINAPI IsWow64Message(void)
|
|
90
|
+
attach_function 'IsWow64Message', [], :bool
|
|
91
|
+
|
|
92
|
+
require 'win-ffi/enums/user32/queue_status_flags'
|
|
93
|
+
|
|
94
|
+
#DWORD WINAPI MsgWaitForMultipleObjects(
|
|
95
|
+
# _In_ DWORD nCount,
|
|
96
|
+
# _In_ const HANDLE *pHandles,
|
|
97
|
+
# _In_ BOOL bWaitAll,
|
|
98
|
+
# _In_ DWORD dwMilliseconds,
|
|
99
|
+
# _In_ DWORD dwWakeMask )
|
|
100
|
+
attach_function 'MsgWaitForMultipleObjects', [:dword, :pointer, :bool, :dword, QueueStatusFlags], :dword
|
|
101
|
+
|
|
102
|
+
require 'win-ffi/enums/user32/mwmo'
|
|
103
|
+
|
|
104
|
+
#DWORD WINAPI MsgWaitForMultipleObjectsEx(
|
|
105
|
+
# _In_ DWORD nCount,
|
|
106
|
+
# _In_ const HANDLE *pHandles,
|
|
107
|
+
# _In_ DWORD dwMilliseconds,
|
|
108
|
+
# _In_ DWORD dwWakeMask,
|
|
109
|
+
# _In_ DWORD dwFlags )
|
|
110
|
+
attach_function 'MsgWaitForMultipleObjectsEx', [:dword, :pointer, :dword, QueueStatusFlags, MWMO], :dword
|
|
111
|
+
|
|
112
|
+
#void WINAPI NotifyWinEvent(
|
|
113
|
+
# _In_ DWORD event,
|
|
114
|
+
# _In_ HWND hwnd,
|
|
115
|
+
# _In_ LONG idObject,
|
|
116
|
+
# _In_ LONG idChild )
|
|
117
|
+
attach_function 'NotifyWinEvent', [:dword, :hwnd, :long, :long], :void
|
|
118
|
+
|
|
119
|
+
#[This function is obsolete and should not be used.]
|
|
120
|
+
#LRESULT WINAPI SendIMEMessageEx(
|
|
121
|
+
# _In_ HWND hwnd,
|
|
122
|
+
# _In_ LPARAM lParam )
|
|
123
|
+
attach_function 'SendIMEMessageExA', [:hwnd, :lparam], :lresult
|
|
124
|
+
attach_function 'SendIMEMessageExW', [:hwnd, :lparam], :lresult
|
|
125
|
+
|
|
126
|
+
#ULONG_PTR WINAPI SetClassLongPtr(
|
|
127
|
+
# __in HWND hWnd,
|
|
128
|
+
# __in int nIndex,
|
|
129
|
+
# __in LONG_PTR dwNewLong)
|
|
130
|
+
#attach_function 'SetClassLongPtrA', [:hwnd, ClassLong, :pointer], :pointer
|
|
131
|
+
#attach_function 'SetClassLongPtrW', [:hwnd, ClassLong, :pointer], :pointer
|
|
132
|
+
|
|
133
|
+
#BOOL WINAPI SetUserObjectInformation(
|
|
134
|
+
# _In_ HANDLE hObj,
|
|
135
|
+
# _In_ int nIndex,
|
|
136
|
+
# _In_ PVOID pvInfo,
|
|
137
|
+
# _In_ DWORD nLength )
|
|
138
|
+
attach_function 'SetUserObjectInformationA', [:handle, :int, :pointer, :dword], :bool
|
|
139
|
+
attach_function 'SetUserObjectInformationW', [:handle, :int, :pointer, :dword], :bool
|
|
140
|
+
|
|
141
|
+
#HWINEVENTHOOK WINAPI SetWinEventHook(
|
|
142
|
+
# _In_ UINT eventMin,
|
|
143
|
+
# _In_ UINT eventMax,
|
|
144
|
+
# _In_ HMODULE hmodWinEventProc,
|
|
145
|
+
# _In_ WINEVENTPROC lpfnWinEventProc,
|
|
146
|
+
# _In_ DWORD idProcess,
|
|
147
|
+
# _In_ DWORD idThread,
|
|
148
|
+
# _In_ UINT dwflags )
|
|
149
|
+
attach_function 'SetWinEventHook', [:uint, :uint, :pointer, :pointer, :dword, :dword, :uint], :pointer
|
|
150
|
+
|
|
151
|
+
#BOOL WINAPI UnhookWinEvent( _In_ HWINEVENTHOOK hWinEventHook )
|
|
152
|
+
attach_function 'UnhookWinEvent', [:pointer], :bool
|
|
153
|
+
|
|
154
|
+
#This function is obsolete and should not be used.
|
|
155
|
+
#BOOL WINAPI WINNLSEnableIME(
|
|
156
|
+
# _In_ HWND hwnd,
|
|
157
|
+
# _In_ BOOL bFlag )
|
|
158
|
+
attach_function 'WINNLSEnableIME', [:hwnd, :bool], :bool
|
|
159
|
+
|
|
160
|
+
end
|
|
161
|
+
end
|