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,48 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/structs/rect'
|
|
4
|
+
require 'win-ffi/structs/user32/draw_text_params'
|
|
5
|
+
|
|
6
|
+
module WinFFI
|
|
7
|
+
module User32
|
|
8
|
+
#int DrawText(
|
|
9
|
+
# _In_ HDC hDC,
|
|
10
|
+
# _Inout_ LPCTSTR lpchText,
|
|
11
|
+
# _In_ int nCount,
|
|
12
|
+
# _Inout_ LPRECT lpRect,
|
|
13
|
+
# _In_ UINT uFormat )
|
|
14
|
+
attach_function 'DrawTextA', [:hdc, :string, :int, RECT.ptr, :uint], :int
|
|
15
|
+
attach_function 'DrawTextW', [:hdc, :string, :int, RECT.ptr, :uint], :int
|
|
16
|
+
|
|
17
|
+
#int DrawTextEx(
|
|
18
|
+
# _In_ HDC hdc,
|
|
19
|
+
# _Inout_ LPTSTR lpchText,
|
|
20
|
+
# _In_ int cchText,
|
|
21
|
+
# _Inout_ LPRECT lprc,
|
|
22
|
+
# _In_ UINT dwDTFormat,
|
|
23
|
+
# _In_ LPDRAWTEXTPARAMS lpDTParams )
|
|
24
|
+
attach_function 'DrawTextExA', [:hdc, :string, :int, RECT.ptr, :uint, DRAWTEXTPARAMS.ptr], :int
|
|
25
|
+
attach_function 'DrawTextExW', [:hdc, :string, :int, RECT.ptr, :uint, DRAWTEXTPARAMS.ptr], :int
|
|
26
|
+
|
|
27
|
+
#DWORD GetTabbedTextExtent(
|
|
28
|
+
# _In_ HDC hDC,
|
|
29
|
+
# _In_ LPCTSTR lpString,
|
|
30
|
+
# _In_ int nCount,
|
|
31
|
+
# _In_ int nTabPositions,
|
|
32
|
+
# _In_ const LPINT lpnTabStopPositions )
|
|
33
|
+
attach_function 'GetTabbedTextExtentA', [:hdc, :string, :int, :int, :pointer], :dword
|
|
34
|
+
attach_function 'GetTabbedTextExtentW', [:hdc, :string, :int, :int, :pointer], :dword
|
|
35
|
+
|
|
36
|
+
#LONG TabbedTextOut(
|
|
37
|
+
# _In_ HDC hDC,
|
|
38
|
+
# _In_ int X,
|
|
39
|
+
# _In_ int Y,
|
|
40
|
+
# _In_ LPCTSTR lpString,
|
|
41
|
+
# _In_ int nCount,
|
|
42
|
+
# _In_ int nTabPositions,
|
|
43
|
+
# _In_ const LPINT lpnTabStopPositions,
|
|
44
|
+
# _In_ int nTabOrigin )
|
|
45
|
+
attach_function 'TabbedTextOutA', [:hdc, :int, :int, :string, :int, :int, :pointer, :int], :long
|
|
46
|
+
attach_function 'TabbedTextOutW', [:hdc, :int, :int, :string, :int, :int, :pointer, :int], :long
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/enums/user32/touch_injection_flags'
|
|
4
|
+
|
|
5
|
+
require 'win-ffi/structs/rect'
|
|
6
|
+
require 'win-ffi/structs/user32/touch_hit_testing_input'
|
|
7
|
+
require 'win-ffi/structs/user32/touch_hit_testing_proximity_evaluation'
|
|
8
|
+
|
|
9
|
+
module WinFFI
|
|
10
|
+
module User32
|
|
11
|
+
#BOOL WINAPI CloseTouchInputHandle( _In_ HTOUCHINPUT hTouchInput )
|
|
12
|
+
attach_function 'CloseTouchInputHandle', [:pointer], :bool
|
|
13
|
+
|
|
14
|
+
#BOOL WINAPI GetTouchInputInfo(
|
|
15
|
+
# _In_ HTOUCHINPUT hTouchInput,
|
|
16
|
+
# _In_ UINT cInputs,
|
|
17
|
+
# _Out_ PTOUCHINPUT pInputs,
|
|
18
|
+
# _In_ int cbSize )
|
|
19
|
+
attach_function 'GetTouchInputInfo', [:pointer, :uint, :pointer, :int], :bool
|
|
20
|
+
|
|
21
|
+
#BOOL WINAPI IsTouchWindow(
|
|
22
|
+
# _In_ HWND hWnd,
|
|
23
|
+
# _Out_opt_ PULONG pulFlags )
|
|
24
|
+
attach_function 'IsTouchWindow', [:hwnd, :pointer], :bool
|
|
25
|
+
|
|
26
|
+
#BOOL WINAPI RegisterTouchWindow(
|
|
27
|
+
# _In_ HWND hWnd,
|
|
28
|
+
# _In_ ULONG ulFlags )
|
|
29
|
+
attach_function 'RegisterTouchWindow', [:hwnd, :ulong], :bool
|
|
30
|
+
|
|
31
|
+
#BOOL WINAPI UnregisterTouchWindow( _In_ HWND hWnd )
|
|
32
|
+
attach_function 'UnregisterTouchWindow', [:hwnd], :bool
|
|
33
|
+
|
|
34
|
+
if WindowsVersion >= 8
|
|
35
|
+
|
|
36
|
+
#WINUSERAPI BOOL WINAPI EvaluateProximityToPolygon(
|
|
37
|
+
# UINT32 numVertices,
|
|
38
|
+
# _In_ const TOUCH_HIT_TESTING_INPUT *pHitTestingInput,
|
|
39
|
+
# _Out_ TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *pProximityEval )
|
|
40
|
+
attach_function 'EvaluateProximityToPolygon', [:uint, POINT.ptr, :pointer], :bool
|
|
41
|
+
|
|
42
|
+
#WINUSERAPI BOOL WINAPI EvaluateProximityToRect(
|
|
43
|
+
# _In_ const RECT *controlBoundingBox,
|
|
44
|
+
# _In_ const TOUCH_HIT_TESTING_INPUT *pHitTestingInput,
|
|
45
|
+
# _Out_ TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *pProximityEval )
|
|
46
|
+
attach_function 'EvaluateProximityToRect', [RECT.ptr, :pointer, :pointer], :bool
|
|
47
|
+
|
|
48
|
+
#BOOL InitializeTouchInjection(
|
|
49
|
+
# _In_ UINT32 maxCount,
|
|
50
|
+
# _In_ DWORD dwMode )
|
|
51
|
+
attach_function 'InitializeTouchInjection', [:uint32, TouchInjectionFlags], :bool
|
|
52
|
+
|
|
53
|
+
#BOOL InjectTouchInput(
|
|
54
|
+
# _In_ UINT32 count,
|
|
55
|
+
# _In_ const POINTER_TOUCH_INFO *contacts )
|
|
56
|
+
attach_function 'InjectTouchInput', [:uint32, :pointer], :bool
|
|
57
|
+
|
|
58
|
+
#WINUSERAPI LRESULT WINAPI PackTouchHitTestingProximityEvaluation(
|
|
59
|
+
# _In_ const TOUCH_HIT_TESTING_INPUT *pHitTestingInput,
|
|
60
|
+
# _In_ const TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *pProximityEval )
|
|
61
|
+
attach_function 'PackTouchHitTestingProximityEvaluation', [TOUCH_HIT_TESTING_INPUT.ptr, TOUCH_HIT_TESTING_PROXIMITY_EVALUATION.ptr], :lresult
|
|
62
|
+
|
|
63
|
+
#WINUSERAPI BOOL WINAPI RegisterTouchHitTestingWindow(
|
|
64
|
+
# _In_ HWND hwnd,
|
|
65
|
+
# _In_ ULONG value )
|
|
66
|
+
attach_function 'RegisterTouchHitTestingWindow', [:hwnd, :ulong], :bool
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
module WinFFI
|
|
4
|
+
module User32
|
|
5
|
+
#BOOL ClientToScreen(
|
|
6
|
+
# _In_ HWND hWnd,
|
|
7
|
+
# _Inout_ LPPOINT lpPoint )
|
|
8
|
+
attach_function 'ClientToScreen', [:hwnd, POINT.ptr], :bool
|
|
9
|
+
|
|
10
|
+
#int MapWindowPoints(
|
|
11
|
+
# _In_ HWND hWndFrom,
|
|
12
|
+
# _In_ HWND hWndTo,
|
|
13
|
+
# _Inout_ LPPOINT lpPoints,
|
|
14
|
+
# _In_ UINT cPoints )
|
|
15
|
+
attach_function 'MapWindowPoints', [:hwnd, :hwnd, POINT.ptr, :uint], :int
|
|
16
|
+
|
|
17
|
+
#BOOL ScreenToClient(
|
|
18
|
+
# _In_ HWND hWnd,
|
|
19
|
+
# LPPOINT lpPoint )
|
|
20
|
+
attach_function 'ScreenToClient', [:hwnd, POINT.ptr], :bool
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require_relative '../../../enums/user32/window/system_parameters_info_action'
|
|
4
|
+
|
|
5
|
+
module WinFFI
|
|
6
|
+
module User32
|
|
7
|
+
#BOOL WINAPI SystemParametersInfo(
|
|
8
|
+
# _In_ UINT uiAction,
|
|
9
|
+
# _In_ UINT uiParam,
|
|
10
|
+
# _Inout_ PVOID pvParam,
|
|
11
|
+
# _In_ UINT fWinIni )
|
|
12
|
+
attach_function 'SystemParametersInfoA', [SystemParametersInfoAction, :uint, :pointer, :uint], :bool
|
|
13
|
+
attach_function 'SystemParametersInfoW', [SystemParametersInfoAction, :uint, :pointer, :uint], :bool
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/enums/user32/window/message_box_flags'
|
|
4
|
+
require 'win-ffi/enums/user32/window/message_box_return'
|
|
5
|
+
|
|
6
|
+
require 'win-ffi/structs/user32/window/dlg_template'
|
|
7
|
+
require 'win-ffi/structs/user32/msg'
|
|
8
|
+
require 'win-ffi/structs/user32/window/msgbox_params'
|
|
9
|
+
|
|
10
|
+
module WinFFI
|
|
11
|
+
module User32
|
|
12
|
+
#HWND WINAPI CreateDialogIndirectParam(
|
|
13
|
+
# _In_opt_ HINSTANCE hInstance,
|
|
14
|
+
# _In_ LPCDLGTEMPLATE lpTemplate,
|
|
15
|
+
# _In_opt_ HWND hWndParent,
|
|
16
|
+
# _In_opt_ DLGPROC lpDialogFunc,
|
|
17
|
+
# _In_ LPARAM lParamInit )
|
|
18
|
+
attach_function 'CreateDialogIndirectParamA', [:hinstance, DLGTEMPLATE.ptr, :hwnd, :pointer, :lparam], :hwnd
|
|
19
|
+
attach_function 'CreateDialogIndirectParamW', [:hinstance, DLGTEMPLATE.ptr, :hwnd, :pointer, :lparam], :hwnd
|
|
20
|
+
|
|
21
|
+
#HWND WINAPI CreateDialogParam(
|
|
22
|
+
# _In_opt_ HINSTANCE hInstance,
|
|
23
|
+
# _In_ LPCTSTR lpTemplateName,
|
|
24
|
+
# _In_opt_ HWND hWndParent,
|
|
25
|
+
# _In_opt_ DLGPROC lpDialogFunc,
|
|
26
|
+
# _In_ LPARAM dwInitParam )
|
|
27
|
+
attach_function 'CreateDialogParamA', [:hinstance, :pointer, :hwnd, :pointer, :lparam], :hwnd
|
|
28
|
+
attach_function 'CreateDialogParamW', [:hinstance, :pointer, :hwnd, :pointer, :lparam], :hwnd
|
|
29
|
+
|
|
30
|
+
#LRESULT WINAPI DefDlgProcA(
|
|
31
|
+
# _In_ HWND hDlg,
|
|
32
|
+
# _In_ UINT Msg,
|
|
33
|
+
# _In_ WPARAM wParam,
|
|
34
|
+
# _In_ LPARAM lParam )
|
|
35
|
+
attach_function 'DefDlgProcA', [:hwnd, :uint, :wparam, :lparam], :lresult
|
|
36
|
+
attach_function 'DefDlgProcW', [:hwnd, :uint, :wparam, :lparam], :lresult
|
|
37
|
+
|
|
38
|
+
#INT_PTR WINAPI DialogBoxIndirectParam(
|
|
39
|
+
# _In_opt_ HINSTANCE hInstance,
|
|
40
|
+
# _In_ LPCDLGTEMPLATE hDialogTemplate,
|
|
41
|
+
# _In_opt_ HWND hWndParent,
|
|
42
|
+
# _In_opt_ DLGPROC lpDialogFunc,
|
|
43
|
+
# _In_ LPARAM dwInitParam )
|
|
44
|
+
attach_function 'DialogBoxIndirectParamA', [:hinstance, DLGTEMPLATE.ptr, :hwnd, :pointer, :lparam], :int
|
|
45
|
+
attach_function 'DialogBoxIndirectParamW', [:hinstance, DLGTEMPLATE.ptr, :hwnd, :pointer, :lparam], :int
|
|
46
|
+
|
|
47
|
+
#INT_PTR WINAPI DialogBoxParam(
|
|
48
|
+
# _In_opt_ HINSTANCE hInstance,
|
|
49
|
+
# _In_ LPCTSTR lpTemplateName,
|
|
50
|
+
# _In_opt_ HWND hWndParent,
|
|
51
|
+
# _In_opt_ DLGPROC lpDialogFunc,
|
|
52
|
+
# _In_ LPARAM dwInitParam )
|
|
53
|
+
attach_function 'DialogBoxParamA', [:hinstance, :buffer_in, :hwnd, :pointer, :lparam], :int
|
|
54
|
+
attach_function 'DialogBoxParamW', [:hinstance, :buffer_in, :hwnd, :pointer, :lparam], :int
|
|
55
|
+
|
|
56
|
+
#TODO
|
|
57
|
+
#INT_PTR CALLBACK DialogProc(
|
|
58
|
+
# _In_ HWND hwndDlg,
|
|
59
|
+
# _In_ UINT uMsg,
|
|
60
|
+
# _In_ WPARAM wParam,
|
|
61
|
+
# _In_ LPARAM lParam )
|
|
62
|
+
callback :DialogProc, [:hwnd, :uint, :wparam, :lparam], :int
|
|
63
|
+
|
|
64
|
+
#BOOL WINAPI EndDialog(
|
|
65
|
+
# _In_ HWND hDlg,
|
|
66
|
+
# _In_ INT_PTR nResult )
|
|
67
|
+
attach_function 'EndDialog', [:hwnd, :int], :bool
|
|
68
|
+
|
|
69
|
+
#LONG WINAPI GetDialogBaseUnits(void)
|
|
70
|
+
attach_function 'GetDialogBaseUnits', [], :long
|
|
71
|
+
|
|
72
|
+
#int WINAPI GetDlgCtrlID( _In_ HWND hwndCtl )
|
|
73
|
+
attach_function 'GetDlgCtrlID', [:hwnd], :int
|
|
74
|
+
|
|
75
|
+
#HWND WINAPI GetDlgItem(
|
|
76
|
+
# _In_opt_ HWND hDlg,
|
|
77
|
+
# _In_ int nIDDlgItem )
|
|
78
|
+
attach_function 'GetDlgItem', [:hwnd, :int], :hwnd
|
|
79
|
+
|
|
80
|
+
#UINT WINAPI GetDlgItemInt(
|
|
81
|
+
# _In_ HWND hDlg,
|
|
82
|
+
# _In_ int nIDDlgItem,
|
|
83
|
+
# _Out_opt_ BOOL *lpTranslated,
|
|
84
|
+
# _In_ BOOL bSigned )
|
|
85
|
+
attach_function 'GetDlgItemInt', [:hwnd, :int, :pointer, :bool], :uint
|
|
86
|
+
|
|
87
|
+
#UINT WINAPI GetDlgItemText(
|
|
88
|
+
# _In_ HWND hDlg,
|
|
89
|
+
# _In_ int nIDDlgItem,
|
|
90
|
+
# _Out_ LPTSTR lpString,
|
|
91
|
+
# _In_ int nMaxCount )
|
|
92
|
+
attach_function 'GetDlgItemTextA', [:hwnd, :int, :pointer, :bool], :uint
|
|
93
|
+
attach_function 'GetDlgItemTextW', [:hwnd, :int, :pointer, :bool], :uint
|
|
94
|
+
|
|
95
|
+
#HWND WINAPI GetNextDlgGroupItem(
|
|
96
|
+
# _In_ HWND hDlg,
|
|
97
|
+
# _In_opt_ HWND hCtl,
|
|
98
|
+
# _In_ BOOL bPrevious )
|
|
99
|
+
attach_function 'GetNextDlgGroupItem', [:hwnd, :hwnd, :bool], :hwnd
|
|
100
|
+
|
|
101
|
+
#HWND WINAPI GetNextDlgTabItem(
|
|
102
|
+
# _In_ HWND hDlg,
|
|
103
|
+
# _In_opt_ HWND hCtl,
|
|
104
|
+
# _In_ BOOL bPrevious )
|
|
105
|
+
attach_function 'GetNextDlgTabItem', [:hwnd, :hwnd, :bool], :hwnd
|
|
106
|
+
|
|
107
|
+
#BOOL WINAPI IsDialogMessage(
|
|
108
|
+
# _In_ HWND hDlg,
|
|
109
|
+
# _In_ LPMSG lpMsg )
|
|
110
|
+
attach_function 'IsDialogMessage', [:hwnd, MSG.ptr], :bool
|
|
111
|
+
attach_function 'IsDialogMessageA', [:hwnd, MSG.ptr], :bool
|
|
112
|
+
attach_function 'IsDialogMessageW', [:hwnd, MSG.ptr], :bool
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
#BOOL WINAPI MapDialogRect(
|
|
116
|
+
# _In_ HWND hDlg,
|
|
117
|
+
# _Inout_ LPRECT lpRect )
|
|
118
|
+
attach_function 'MapDialogRect', [:hwnd, RECT.ptr], :bool
|
|
119
|
+
|
|
120
|
+
#BOOL WINAPI MessageBeep( _In_ UINT uType )
|
|
121
|
+
attach_function 'MessageBeep', [MessageBoxFlags], :bool
|
|
122
|
+
|
|
123
|
+
#int WINAPI MessageBox(
|
|
124
|
+
# __in_opt HWND hWnd,
|
|
125
|
+
# __in_opt LPCTSTR lpText,
|
|
126
|
+
# __in_opt LPCTSTR lpCaption,
|
|
127
|
+
# __in UINT uType)
|
|
128
|
+
attach_function 'MessageBoxA', [:hwnd, :buffer_in, :buffer_in, MessageBoxFlags], :int
|
|
129
|
+
attach_function 'MessageBoxW', [:hwnd, :buffer_in, :buffer_in, MessageBoxFlags], :int
|
|
130
|
+
|
|
131
|
+
#int WINAPI MessageBoxEx(
|
|
132
|
+
# _In_opt_ HWND hWnd,
|
|
133
|
+
# _In_opt_ LPCTSTR lpText,
|
|
134
|
+
# _In_opt_ LPCTSTR lpCaption,
|
|
135
|
+
# _In_ UINT uType,
|
|
136
|
+
# _In_ WORD wLanguageId )
|
|
137
|
+
attach_function 'MessageBoxExA', [:hwnd, :buffer_in, :buffer_in, MessageBoxFlags, :word], :int
|
|
138
|
+
attach_function 'MessageBoxExW', [:hwnd, :buffer_in, :buffer_in, MessageBoxFlags, :word], :int
|
|
139
|
+
|
|
140
|
+
#int WINAPI MessageBoxIndirect( _In_ const LPMSGBOXPARAMS lpMsgBoxParams )
|
|
141
|
+
attach_function 'MessageBoxIndirectA', [MSGBOXPARAMS.ptr], :int
|
|
142
|
+
attach_function 'MessageBoxIndirectW', [MSGBOXPARAMS.ptr], :int
|
|
143
|
+
|
|
144
|
+
#LRESULT WINAPI SendDlgItemMessage(
|
|
145
|
+
# _In_ HWND hDlg,
|
|
146
|
+
# _In_ int nIDDlgItem,
|
|
147
|
+
# _In_ UINT Msg,
|
|
148
|
+
# _In_ WPARAM wParam,
|
|
149
|
+
# _In_ LPARAM lParam )
|
|
150
|
+
attach_function 'SendDlgItemMessageA', [:hwnd, :int, :uint, :wparam, :lparam], :lresult
|
|
151
|
+
attach_function 'SendDlgItemMessageW', [:hwnd, :int, :uint, :wparam, :lparam], :lresult
|
|
152
|
+
|
|
153
|
+
#BOOL WINAPI SetDlgItemInt(
|
|
154
|
+
# _In_ HWND hDlg,
|
|
155
|
+
# _In_ int nIDDlgItem,
|
|
156
|
+
# _In_ UINT uValue,
|
|
157
|
+
# _In_ BOOL bSigned )
|
|
158
|
+
attach_function 'SetDlgItemInt', [:hwnd, :int, :uint, :bool], :bool
|
|
159
|
+
|
|
160
|
+
#BOOL WINAPI SetDlgItemText(
|
|
161
|
+
# _In_ HWND hDlg,
|
|
162
|
+
# _In_ int nIDDlgItem,
|
|
163
|
+
# _In_ LPCTSTR lpString )
|
|
164
|
+
attach_function 'SetDlgItemTextA', [:hwnd, :int, :buffer_in], :bool
|
|
165
|
+
attach_function 'SetDlgItemTextW', [:hwnd, :int, :buffer_in], :bool
|
|
166
|
+
end
|
|
167
|
+
end
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
require 'win-ffi/functions/user32'
|
|
2
|
+
|
|
3
|
+
require 'win-ffi/enums/user32/window/menu_flags'
|
|
4
|
+
require 'win-ffi/enums/user32/append_menu_flags'
|
|
5
|
+
require 'win-ffi/enums/user32/window/track_popup_menu_flags'
|
|
6
|
+
|
|
7
|
+
require 'win-ffi/structs/user32/window/menubar_info'
|
|
8
|
+
require 'win-ffi/structs/user32/window/menu_info'
|
|
9
|
+
require 'win-ffi/structs/user32/window/menu_item_info'
|
|
10
|
+
require 'win-ffi/structs/user32/window/menu_item_template'
|
|
11
|
+
require 'win-ffi/structs/user32/window/tpm_params'
|
|
12
|
+
|
|
13
|
+
module WinFFI
|
|
14
|
+
module User32
|
|
15
|
+
#BOOL WINAPI AppendMenu(
|
|
16
|
+
# _In_ HMENU hMenu,
|
|
17
|
+
# _In_ UINT uFlags,
|
|
18
|
+
# _In_ UINT_PTR uIDNewItem,
|
|
19
|
+
# _In_opt_ LPCTSTR lpNewItem )
|
|
20
|
+
attach_function 'AppendMenuA', [:hmenu, AppendMenuFlags, :uint, :pointer], :bool
|
|
21
|
+
attach_function 'AppendMenuW', [:hmenu, AppendMenuFlags, :uint, :pointer], :bool
|
|
22
|
+
|
|
23
|
+
#DWORD WINAPI CheckMenuItem(
|
|
24
|
+
# _In_ HMENU hmenu,
|
|
25
|
+
# _In_ UINT uIDCheckItem,
|
|
26
|
+
# _In_ UINT uCheck )
|
|
27
|
+
attach_function 'CheckMenuItem', [:hmenu, :uint, :uint], :dword
|
|
28
|
+
|
|
29
|
+
#BOOL WINAPI CheckMenuRadioItem(
|
|
30
|
+
# _In_ HMENU hmenu,
|
|
31
|
+
# _In_ UINT idFirst,
|
|
32
|
+
# _In_ UINT idLast,
|
|
33
|
+
# _In_ UINT idCheck,
|
|
34
|
+
# _In_ UINT uFlags )
|
|
35
|
+
attach_function 'CheckMenuRadioItem', [:hmenu, :uint, :uint, :uint, :uint], :bool
|
|
36
|
+
|
|
37
|
+
#HMENU WINAPI CreateMenu(void)
|
|
38
|
+
attach_function 'CreateMenu', [], :hmenu
|
|
39
|
+
|
|
40
|
+
#HMENU WINAPI CreatePopupMenu(void)
|
|
41
|
+
attach_function 'CreatePopupMenu', [], :hmenu
|
|
42
|
+
|
|
43
|
+
#BOOL WINAPI DeleteMenu(
|
|
44
|
+
# _In_ HMENU hMenu,
|
|
45
|
+
# _In_ UINT uPosition,
|
|
46
|
+
# _In_ UINT uFlags )
|
|
47
|
+
attach_function 'DeleteMenu', [:hmenu, :uint, :uint], :bool
|
|
48
|
+
|
|
49
|
+
#BOOL WINAPI DestroyMenu( _In_ HMENU hMenu )
|
|
50
|
+
attach_function 'DestroyMenu', [:hmenu], :bool
|
|
51
|
+
|
|
52
|
+
#BOOL WINAPI DrawMenuBar( _In_ HWND hWnd )
|
|
53
|
+
attach_function 'DrawMenuBar', [:hwnd], :bool
|
|
54
|
+
|
|
55
|
+
#BOOL WINAPI EnableMenuItem(
|
|
56
|
+
# _In_ HMENU hMenu,
|
|
57
|
+
# _In_ UINT uIDEnableItem,
|
|
58
|
+
# _In_ UINT uEnable )
|
|
59
|
+
attach_function 'EnableMenuItem', [:hmenu, :uint, :uint], :bool
|
|
60
|
+
|
|
61
|
+
#BOOL WINAPI EndMenu(void)
|
|
62
|
+
attach_function 'EndMenu', [], :bool
|
|
63
|
+
|
|
64
|
+
#HMENU WINAPI GetMenu( _In_ HWND hWnd )
|
|
65
|
+
attach_function 'GetMenu', [:hwnd], :hmenu
|
|
66
|
+
|
|
67
|
+
#BOOL WINAPI GetMenuBarInfo(
|
|
68
|
+
# _In_ HWND hwnd,
|
|
69
|
+
# _In_ LONG idObject,
|
|
70
|
+
# _In_ LONG idItem,
|
|
71
|
+
# _Inout_ PMENUBARINFO pmbi )
|
|
72
|
+
attach_function 'GetMenuBarInfo', [:hwnd, :long, :long, MENUBARINFO.ptr], :bool
|
|
73
|
+
|
|
74
|
+
#LONG WINAPI GetMenuCheckMarkDimensions(void)
|
|
75
|
+
attach_function 'GetMenuCheckMarkDimensions', [], :long
|
|
76
|
+
|
|
77
|
+
#UINT WINAPI GetMenuDefaultItem(
|
|
78
|
+
# _In_ HMENU hMenu,
|
|
79
|
+
# _In_ UINT fByPos,
|
|
80
|
+
# _In_ UINT gmdiFlags )
|
|
81
|
+
attach_function 'GetMenuDefaultItem', [:hmenu, :uint, :uint], :uint
|
|
82
|
+
|
|
83
|
+
#BOOL WINAPI GetMenuInfo(
|
|
84
|
+
# _In_ HMENU hmenu,
|
|
85
|
+
# _Inout_ LPMENUINFO lpcmi )
|
|
86
|
+
attach_function 'GetMenuInfo', [:hmenu, MENUINFO.ptr], :bool
|
|
87
|
+
|
|
88
|
+
#int WINAPI GetMenuItemCount( _In_opt_ HMENU hMenu )
|
|
89
|
+
attach_function 'GetMenuItemCount', [:hmenu], :int
|
|
90
|
+
|
|
91
|
+
#UINT WINAPI GetMenuItemID(
|
|
92
|
+
# _In_ HMENU hMenu,
|
|
93
|
+
# _In_ int nPos )
|
|
94
|
+
attach_function 'GetMenuItemID', [:hmenu, :int], :uint
|
|
95
|
+
|
|
96
|
+
#BOOL WINAPI GetMenuItemInfo(
|
|
97
|
+
# _In_ HMENU hMenu,
|
|
98
|
+
# _In_ UINT uItem,
|
|
99
|
+
# _In_ BOOL fByPosition,
|
|
100
|
+
# _Inout_ LPMENUITEMINFO lpmii )
|
|
101
|
+
attach_function 'GetMenuItemInfoA', [:hmenu, :uint, :bool, MENUITEMINFO.ptr], :bool
|
|
102
|
+
attach_function 'GetMenuItemInfoW', [:hmenu, :uint, :bool, MENUITEMINFO.ptr], :bool
|
|
103
|
+
|
|
104
|
+
#BOOL WINAPI GetMenuItemRect(
|
|
105
|
+
# _In_opt_ HWND hWnd,
|
|
106
|
+
# _In_ HMENU hMenu,
|
|
107
|
+
# _In_ UINT uItem,
|
|
108
|
+
# _Out_ LPRECT lprcItem )
|
|
109
|
+
attach_function 'GetMenuItemRect', [:hwnd, :hmenu, :uint, RECT.ptr], :bool
|
|
110
|
+
|
|
111
|
+
#UINT WINAPI GetMenuState(
|
|
112
|
+
# _In_ HMENU hMenu,
|
|
113
|
+
# _In_ UINT uId,
|
|
114
|
+
# _In_ UINT uFlags )
|
|
115
|
+
attach_function 'GetMenuState', [:hmenu, :uint, :uint], :uint
|
|
116
|
+
|
|
117
|
+
#int WINAPI GetMenuString(
|
|
118
|
+
# _In_ HMENU hMenu,
|
|
119
|
+
# _In_ UINT uIDItem,
|
|
120
|
+
# _Out_opt_ LPTSTR lpString,
|
|
121
|
+
# _In_ int nMaxCount,
|
|
122
|
+
# _In_ UINT uFlag )
|
|
123
|
+
attach_function 'GetMenuStringA', [:hmenu, :uint, :string, :int, :uint], :int
|
|
124
|
+
attach_function 'GetMenuStringW', [:hmenu, :uint, :string, :int, :uint], :int
|
|
125
|
+
|
|
126
|
+
#HMENU WINAPI GetSubMenu(
|
|
127
|
+
# _In_ HMENU hMenu,
|
|
128
|
+
# _In_ int nPos )
|
|
129
|
+
attach_function 'GetSubMenu', [:hmenu, :int], :hmenu
|
|
130
|
+
|
|
131
|
+
#HMENU WINAPI GetSystemMenu(
|
|
132
|
+
# _In_ HWND hWnd,
|
|
133
|
+
# _In_ BOOL bRevert )
|
|
134
|
+
attach_function 'GetSystemMenu', [:hwnd, :bool], :hmenu
|
|
135
|
+
|
|
136
|
+
#BOOL WINAPI HiliteMenuItem(
|
|
137
|
+
# _In_ HWND hwnd,
|
|
138
|
+
# _In_ HMENU hmenu,
|
|
139
|
+
# _In_ UINT uItemHilite,
|
|
140
|
+
# _In_ UINT uHilite )
|
|
141
|
+
attach_function 'HiliteMenuItem', [:hwnd, :hmenu, :uint, :uint], :bool
|
|
142
|
+
|
|
143
|
+
#BOOL WINAPI InsertMenu(
|
|
144
|
+
# _In_ HMENU hMenu,
|
|
145
|
+
# _In_ UINT uPosition,
|
|
146
|
+
# _In_ UINT uFlags,
|
|
147
|
+
# _In_ UINT_PTR uIDNewItem,
|
|
148
|
+
# _In_opt_ LPCTSTR lpNewItem )
|
|
149
|
+
attach_function 'InsertMenuA', [:hmenu, :uint, MenuFlags, :ulong, :string], :bool
|
|
150
|
+
attach_function 'InsertMenuW', [:hmenu, :uint, MenuFlags, :ulong, :string], :bool
|
|
151
|
+
|
|
152
|
+
#BOOL WINAPI InsertMenuItem(
|
|
153
|
+
# _In_ HMENU hMenu,
|
|
154
|
+
# _In_ UINT uItem,
|
|
155
|
+
# _In_ BOOL fByPosition,
|
|
156
|
+
# _In_ LPCMENUITEMINFO lpmii )
|
|
157
|
+
attach_function 'InsertMenuItemA', [:hmenu, :uint, :bool, MENUITEMINFO.ptr], :bool
|
|
158
|
+
attach_function 'InsertMenuItemW', [:hmenu, :uint, :bool, MENUITEMINFO.ptr], :bool
|
|
159
|
+
|
|
160
|
+
#BOOL WINAPI IsMenu( _In_ HMENU hMenu )
|
|
161
|
+
attach_function 'IsMenu', [:hmenu], :bool
|
|
162
|
+
|
|
163
|
+
#HMENU WINAPI LoadMenu(
|
|
164
|
+
# _In_opt_ HINSTANCE hInstance,
|
|
165
|
+
# _In_ LPCTSTR lpMenuName )
|
|
166
|
+
attach_function 'LoadMenuA', [:hinstance, :string], :hmenu
|
|
167
|
+
attach_function 'LoadMenuW', [:hinstance, :string], :hmenu
|
|
168
|
+
|
|
169
|
+
#HMENU WINAPI LoadMenuIndirect( _In_ const MENUTEMPLATE *lpMenuTemplate )
|
|
170
|
+
attach_function 'LoadMenuIndirectA', [MENUITEMTEMPLATE.ptr], :hmenu
|
|
171
|
+
attach_function 'LoadMenuIndirectW', [MENUITEMTEMPLATE.ptr], :hmenu
|
|
172
|
+
|
|
173
|
+
#int WINAPI MenuItemFromPoint(
|
|
174
|
+
# _In_opt_ HWND hWnd,
|
|
175
|
+
# _In_ HMENU hMenu,
|
|
176
|
+
# _In_ POINT ptScreen )
|
|
177
|
+
attach_function 'MenuItemFromPoint', [:hwnd, :hmenu, POINT], :int
|
|
178
|
+
|
|
179
|
+
#BOOL WINAPI ModifyMenu(
|
|
180
|
+
# _In_ HMENU hMnu,
|
|
181
|
+
# _In_ UINT uPosition,
|
|
182
|
+
# _In_ UINT uFlags,
|
|
183
|
+
# _In_ UINT_PTR uIDNewItem,
|
|
184
|
+
# _In_opt_ LPCTSTR lpNewItem )
|
|
185
|
+
attach_function 'ModifyMenuA', [:hmenu, :uint, MenuFlags, :uint, :string], :bool
|
|
186
|
+
attach_function 'ModifyMenuW', [:hmenu, :uint, MenuFlags, :uint, :string], :bool
|
|
187
|
+
|
|
188
|
+
#BOOL WINAPI RemoveMenu(
|
|
189
|
+
# _In_ HMENU hMenu,
|
|
190
|
+
# _In_ UINT uPosition,
|
|
191
|
+
# _In_ UINT uFlags )
|
|
192
|
+
attach_function 'RemoveMenu', [:hmenu, :uint, :uint], :bool
|
|
193
|
+
|
|
194
|
+
#BOOL WINAPI SetMenu(
|
|
195
|
+
# _In_ HWND hWnd,
|
|
196
|
+
# _In_opt_ HMENU hMenu )
|
|
197
|
+
attach_function 'SetMenu', [:hwnd, :hmenu], :bool
|
|
198
|
+
|
|
199
|
+
#BOOL WINAPI SetMenuDefaultItem(
|
|
200
|
+
# _In_ HMENU hMenu,
|
|
201
|
+
# _In_ UINT uItem,
|
|
202
|
+
# _In_ UINT fByPos )
|
|
203
|
+
attach_function 'SetMenuDefaultItem', [:hmenu, :uint, :uint], :bool
|
|
204
|
+
|
|
205
|
+
#BOOL WINAPI SetMenuInfo(
|
|
206
|
+
# _In_ HMENU hmenu,
|
|
207
|
+
# _In_ LPCMENUINFO lpcmi )
|
|
208
|
+
attach_function 'SetMenuInfo', [:hmenu, MENUINFO.ptr], :bool
|
|
209
|
+
|
|
210
|
+
#BOOL WINAPI SetMenuItemBitmaps(
|
|
211
|
+
# _In_ HMENU hMenu,
|
|
212
|
+
# _In_ UINT uPosition,
|
|
213
|
+
# _In_ UINT uFlags,
|
|
214
|
+
# _In_opt_ HBITMAP hBitmapUnchecked,
|
|
215
|
+
# _In_opt_ HBITMAP hBitmapChecked )
|
|
216
|
+
attach_function 'SetMenuItemBitmaps', [:hmenu, :uint, MenuFlags, :hbitmap, :hbitmap], :bool
|
|
217
|
+
|
|
218
|
+
#BOOL WINAPI SetMenuItemInfo(
|
|
219
|
+
# _In_ HMENU hMenu,
|
|
220
|
+
# _In_ UINT uItem,
|
|
221
|
+
# _In_ BOOL fByPosition,
|
|
222
|
+
# _In_ LPMENUITEMINFO lpmii )
|
|
223
|
+
attach_function 'SetMenuItemInfoA', [:hmenu, :uint, :bool, MENUITEMINFO.ptr], :bool
|
|
224
|
+
attach_function 'SetMenuItemInfoW', [:hmenu, :uint, :bool, MENUITEMINFO.ptr], :bool
|
|
225
|
+
|
|
226
|
+
#BOOL WINAPI TrackPopupMenu(
|
|
227
|
+
# _In_ HMENU hMenu,
|
|
228
|
+
# _In_ UINT uFlags,
|
|
229
|
+
# _In_ int x,
|
|
230
|
+
# _In_ int y,
|
|
231
|
+
# _In_ int nReserved,
|
|
232
|
+
# _In_ HWND hWnd,
|
|
233
|
+
# _In_opt_ const RECT *prcRect )
|
|
234
|
+
attach_function 'TrackPopupMenu', [:hmenu, TrackPopupMenuFlags, :int, :int, :int, :hwnd, RECT.ptr], :bool
|
|
235
|
+
|
|
236
|
+
#BOOL WINAPI TrackPopupMenuEx(
|
|
237
|
+
# _In_ HMENU hmenu,
|
|
238
|
+
# _In_ UINT fuFlags,
|
|
239
|
+
# _In_ int x,
|
|
240
|
+
# _In_ int y,
|
|
241
|
+
# _In_ HWND hwnd,
|
|
242
|
+
# _In_opt_ LPTPMPARAMS lptpm )
|
|
243
|
+
attach_function 'TrackPopupMenuEx', [:hmenu, TrackPopupMenuFlags, :int, :int, :hwnd, TPMPARAMS.ptr], :bool
|
|
244
|
+
end
|
|
245
|
+
end
|