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,95 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/structs/user32/controls/scrollbar_info'
|
|
4
|
+
require 'win-ffi/structs/user32/controls/scroll_info'
|
|
5
|
+
|
|
6
|
+
module WinFFI
|
|
7
|
+
module User32
|
|
8
|
+
#BOOL EnableScrollBar(
|
|
9
|
+
# _In_ HWND hWnd,
|
|
10
|
+
# _In_ UINT wSBflags,
|
|
11
|
+
# _In_ UINT wArrows )
|
|
12
|
+
attach_function 'EnableScrollBar', [:hwnd, :uint, :uint], :bool
|
|
13
|
+
|
|
14
|
+
#BOOL GetScrollBarInfo(
|
|
15
|
+
# _In_ HWND hwnd,
|
|
16
|
+
# _In_ LONG idObject,
|
|
17
|
+
# _Out_ PSCROLLBARINFO psbi )
|
|
18
|
+
attach_function 'GetScrollBarInfo', [:hwnd, :long, SCROLLBARINFO.ptr], :bool
|
|
19
|
+
|
|
20
|
+
#BOOL GetScrollInfo(
|
|
21
|
+
# _In_ HWND hwnd,
|
|
22
|
+
# _In_ int fnBar,
|
|
23
|
+
# _Inout_ LPSCROLLINFO lpsi )
|
|
24
|
+
attach_function 'GetScrollInfo', [:hwnd, :int, SCROLLINFO.ptr], :bool
|
|
25
|
+
|
|
26
|
+
#int GetScrollPos(
|
|
27
|
+
# _In_ HWND hWnd,
|
|
28
|
+
# _In_ int nBar )
|
|
29
|
+
attach_function 'GetScrollPos', [:hwnd, :int], :int
|
|
30
|
+
|
|
31
|
+
#BOOL GetScrollRange(
|
|
32
|
+
# _In_ HWND hWnd,
|
|
33
|
+
# _In_ int nBar,
|
|
34
|
+
# _Out_ LPINT lpMinPos,
|
|
35
|
+
# _Out_ LPINT lpMaxPos )
|
|
36
|
+
attach_function 'GetScrollRange', [:hwnd, :int, :pointer, :pointer], :bool
|
|
37
|
+
|
|
38
|
+
#BOOL ScrollDC(
|
|
39
|
+
# _In_ HDC hDC,
|
|
40
|
+
# _In_ int dx,
|
|
41
|
+
# _In_ int dy,
|
|
42
|
+
# _In_ const RECT *lprcScroll,
|
|
43
|
+
# _In_ const RECT *lprcClip,
|
|
44
|
+
# _In_ HRGN hrgnUpdate,
|
|
45
|
+
# _Out_ LPRECT lprcUpdate )
|
|
46
|
+
attach_function 'ScrollDC', [:hdc, :int, :int, RECT.ptr, RECT.ptr, :hrgn, RECT.ptr], :bool
|
|
47
|
+
|
|
48
|
+
#BOOL ScrollWindow(
|
|
49
|
+
# _In_ HWND hWnd,
|
|
50
|
+
# _In_ int XAmount,
|
|
51
|
+
# _In_ int YAmount,
|
|
52
|
+
# _In_ const RECT *lpRect,
|
|
53
|
+
# _In_ const RECT *lpClipRect )
|
|
54
|
+
attach_function 'ScrollWindow', [:hwnd, :int, :int, RECT.ptr, RECT.ptr], :bool
|
|
55
|
+
|
|
56
|
+
#int ScrollWindowEx(
|
|
57
|
+
# _In_ HWND hWnd,
|
|
58
|
+
# _In_ int dx,
|
|
59
|
+
# _In_ int dy,
|
|
60
|
+
# _In_ const RECT *prcScroll,
|
|
61
|
+
# _In_ const RECT *prcClip,
|
|
62
|
+
# _In_ HRGN hrgnUpdate,
|
|
63
|
+
# _Out_ LPRECT prcUpdate,
|
|
64
|
+
# _In_ UINT flags )
|
|
65
|
+
attach_function 'ScrollWindowEx', [:hwnd, :int, :int, RECT.ptr, RECT.ptr, :hrgn, RECT.ptr, :uint], :int
|
|
66
|
+
|
|
67
|
+
#int SetScrollInfo(
|
|
68
|
+
# _In_ HWND hwnd,
|
|
69
|
+
# _In_ int fnBar,
|
|
70
|
+
# _In_ LPCSCROLLINFO lpsi,
|
|
71
|
+
# _In_ BOOL fRedraw )
|
|
72
|
+
attach_function 'SetScrollInfo', [:hwnd, :int, SCROLLINFO.ptr, :bool], :int
|
|
73
|
+
|
|
74
|
+
#int SetScrollPos(
|
|
75
|
+
# _In_ HWND hWnd,
|
|
76
|
+
# _In_ int nBar,
|
|
77
|
+
# _In_ int nPos,
|
|
78
|
+
# _In_ BOOL bRedraw )
|
|
79
|
+
attach_function 'SetScrollPos', [:hwnd, :int, :int, :bool], :int
|
|
80
|
+
|
|
81
|
+
#BOOL SetScrollRange(
|
|
82
|
+
# _In_ HWND hWnd,
|
|
83
|
+
# _In_ int nBar,
|
|
84
|
+
# _In_ int nMinPos,
|
|
85
|
+
# _In_ int nMaxPos,
|
|
86
|
+
# _In_ BOOL bRedraw )
|
|
87
|
+
attach_function 'SetScrollRange', [:hwnd, :int, :int, :int, :bool], :bool
|
|
88
|
+
|
|
89
|
+
#BOOL ShowScrollBar(
|
|
90
|
+
# _In_ HWND hWnd,
|
|
91
|
+
# _In_ int wBar,
|
|
92
|
+
# _In_ BOOL bShow )
|
|
93
|
+
attach_function 'ShowScrollBar', [:hwnd, :int, :bool], :bool
|
|
94
|
+
end
|
|
95
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/structs/user32/cursor_info'
|
|
4
|
+
|
|
5
|
+
module WinFFI
|
|
6
|
+
module User32
|
|
7
|
+
#BOOL WINAPI ClipCursor( _In_opt_ const RECT *lpRect )
|
|
8
|
+
attach_function 'ClipCursor', [RECT.ptr], :bool
|
|
9
|
+
|
|
10
|
+
#HCURSOR WINAPI CopyCursor( _In_ HCURSOR pcur )
|
|
11
|
+
#attach_function 'CopyCursor', [:hcursor], :hcursor
|
|
12
|
+
|
|
13
|
+
#HCURSOR WINAPI CreateCursor(
|
|
14
|
+
# _In_opt_ HINSTANCE hInst,
|
|
15
|
+
# _In_ int xHotSpot,
|
|
16
|
+
# _In_ int yHotSpot,
|
|
17
|
+
# _In_ int nWidth,
|
|
18
|
+
# _In_ int nHeight,
|
|
19
|
+
# _In_ const VOID *pvANDPlane,
|
|
20
|
+
# _In_ const VOID *pvXORPlane )
|
|
21
|
+
attach_function 'CreateCursor', [:hinstance, :int, :int, :int, :int, :pointer, :pointer], :hcursor
|
|
22
|
+
|
|
23
|
+
#BOOL WINAPI DestroyCursor( _In_ HCURSOR hCursor )
|
|
24
|
+
attach_function 'DestroyCursor', [:hcursor], :bool
|
|
25
|
+
|
|
26
|
+
#BOOL WINAPI GetClipCursor( _Out_ LPRECT lpRect )
|
|
27
|
+
attach_function 'GetClipCursor', [RECT.ptr], :bool
|
|
28
|
+
|
|
29
|
+
#HCURSOR WINAPI GetCursor(void)
|
|
30
|
+
attach_function 'GetCursor', [], :hcursor
|
|
31
|
+
|
|
32
|
+
#BOOL WINAPI GetCursorInfo( _Inout_ PCURSORINFO pci )
|
|
33
|
+
attach_function 'GetCursorInfo', [CURSORINFO.ptr], :bool
|
|
34
|
+
|
|
35
|
+
#BOOL WINAPI GetCursorPos( _Out_ LPPOINT lpPoint )
|
|
36
|
+
attach_function 'GetCursorPos', [POINT.ptr], :bool
|
|
37
|
+
|
|
38
|
+
#HCURSOR LoadCursor(
|
|
39
|
+
# __in_opt HINSTANCE hInstance,
|
|
40
|
+
# __in LPCTSTR lpCursorName)
|
|
41
|
+
attach_function 'LoadCursorA', [:hinstance, :pointer], :pointer
|
|
42
|
+
attach_function 'LoadCursorW', [:hinstance, :pointer], :hcursor
|
|
43
|
+
|
|
44
|
+
#HCURSOR WINAPI LoadCursorFromFile( _In_ LPCTSTR lpFileName )
|
|
45
|
+
attach_function 'LoadCursorFromFileA', [:string], :hcursor
|
|
46
|
+
attach_function 'LoadCursorFromFileW', [:string], :hcursor
|
|
47
|
+
|
|
48
|
+
#HCURSOR WINAPI SetCursor( _In_opt_ HCURSOR hCursor )
|
|
49
|
+
attach_function 'SetCursor', [:hcursor], :hcursor
|
|
50
|
+
|
|
51
|
+
#BOOL WINAPI SetCursorPos(
|
|
52
|
+
# _In_ int X,
|
|
53
|
+
# _In_ int Y )
|
|
54
|
+
attach_function 'SetCursorPos', [:int, :int], :bool
|
|
55
|
+
|
|
56
|
+
#BOOL WINAPI SetSystemCursor(
|
|
57
|
+
# _In_ HCURSOR hcur,
|
|
58
|
+
# _In_ DWORD id )
|
|
59
|
+
attach_function 'SetSystemCursor', [:hcursor, :dword], :bool
|
|
60
|
+
|
|
61
|
+
#int WINAPI ShowCursor( _In_ BOOL bShow )
|
|
62
|
+
attach_function 'ShowCursor', [:bool], :int
|
|
63
|
+
|
|
64
|
+
if WindowsVersion >= :vista
|
|
65
|
+
#BOOL WINAPI GetPhysicalCursorPos( _Out_ LPPOINT lpPoint )
|
|
66
|
+
attach_function 'GetPhysicalCursorPos', [POINT.ptr], :bool
|
|
67
|
+
|
|
68
|
+
#BOOL WINAPI SetPhysicalCursorPos(
|
|
69
|
+
# _In_ int X,
|
|
70
|
+
# _In_ int Y )
|
|
71
|
+
attach_function 'SetPhysicalCursorPos', [:int, :int], :bool
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
module WinFFI
|
|
4
|
+
module User32
|
|
5
|
+
#BOOL WINAPI DdeAbandonTransaction(
|
|
6
|
+
# _In_ DWORD idInst,
|
|
7
|
+
# _In_ HCONV hConv,
|
|
8
|
+
# _In_ DWORD idTransaction )
|
|
9
|
+
attach_function 'DdeAbandonTransaction', [:dword, :hconv, :dword], :bool
|
|
10
|
+
|
|
11
|
+
#LPBYTE WINAPI DdeAccessData(
|
|
12
|
+
# _In_ HDDEDATA hData,
|
|
13
|
+
# _Out_opt_ LPDWORD pcbDataSize )
|
|
14
|
+
attach_function 'DdeAccessData', [:hddedata, :pointer], :pointer
|
|
15
|
+
|
|
16
|
+
#HDDEDATA WINAPI DdeAddData(
|
|
17
|
+
# _In_ HDDEDATA hData,
|
|
18
|
+
# _In_ LPBYTE pSrc,
|
|
19
|
+
# _In_ DWORD cb,
|
|
20
|
+
# _In_ DWORD cbOff )
|
|
21
|
+
attach_function 'DdeAddData', [:hddedata, :pointer, :dword, :dword], :pointer
|
|
22
|
+
|
|
23
|
+
#TODO
|
|
24
|
+
#HDDEDATA CALLBACK DdeCallback(
|
|
25
|
+
# _In_ UINT uType,
|
|
26
|
+
# _In_ UINT uFmt,
|
|
27
|
+
# _In_ HCONV hconv,
|
|
28
|
+
# _In_ HSZ hsz1,
|
|
29
|
+
# _In_ HSZ hsz2,
|
|
30
|
+
# _In_ HDDEDATA hdata,
|
|
31
|
+
# _In_ ULONG_PTR dwData1,
|
|
32
|
+
# _In_ ULONG_PTR dwData2 )
|
|
33
|
+
|
|
34
|
+
#HDDEDATA WINAPI DdeClientTransaction(
|
|
35
|
+
# _In_opt_ LPBYTE pData,
|
|
36
|
+
# _In_ DWORD cbData,
|
|
37
|
+
# _In_ HCONV hConv,
|
|
38
|
+
# _In_opt_ HSZ hszItem,
|
|
39
|
+
# _In_ UINT wFmt,
|
|
40
|
+
# _In_ UINT wType,
|
|
41
|
+
# _In_ DWORD dwTimeout,
|
|
42
|
+
# _Out_opt_ LPDWORD pdwResult )
|
|
43
|
+
attach_function 'DdeClientTransaction', [:pointer, :dword, :hconv, :hsz, :uint, :uint, :dword, :pointer], :hddedata
|
|
44
|
+
|
|
45
|
+
#int WINAPI DdeCmpStringHandles(
|
|
46
|
+
# _In_ HSZ hsz1,
|
|
47
|
+
# _In_ HSZ hsz2 )
|
|
48
|
+
attach_function 'DdeCmpStringHandles', [:hsz, :hsz], :int
|
|
49
|
+
|
|
50
|
+
#HCONV WINAPI DdeConnect(
|
|
51
|
+
# _In_ DWORD idInst,
|
|
52
|
+
# _In_ HSZ hszService,
|
|
53
|
+
# _In_ HSZ hszTopic,
|
|
54
|
+
# _In_opt_ PCONVCONTEXT pCC )
|
|
55
|
+
attach_function 'DdeConnect', [:dword, :hsz, :hsz, :pointer], :hconv
|
|
56
|
+
|
|
57
|
+
#HCONVLIST WINAPI DdeConnectList(
|
|
58
|
+
# _In_ DWORD idInst,
|
|
59
|
+
# _In_ HSZ hszService,
|
|
60
|
+
# _In_ HSZ hszTopic,
|
|
61
|
+
# _In_ HCONVLIST hConvList,
|
|
62
|
+
# _In_opt_ PCONVCONTEXT pCC )
|
|
63
|
+
attach_function 'DdeConnectList', [:dword, :hsz, :hsz, :pointer, :pointer], :pointer
|
|
64
|
+
|
|
65
|
+
#HDDEDATA WINAPI DdeCreateDataHandle(
|
|
66
|
+
# _In_ DWORD idInst,
|
|
67
|
+
# _In_opt_ LPBYTE pSrc,
|
|
68
|
+
# _In_ DWORD cb,
|
|
69
|
+
# _In_ DWORD cbOff,
|
|
70
|
+
# _In_opt_ HSZ hszItem,
|
|
71
|
+
# _In_ UINT wFmt,
|
|
72
|
+
# _In_ UINT afCmd )
|
|
73
|
+
attach_function 'DdeCreateDataHandle', [:dword, :pointer, :dword, :dword, :hsz, :uint, :uint], :hddedata
|
|
74
|
+
|
|
75
|
+
#HSZ WINAPI DdeCreateStringHandle(
|
|
76
|
+
# _In_ DWORD idInst,
|
|
77
|
+
# _In_ LPTSTR psz,
|
|
78
|
+
# _In_ int iCodePage )
|
|
79
|
+
attach_function 'DdeCreateStringHandleA', [:dword, :string, :int], :hsz
|
|
80
|
+
attach_function 'DdeCreateStringHandleW', [:dword, :string, :int], :hsz
|
|
81
|
+
|
|
82
|
+
#BOOL WINAPI DdeDisconnect( _In_ HCONV hConv )
|
|
83
|
+
attach_function 'DdeDisconnect', [:hconv], :bool
|
|
84
|
+
|
|
85
|
+
#BOOL WINAPI DdeDisconnectList( _In_ HCONVLIST hConvList )
|
|
86
|
+
attach_function 'DdeDisconnectList', [:pointer], :bool
|
|
87
|
+
|
|
88
|
+
#BOOL WINAPI DdeEnableCallback(
|
|
89
|
+
# _In_ DWORD idInst,
|
|
90
|
+
# _In_ HCONV hConv,
|
|
91
|
+
# _In_ UINT wCmd )
|
|
92
|
+
attach_function 'DdeEnableCallback', [:dword, :hconv, :uint], :bool
|
|
93
|
+
|
|
94
|
+
#BOOL WINAPI DdeFreeDataHandle( _In_ HDDEDATA hData )
|
|
95
|
+
attach_function 'DdeFreeDataHandle', [:hddedata], :bool
|
|
96
|
+
|
|
97
|
+
#BOOL WINAPI DdeFreeStringHandle(
|
|
98
|
+
# _In_ DWORD idInst,
|
|
99
|
+
# _In_ HSZ hsz )
|
|
100
|
+
attach_function 'DdeFreeStringHandle', [:dword, :hsz], :bool
|
|
101
|
+
|
|
102
|
+
#DWORD WINAPI DdeGetData(
|
|
103
|
+
# _In_ HDDEDATA hData,
|
|
104
|
+
# _Out_opt_ LPBYTE pDst,
|
|
105
|
+
# _In_ DWORD cbMax,
|
|
106
|
+
# _In_ DWORD cbOff )
|
|
107
|
+
attach_function 'DdeGetData', [:hddedata, :pointer, :dword, :dword], :dword
|
|
108
|
+
|
|
109
|
+
#UINT WINAPI DdeGetLastError( _In_ DWORD idInst )
|
|
110
|
+
attach_function 'DdeGetLastError', [:dword], :uint
|
|
111
|
+
|
|
112
|
+
#BOOL WINAPI DdeImpersonateClient( _In_ HCONV hConv )
|
|
113
|
+
attach_function 'DdeImpersonateClient', [:hconv], :bool
|
|
114
|
+
|
|
115
|
+
#UINT WINAPI DdeInitialize(
|
|
116
|
+
# _Inout_ LPDWORD pidInst,
|
|
117
|
+
# _In_ PFNCALLBACK pfnCallback,
|
|
118
|
+
# _In_ DWORD afCmd,
|
|
119
|
+
# _Reserved_ DWORD ulRes )
|
|
120
|
+
attach_function 'DdeInitializeA', [:pointer, :pointer, :dword, :dword], :uint
|
|
121
|
+
attach_function 'DdeInitializeW', [:pointer, :pointer, :dword, :dword], :uint
|
|
122
|
+
|
|
123
|
+
#BOOL WINAPI DdeKeepStringHandle(
|
|
124
|
+
# _In_ DWORD idInst,
|
|
125
|
+
# _In_ HSZ hsz )
|
|
126
|
+
attach_function 'DdeKeepStringHandle', [:dword, :hsz], :bool
|
|
127
|
+
|
|
128
|
+
#HDDEDATA WINAPI DdeNameService(
|
|
129
|
+
# _In_ DWORD idInst,
|
|
130
|
+
# _In_opt_ HSZ hsz1,
|
|
131
|
+
# _In_opt_ HSZ hsz2,
|
|
132
|
+
# _In_ UINT afCmd )
|
|
133
|
+
attach_function 'DdeNameService', [:dword, :hsz, :hsz, :uint], :hddedata
|
|
134
|
+
|
|
135
|
+
#BOOL WINAPI DdePostAdvise(
|
|
136
|
+
# _In_ DWORD idInst,
|
|
137
|
+
# _In_ HSZ hszTopic,
|
|
138
|
+
# _In_ HSZ hszItem )
|
|
139
|
+
attach_function 'DdePostAdvise', [:dword, :hsz, :hsz], :bool
|
|
140
|
+
|
|
141
|
+
#UINT WINAPI DdeQueryConvInfo(
|
|
142
|
+
# _In_ HCONV hConv,
|
|
143
|
+
# _In_ DWORD idTransaction,
|
|
144
|
+
# _Inout_ PCONVINFO pConvInfo )
|
|
145
|
+
attach_function 'DdeQueryConvInfo', [:hconv, :dword, :pointer], :uint
|
|
146
|
+
|
|
147
|
+
#HCONV WINAPI DdeQueryNextServer(
|
|
148
|
+
# _In_ HCONVLIST hConvList,
|
|
149
|
+
# _In_ HCONV hConvPrev )
|
|
150
|
+
attach_function 'DdeQueryNextServer', [:pointer, :hconv], :hconv
|
|
151
|
+
|
|
152
|
+
#DWORD WINAPI DdeQueryString(
|
|
153
|
+
# _In_ DWORD idInst,
|
|
154
|
+
# _In_ HSZ hsz,
|
|
155
|
+
# _Out_opt_ LPTSTR psz,
|
|
156
|
+
# _In_ DWORD cchMax,
|
|
157
|
+
# _In_ int iCodePage )
|
|
158
|
+
attach_function 'DdeQueryStringA', [:dword, :hsz, :pointer, :dword, :int], :dword
|
|
159
|
+
attach_function 'DdeQueryStringW', [:dword, :hsz, :pointer, :dword, :int], :dword
|
|
160
|
+
|
|
161
|
+
#HCONV WINAPI DdeReconnect( _In_ HCONV hConv )
|
|
162
|
+
attach_function 'DdeReconnect', [:hconv], :hconv
|
|
163
|
+
|
|
164
|
+
#BOOL WINAPI DdeSetQualityOfService(
|
|
165
|
+
# _In_ HWND hwndClient,
|
|
166
|
+
# _In_ const SECURITY_QUALITY_OF_SERVICE *pqosNew,
|
|
167
|
+
# _Out_ PSECURITY_QUALITY_OF_SERVICE pqosPrev )
|
|
168
|
+
attach_function 'DdeSetQualityOfService', [:hwnd, :pointer, :pointer], :bool
|
|
169
|
+
|
|
170
|
+
#BOOL WINAPI DdeSetUserHandle(
|
|
171
|
+
# _In_ HCONV hConv,
|
|
172
|
+
# _In_ DWORD id,
|
|
173
|
+
# _In_ DWORD_PTR hUser )
|
|
174
|
+
attach_function 'DdeSetUserHandle', [:hconv, :dword, :dword], :bool
|
|
175
|
+
|
|
176
|
+
#BOOL WINAPI DdeUnaccessData( _In_ HDDEDATA hData )
|
|
177
|
+
attach_function 'DdeUnaccessData', [:hddedata], :bool
|
|
178
|
+
|
|
179
|
+
#BOOL WINAPI DdeUninitialize( _In_ DWORD idInst )
|
|
180
|
+
attach_function 'DdeUninitialize', [:dword], :bool
|
|
181
|
+
|
|
182
|
+
#BOOL WINAPI FreeDDElParam(
|
|
183
|
+
# _In_ UINT msg,
|
|
184
|
+
# _In_ LPARAM lParam )
|
|
185
|
+
attach_function 'FreeDDElParam', [:uint, :lparam], :bool
|
|
186
|
+
|
|
187
|
+
#BOOL WINAPI ImpersonateDdeClientWindow(
|
|
188
|
+
# _In_ HWND hWndClient,
|
|
189
|
+
# _In_ HWND hWndServer )
|
|
190
|
+
attach_function 'ImpersonateDdeClientWindow', [:hwnd, :hwnd], :bool
|
|
191
|
+
|
|
192
|
+
#LPARAM WINAPI PackDDElParam(
|
|
193
|
+
# _In_ UINT msg,
|
|
194
|
+
# _In_ UINT_PTR uiLo,
|
|
195
|
+
# _In_ UINT_PTR uiHi )
|
|
196
|
+
attach_function 'PackDDElParam', [:uint, :ulong, :ulong], :lparam
|
|
197
|
+
|
|
198
|
+
#LPARAM WINAPI ReuseDDElParam(
|
|
199
|
+
# _In_ LPARAM lParam,
|
|
200
|
+
# _In_ UINT msgIn,
|
|
201
|
+
# _In_ UINT msgOut,
|
|
202
|
+
# _In_ UINT_PTR uiLo,
|
|
203
|
+
# _In_ UINT_PTR uiHi )
|
|
204
|
+
attach_function 'ReuseDDElParam', [:lparam, :uint, :uint, :ulong, :ulong], :lparam
|
|
205
|
+
|
|
206
|
+
#BOOL WINAPI UnpackDDElParam(
|
|
207
|
+
# _In_ UINT msg,
|
|
208
|
+
# _In_ LPARAM lParam,
|
|
209
|
+
# _Out_ PUINT_PTR puiLo,
|
|
210
|
+
# _Out_ PUINT_PTR puiHi )
|
|
211
|
+
attach_function 'UnpackDDElParam', [:uint, :lparam, :ulong, :ulong], :bool
|
|
212
|
+
|
|
213
|
+
end
|
|
214
|
+
end
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
module WinFFI
|
|
4
|
+
module User32
|
|
5
|
+
#BOOL WINAPI CloseDesktop( _In_ HDESK hDesktop )
|
|
6
|
+
attach_function 'CloseDesktop', [:hdesk], :bool
|
|
7
|
+
|
|
8
|
+
#HDESK WINAPI CreateDesktop(
|
|
9
|
+
# _In_ LPCTSTR lpszDesktop,
|
|
10
|
+
# _Reserved_ LPCTSTR lpszDevice,
|
|
11
|
+
# _Reserved_ DEVMODE *pDevmode,
|
|
12
|
+
# _In_ DWORD dwFlags,
|
|
13
|
+
# _In_ ACCESS_MASK dwDesiredAccess,
|
|
14
|
+
# _In_opt_ LPSECURITY_ATTRIBUTES lpsa )
|
|
15
|
+
attach_function 'CreateDesktopA', [:string, :string, :pointer, :dword, :int, :pointer], :hdesk
|
|
16
|
+
attach_function 'CreateDesktopW', [:string, :string, :pointer, :dword, :int, :pointer], :hdesk
|
|
17
|
+
|
|
18
|
+
if WindowsVersion >= :vista
|
|
19
|
+
|
|
20
|
+
#HDESK WINAPI CreateDesktopEx(
|
|
21
|
+
# _In_ LPCTSTR lpszDesktop,
|
|
22
|
+
# _Reserved_ LPCTSTR lpszDevice,
|
|
23
|
+
# _Reserved_ DEVMODE *pDevmode,
|
|
24
|
+
# _In_ DWORD dwFlags,
|
|
25
|
+
# _In_ ACCESS_MASK dwDesiredAccess,
|
|
26
|
+
# _In_opt_ LPSECURITY_ATTRIBUTES lpsa,
|
|
27
|
+
# _In_ ULONG ulHeapSize,
|
|
28
|
+
# _Reserved_ PVOID pvoid)
|
|
29
|
+
attach_function 'CreateDesktopExA', [:string, :string, :pointer, :dword, :int, :pointer, :ulong, :pointer], :hdesk
|
|
30
|
+
attach_function 'CreateDesktopExW', [:string, :string, :pointer, :dword, :int, :pointer, :ulong, :pointer], :hdesk
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
#BOOL CALLBACK EnumDesktopProc(
|
|
35
|
+
# _In_ LPTSTR lpszDesktop,
|
|
36
|
+
# _In_ LPARAM lParam )
|
|
37
|
+
callback 'EnumDesktopProc', [:string, :lparam], :bool
|
|
38
|
+
|
|
39
|
+
#BOOL WINAPI EnumDesktops(
|
|
40
|
+
# _In_opt_ HWINSTA hwinsta,
|
|
41
|
+
# _In_ DESKTOPENUMPROC lpEnumFunc,
|
|
42
|
+
# _In_ LPARAM lParam )
|
|
43
|
+
attach_function 'EnumDesktopsA', [:hwinsta, :pointer, :lparam], :bool
|
|
44
|
+
attach_function 'EnumDesktopsW', [:hwinsta, :pointer, :lparam], :bool
|
|
45
|
+
|
|
46
|
+
#BOOL WINAPI EnumDesktopWindows(
|
|
47
|
+
# _In_opt_ HDESK hDesktop,
|
|
48
|
+
# _In_ WNDENUMPROC lpfn,
|
|
49
|
+
# _In_ LPARAM lParam )
|
|
50
|
+
attach_function 'EnumDesktopWindows', [:hdesk, :pointer, :lparam], :bool
|
|
51
|
+
|
|
52
|
+
#HDESK WINAPI GetThreadDesktop( _In_ DWORD dwThreadId )
|
|
53
|
+
attach_function 'GetThreadDesktop', [:dword], :hdesk
|
|
54
|
+
|
|
55
|
+
#HDESK WINAPI OpenDesktop(
|
|
56
|
+
# _In_ LPTSTR lpszDesktop,
|
|
57
|
+
# _In_ DWORD dwFlags,
|
|
58
|
+
# _In_ BOOL fInherit,
|
|
59
|
+
# _In_ ACCESS_MASK dwDesiredAccess )
|
|
60
|
+
attach_function 'OpenDesktopA', [:string, :dword, :bool, :pointer], :hdesk
|
|
61
|
+
attach_function 'OpenDesktopW', [:string, :dword, :bool, :pointer], :hdesk
|
|
62
|
+
|
|
63
|
+
#HDESK WINAPI OpenInputDesktop(
|
|
64
|
+
# _In_ DWORD dwFlags,
|
|
65
|
+
# _In_ BOOL fInherit,
|
|
66
|
+
# _In_ ACCESS_MASK dwDesiredAccess )
|
|
67
|
+
attach_function 'OpenInputDesktop', [:dword, :bool, :pointer], :hdesk
|
|
68
|
+
|
|
69
|
+
#BOOL WINAPI SetThreadDesktop( _In_ HDESK hDesktop )
|
|
70
|
+
attach_function 'SetThreadDesktop', [:hdesk], :bool
|
|
71
|
+
|
|
72
|
+
#BOOL WINAPI SwitchDesktop( _In_ HDESK hDesktop )
|
|
73
|
+
attach_function 'SwitchDesktop', [:hdesk], :bool
|
|
74
|
+
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/enums/user32/device_notify_flags'
|
|
4
|
+
|
|
5
|
+
module WinFFI
|
|
6
|
+
module User32
|
|
7
|
+
#HDEVNOTIFY WINAPI RegisterDeviceNotification(
|
|
8
|
+
# _In_ HANDLE hRecipient,
|
|
9
|
+
# _In_ LPVOID NotificationFilter,
|
|
10
|
+
# _In_ DWORD Flags )
|
|
11
|
+
attach_function 'RegisterDeviceNotificationA', [:handle, :pointer, DeviceNotifyFlags], :pointer
|
|
12
|
+
attach_function 'RegisterDeviceNotificationW', [:handle, :pointer, DeviceNotifyFlags], :pointer
|
|
13
|
+
|
|
14
|
+
#BOOL WINAPI UnregisterDeviceNotification( _In_ HDEVNOTIFY Handle )
|
|
15
|
+
attach_function 'UnregisterDeviceNotification', [:pointer], :bool
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/structs/user32/display_device'
|
|
4
|
+
|
|
5
|
+
module WinFFI
|
|
6
|
+
module User32
|
|
7
|
+
#LONG ChangeDisplaySettings(
|
|
8
|
+
# _In_ DEVMODE *lpDevMode,
|
|
9
|
+
# _In_ DWORD dwflags )
|
|
10
|
+
attach_function 'ChangeDisplaySettingsA', [:pointer, :dword], :long
|
|
11
|
+
attach_function 'ChangeDisplaySettingsW', [:pointer, :dword], :long
|
|
12
|
+
|
|
13
|
+
#LONG ChangeDisplaySettingsEx(
|
|
14
|
+
# _In_ LPCTSTR lpszDeviceName,
|
|
15
|
+
# _In_ DEVMODE *lpDevMode,
|
|
16
|
+
# HWND hwnd,
|
|
17
|
+
# _In_ DWORD dwflags,
|
|
18
|
+
# _In_ LPVOID lParam )
|
|
19
|
+
attach_function 'ChangeDisplaySettingsExA', [:string, :pointer, :hwnd, :dword, :pointer], :long
|
|
20
|
+
attach_function 'ChangeDisplaySettingsExW', [:string, :pointer, :hwnd, :dword, :pointer], :long
|
|
21
|
+
|
|
22
|
+
#BOOL EnumDisplayDevices(
|
|
23
|
+
# _In_ LPCTSTR lpDevice,
|
|
24
|
+
# _In_ DWORD iDevNum,
|
|
25
|
+
# _Out_ PDISPLAY_DEVICE lpDisplayDevice,
|
|
26
|
+
# _In_ DWORD dwFlags )
|
|
27
|
+
attach_function 'EnumDisplayDevicesA', [:pointer, :dword, DISPLAY_DEVICE.ptr, :dword], :bool
|
|
28
|
+
attach_function 'EnumDisplayDevicesW', [:pointer, :dword, DISPLAY_DEVICE.ptr, :dword], :bool
|
|
29
|
+
|
|
30
|
+
#BOOL EnumDisplaySettings(
|
|
31
|
+
# _In_ LPCTSTR lpszDeviceName,
|
|
32
|
+
# _In_ DWORD iModeNum,
|
|
33
|
+
# _Out_ DEVMODE *lpDevMode )
|
|
34
|
+
attach_function 'EnumDisplaySettingsA', [:string, :dword, :pointer], :bool
|
|
35
|
+
attach_function 'EnumDisplaySettingsW', [:string, :dword, :pointer], :bool
|
|
36
|
+
|
|
37
|
+
#BOOL EnumDisplaySettingsEx(
|
|
38
|
+
# _In_ LPCTSTR lpszDeviceName,
|
|
39
|
+
# _In_ DWORD iModeNum,
|
|
40
|
+
# _Out_ DEVMODE *lpDevMode,
|
|
41
|
+
# _In_ DWORD dwFlags )
|
|
42
|
+
attach_function 'EnumDisplaySettingsExA', [:string, :dword, :pointer, :dword], :bool
|
|
43
|
+
attach_function 'EnumDisplaySettingsExW', [:string, :dword, :pointer, :dword], :bool
|
|
44
|
+
|
|
45
|
+
#HDC GetDC( _In_ HWND hWnd )
|
|
46
|
+
attach_function 'GetDC', [:hwnd], :hdc
|
|
47
|
+
|
|
48
|
+
#HDC GetDCEx(
|
|
49
|
+
# _In_ HWND hWnd,
|
|
50
|
+
# _In_ HRGN hrgnClip,
|
|
51
|
+
# _In_ DWORD flags )
|
|
52
|
+
attach_function 'GetDCEx', [:hwnd, :hrgn, :dword], :hdc
|
|
53
|
+
|
|
54
|
+
#int ReleaseDC(
|
|
55
|
+
# _In_ HWND hWnd,
|
|
56
|
+
# _In_ HDC hDC )
|
|
57
|
+
attach_function 'ReleaseDC', [:hwnd, :hdc], :int
|
|
58
|
+
|
|
59
|
+
#HWND WindowFromDC( _In_ HDC hDC )
|
|
60
|
+
attach_function 'WindowFromDC', [:hdc], :hwnd
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
module WinFFI
|
|
4
|
+
module User32
|
|
5
|
+
#LONG DisplayConfigGetDeviceInfo( _Inout_ DISPLAYCONFIG_DEVICE_INFO_HEADER *requestPacket )
|
|
6
|
+
attach_function 'DisplayConfigGetDeviceInfo', [:pointer], :long
|
|
7
|
+
|
|
8
|
+
#LONG DisplayConfigSetDeviceInfo( _In_ DISPLAYCONFIG_DEVICE_INFO_HEADER *setPacket )
|
|
9
|
+
attach_function 'DisplayConfigSetDeviceInfo', [:pointer], :long
|
|
10
|
+
|
|
11
|
+
#LONG GetDisplayConfigBufferSizes(
|
|
12
|
+
# _In_ UINT32 Flags,
|
|
13
|
+
# _Out_ UINT32 *pNumPathArrayElements,
|
|
14
|
+
# _Out_ UINT32 *pNumModeInfoArrayElements )
|
|
15
|
+
attach_function 'GetDisplayConfigBufferSizes', [:uint32, :pointer, :pointer], :long
|
|
16
|
+
|
|
17
|
+
if WindowsVersion >= 7
|
|
18
|
+
|
|
19
|
+
#LONG QueryDisplayConfig(
|
|
20
|
+
# _In_ UINT32 Flags,
|
|
21
|
+
# _Inout_ UINT32 *pNumPathArrayElements,
|
|
22
|
+
# _Out_ DISPLAYCONFIG_PATH_INFO *pPathInfoArray,
|
|
23
|
+
# _Inout_ UINT32 *pNumModeInfoArrayElements,
|
|
24
|
+
# _Out_ DISPLAYCONFIG_MODE_INFO *pModeInfoArray,
|
|
25
|
+
# _Out_opt_ DISPLAYCONFIG_TOPOLOGY_ID *pCurrentTopologyId )
|
|
26
|
+
attach_function 'QueryDisplayConfig', [:uint32, :pointer, :pointer, :pointer, :pointer, :pointer], :long
|
|
27
|
+
|
|
28
|
+
#LONG SetDisplayConfig(
|
|
29
|
+
# _In_ UINT32 numPathArrayElements,
|
|
30
|
+
# _In_opt_ DISPLAYCONFIG_PATH_INFO *pathArray,
|
|
31
|
+
# _In_ UINT32 numModeInfoArrayElements,
|
|
32
|
+
# _In_opt_ DISPLAYCONFIG_MODE_INFO *modeInfoArray,
|
|
33
|
+
# _In_ UINT32 Flags )
|
|
34
|
+
attach_function 'SetDisplayConfig', [:uint32, :pointer, :uint32, :pointer, :uint32], :long
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
module WinFFI
|
|
4
|
+
module User32
|
|
5
|
+
|
|
6
|
+
# int FillRect(
|
|
7
|
+
# _In_ HDC hDC,
|
|
8
|
+
# _In_ const RECT *lprc,
|
|
9
|
+
# _In_ HBRUSH hbr )
|
|
10
|
+
attach_function 'FillRect', [:hdc, RECT.ptr, :hbrush], :int
|
|
11
|
+
|
|
12
|
+
# int FrameRect(
|
|
13
|
+
# _In_ HDC hDC,
|
|
14
|
+
# _In_ const RECT *lprc,
|
|
15
|
+
# _In_ HBRUSH hbr )
|
|
16
|
+
attach_function 'FrameRect', [:hdc, RECT.ptr, :hbrush], :int
|
|
17
|
+
|
|
18
|
+
# BOOL InvertRect(
|
|
19
|
+
# _In_ HDC hDC,
|
|
20
|
+
# _In_ const RECT *lprc )
|
|
21
|
+
attach_function 'InvertRect', [:hdc, RECT.ptr], :bool
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
module WinFFI
|
|
4
|
+
module User32
|
|
5
|
+
if WinFFI::WindowsVersion >= 7
|
|
6
|
+
#BOOL WINAPI CloseGestureInfoHandle( HGESTUREINFO hGestureInfo )
|
|
7
|
+
attach_function 'CloseGestureInfoHandle', [:pointer], :bool
|
|
8
|
+
|
|
9
|
+
#BOOL WINAPI GetGestureConfig(
|
|
10
|
+
# _In_ HWND hwnd,
|
|
11
|
+
# _In_ DWORD dwReserved,
|
|
12
|
+
# _In_ DWORD dwFlags,
|
|
13
|
+
# _In_ PUINT pcIDs,
|
|
14
|
+
# _Inout_ PGESTURECONFIG pGestureConfig,
|
|
15
|
+
# _In_ UINT cbSize )
|
|
16
|
+
attach_function 'GetGestureConfig', [:hwnd, :dword, :dword, :pointer, :pointer, :uint], :bool
|
|
17
|
+
|
|
18
|
+
#BOOL WINAPI GetGestureExtraArgs(
|
|
19
|
+
# _In_ HGESTUREINFO hGestureInfo,
|
|
20
|
+
# _In_ UINT cbExtraArgs,
|
|
21
|
+
# _Out_ PBYTE pExtraArgs )
|
|
22
|
+
attach_function 'GetGestureExtraArgs', [:pointer, :uint, :pointer], :bool
|
|
23
|
+
|
|
24
|
+
#BOOL WINAPI GetGestureInfo(
|
|
25
|
+
# _In_ HGESTUREINFO hGestureInfo,
|
|
26
|
+
# _Out_ PGESTUREINFO pGestureInfo )
|
|
27
|
+
attach_function 'GetGestureInfo', [:pointer, :pointer], :bool
|
|
28
|
+
|
|
29
|
+
#BOOL WINAPI SetGestureConfig(
|
|
30
|
+
# _In_ HWND hwnd,
|
|
31
|
+
# _In_ DWORD dwReserved,
|
|
32
|
+
# _In_ UINT cIDs,
|
|
33
|
+
# _In_ PGESTURECONFIG pGestureConfig,
|
|
34
|
+
# _In_ UINT cbSize )
|
|
35
|
+
attach_function 'SetGestureConfig', [:hwnd, :dword, :uint, :pointer, :uint], :bool
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|