win-ffi 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +36 -0
- data/lib/win-ffi/enums/color_types.rb +61 -0
- data/lib/win-ffi/enums/comctl32/init_common_controls.rb +32 -0
- data/lib/win-ffi/enums/comctl32/window/style/window_class_style.rb +7 -0
- data/lib/win-ffi/enums/comctl32.rb +5 -0
- data/lib/win-ffi/enums/comdlg32/find_replace.rb +28 -0
- data/lib/win-ffi/enums/comdlg32/font.rb +33 -0
- data/lib/win-ffi/enums/extended_name_format.rb +17 -0
- data/lib/win-ffi/enums/firmware_type.rb +12 -0
- data/lib/win-ffi/enums/gdi32/device_context.rb +29 -0
- data/lib/win-ffi/enums/gdi32/dib.rb +8 -0
- data/lib/win-ffi/enums/gdi32/hatch_styles.rb +15 -0
- data/lib/win-ffi/enums/gdi32/pfd_flags.rb +28 -0
- data/lib/win-ffi/enums/gdi32/pfd_layer_type.rb +7 -0
- data/lib/win-ffi/enums/gdi32/pfd_type.rb +7 -0
- data/lib/win-ffi/enums/gdi32/raster_operations.rb +22 -0
- data/lib/win-ffi/enums/gdi32.rb +90 -0
- data/lib/win-ffi/enums/kernel32/activation_context.rb +17 -0
- data/lib/win-ffi/enums/kernel32/computer_name_format.rb +19 -0
- data/lib/win-ffi/enums/kernel32/format_message_flags.rb +16 -0
- data/lib/win-ffi/enums/kernel32/get_module_handle_ex_flag.rb +7 -0
- data/lib/win-ffi/enums/kernel32/global_alloc_flags.rb +14 -0
- data/lib/win-ffi/enums/kernel32/handle.rb +9 -0
- data/lib/win-ffi/enums/kernel32/heap_flags.rb +14 -0
- data/lib/win-ffi/enums/kernel32/local_flags.rb +20 -0
- data/lib/win-ffi/enums/kernel32/memory.rb +12 -0
- data/lib/win-ffi/enums/kernel32/memory_flags.rb +22 -0
- data/lib/win-ffi/enums/kernel32/memory_protection_constants.rb +20 -0
- data/lib/win-ffi/enums/kernel32/set_error_mode_flags.rb +11 -0
- data/lib/win-ffi/enums/kernel32/sound_flags.rb +24 -0
- data/lib/win-ffi/enums/kernel32/volume.rb +13 -0
- data/lib/win-ffi/enums/kernel32.rb +5 -0
- data/lib/win-ffi/enums/lr.rb +48 -0
- data/lib/win-ffi/enums/netapi21/net_api_status.rb +25 -0
- data/lib/win-ffi/enums/netapi32.rb +5 -0
- data/lib/win-ffi/enums/system_info.rb +54 -0
- data/lib/win-ffi/enums/user32/append_menu_flags.rb +21 -0
- data/lib/win-ffi/enums/user32/border_flags.rb +29 -0
- data/lib/win-ffi/enums/user32/clipboard_formats.rb +31 -0
- data/lib/win-ffi/enums/user32/device_notify_flags.rb +17 -0
- data/lib/win-ffi/enums/user32/draw_caption_flags.rb +16 -0
- data/lib/win-ffi/enums/user32/draw_frame_control_flags.rb +15 -0
- data/lib/win-ffi/enums/user32/draw_frame_control_state_flags.rb +44 -0
- data/lib/win-ffi/enums/user32/edge_flags.rb +20 -0
- data/lib/win-ffi/enums/user32/feedback_type.rb +21 -0
- data/lib/win-ffi/enums/user32/get_ancestor_flags.rb +12 -0
- data/lib/win-ffi/enums/user32/icon.rb +19 -0
- data/lib/win-ffi/enums/user32/image.rb +12 -0
- data/lib/win-ffi/enums/user32/key_event_flags.rb +11 -0
- data/lib/win-ffi/enums/user32/keyboard_layout_flags.rb +57 -0
- data/lib/win-ffi/enums/user32/keyboard_modifiers.rb +16 -0
- data/lib/win-ffi/enums/user32/layered_window_attributes_flags.rb +12 -0
- data/lib/win-ffi/enums/user32/map_virtual_key.rb +22 -0
- data/lib/win-ffi/enums/user32/message_filter.rb +11 -0
- data/lib/win-ffi/enums/user32/mouse_event_flags.rb +25 -0
- data/lib/win-ffi/enums/user32/mouse_keys_flags.rb +16 -0
- data/lib/win-ffi/enums/user32/mwmo.rb +17 -0
- data/lib/win-ffi/enums/user32/ocr.rb +32 -0
- data/lib/win-ffi/enums/user32/oic.rb +26 -0
- data/lib/win-ffi/enums/user32/pen_flags.rb +12 -0
- data/lib/win-ffi/enums/user32/pen_mask.rb +14 -0
- data/lib/win-ffi/enums/user32/pointer_flags.rb +82 -0
- data/lib/win-ffi/enums/user32/pointer_input_type.rb +13 -0
- data/lib/win-ffi/enums/user32/process_dpi_awareness.rb +12 -0
- data/lib/win-ffi/enums/user32/queue_status_flags.rb +36 -0
- data/lib/win-ffi/enums/user32/rim.rb +12 -0
- data/lib/win-ffi/enums/user32/touch_injection_flags.rb +13 -0
- data/lib/win-ffi/enums/user32/touch_mask.rb +13 -0
- data/lib/win-ffi/enums/user32/user_object_information_flags.rb +22 -0
- data/lib/win-ffi/enums/user32/virtual_key_flags.rb +214 -0
- data/lib/win-ffi/enums/user32/window/animate_window_flags.rb +31 -0
- data/lib/win-ffi/enums/user32/window/broadcast_system_flags.rb +20 -0
- data/lib/win-ffi/enums/user32/window/broadcast_system_message_flags.rb +12 -0
- data/lib/win-ffi/enums/user32/window/combo_box_message.rb +53 -0
- data/lib/win-ffi/enums/user32/window/get_class_long_flags.rb +34 -0
- data/lib/win-ffi/enums/user32/window/get_window_flags.rb +38 -0
- data/lib/win-ffi/enums/user32/window/get_window_long_flags.rb +16 -0
- data/lib/win-ffi/enums/user32/window/menu_flags.rb +54 -0
- data/lib/win-ffi/enums/user32/window/message_box_flags.rb +90 -0
- data/lib/win-ffi/enums/user32/window/message_box_return.rb +18 -0
- data/lib/win-ffi/enums/user32/window/notification/button_notification.rb +20 -0
- data/lib/win-ffi/enums/user32/window/notification/edit_notification.rb +19 -0
- data/lib/win-ffi/enums/user32/window/notification/static_notification.rb +13 -0
- data/lib/win-ffi/enums/user32/window/peek_message_flags.rb +13 -0
- data/lib/win-ffi/enums/user32/window/set_window_pos_flags.rb +48 -0
- data/lib/win-ffi/enums/user32/window/show_window_flags.rb +41 -0
- data/lib/win-ffi/enums/user32/window/smto.rb +22 -0
- data/lib/win-ffi/enums/user32/window/style/button_control_style.rb +37 -0
- data/lib/win-ffi/enums/user32/window/style/combo_box_style.rb +22 -0
- data/lib/win-ffi/enums/user32/window/style/edit_style.rb +23 -0
- data/lib/win-ffi/enums/user32/window/style/static_style.rb +45 -0
- data/lib/win-ffi/enums/user32/window/style/window_class_style.rb +50 -0
- data/lib/win-ffi/enums/user32/window/style/window_style.rb +85 -0
- data/lib/win-ffi/enums/user32/window/style/window_style_ex.rb +98 -0
- data/lib/win-ffi/enums/user32/window/system_menu_command.rb +37 -0
- data/lib/win-ffi/enums/user32/window/system_metrics_flags.rb +300 -0
- data/lib/win-ffi/enums/user32/window/system_parameters_info_action.rb +225 -0
- data/lib/win-ffi/enums/user32/window/system_parameters_info_flags.rb +246 -0
- data/lib/win-ffi/enums/user32/window/track_popup_menu_flags.rb +70 -0
- data/lib/win-ffi/enums/user32/window/window_long.rb +22 -0
- data/lib/win-ffi/enums/user32/window/window_messages.rb +222 -0
- data/lib/win-ffi/enums/user32/window_hook.rb +56 -0
- data/lib/win-ffi/enums/user32.rb +5 -0
- data/lib/win-ffi/functions/advapi32/process.rb +33 -0
- data/lib/win-ffi/functions/advapi32/system_info.rb +17 -0
- data/lib/win-ffi/functions/comctl32/control.rb +11 -0
- data/lib/win-ffi/functions/comctl32/listbox.rb +20 -0
- data/lib/win-ffi/functions/comctl32.rb +7 -0
- data/lib/win-ffi/functions/comdlg32/color.rb +9 -0
- data/lib/win-ffi/functions/comdlg32/error.rb +6 -0
- data/lib/win-ffi/functions/comdlg32/find_replace.rb +9 -0
- data/lib/win-ffi/functions/comdlg32/font.rb +9 -0
- data/lib/win-ffi/functions/comdlg32.rb +7 -0
- data/lib/win-ffi/functions/gdi32/bitmap.rb +275 -0
- data/lib/win-ffi/functions/gdi32/brush.rb +54 -0
- data/lib/win-ffi/functions/gdi32/device_context.rb +126 -0
- data/lib/win-ffi/functions/gdi32/filled_shape.rb +68 -0
- data/lib/win-ffi/functions/gdi32/font.rb +9 -0
- data/lib/win-ffi/functions/gdi32/metafile.rb +173 -0
- data/lib/win-ffi/functions/gdi32/opengl.rb +29 -0
- data/lib/win-ffi/functions/gdi32/painting_drawing.rb +50 -0
- data/lib/win-ffi/functions/gdi32/text.rb +376 -0
- data/lib/win-ffi/functions/gdi32.rb +7 -0
- data/lib/win-ffi/functions/kernel32/activation.rb +22 -0
- data/lib/win-ffi/functions/kernel32/dll.rb +92 -0
- data/lib/win-ffi/functions/kernel32/error.rb +28 -0
- data/lib/win-ffi/functions/kernel32/filesystem.rb +22 -0
- data/lib/win-ffi/functions/kernel32/handle.rb +29 -0
- data/lib/win-ffi/functions/kernel32/memory.rb +478 -0
- data/lib/win-ffi/functions/kernel32/process.rb +359 -0
- data/lib/win-ffi/functions/kernel32/resource.rb +141 -0
- data/lib/win-ffi/functions/kernel32/sound.rb +10 -0
- data/lib/win-ffi/functions/kernel32/string.rb +38 -0
- data/lib/win-ffi/functions/kernel32/system_info.rb +183 -0
- data/lib/win-ffi/functions/kernel32/time.rb +220 -0
- data/lib/win-ffi/functions/kernel32/volume.rb +130 -0
- data/lib/win-ffi/functions/kernel32.rb +15 -0
- data/lib/win-ffi/functions/msimg32/bitmap.rb +46 -0
- data/lib/win-ffi/functions/msvcrt/handle.rb +13 -0
- data/lib/win-ffi/functions/netapi32/network_management.rb +13 -0
- data/lib/win-ffi/functions/netapi32.rb +7 -0
- data/lib/win-ffi/functions/ntdll/system_info.rb +14 -0
- data/lib/win-ffi/functions/secur32/system_info.rb +30 -0
- data/lib/win-ffi/functions/shell32/icon.rb +49 -0
- data/lib/win-ffi/functions/shutdown.rb +84 -0
- data/lib/win-ffi/functions/thread.rb +230 -0
- data/lib/win-ffi/functions/user32/accessibility.rb +23 -0
- data/lib/win-ffi/functions/user32/authorization.rb +19 -0
- data/lib/win-ffi/functions/user32/bitmap.rb +11 -0
- data/lib/win-ffi/functions/user32/brush.rb +10 -0
- data/lib/win-ffi/functions/user32/caret.rb +36 -0
- data/lib/win-ffi/functions/user32/clipboard.rb +84 -0
- data/lib/win-ffi/functions/user32/controls/button.rb +23 -0
- data/lib/win-ffi/functions/user32/controls/combobox.rb +29 -0
- data/lib/win-ffi/functions/user32/controls/listbox.rb +25 -0
- data/lib/win-ffi/functions/user32/controls/scrollbar.rb +95 -0
- data/lib/win-ffi/functions/user32/cursor.rb +74 -0
- data/lib/win-ffi/functions/user32/dde.rb +214 -0
- data/lib/win-ffi/functions/user32/desktop.rb +76 -0
- data/lib/win-ffi/functions/user32/device.rb +17 -0
- data/lib/win-ffi/functions/user32/device_context.rb +62 -0
- data/lib/win-ffi/functions/user32/display.rb +37 -0
- data/lib/win-ffi/functions/user32/error.rb +10 -0
- data/lib/win-ffi/functions/user32/filled_shape.rb +23 -0
- data/lib/win-ffi/functions/user32/gesture.rb +38 -0
- data/lib/win-ffi/functions/user32/hook.rb +123 -0
- data/lib/win-ffi/functions/user32/icon.rb +98 -0
- data/lib/win-ffi/functions/user32/input.rb +23 -0
- data/lib/win-ffi/functions/user32/keyboard.rb +177 -0
- data/lib/win-ffi/functions/user32/keyboard_accelerators.rb +37 -0
- data/lib/win-ffi/functions/user32/mouse.rb +60 -0
- data/lib/win-ffi/functions/user32/multiple_display_monitors.rb +43 -0
- data/lib/win-ffi/functions/user32/multiple_document_interface.rb +44 -0
- data/lib/win-ffi/functions/user32/painting_drawing.rb +173 -0
- data/lib/win-ffi/functions/user32/pointer.rb +154 -0
- data/lib/win-ffi/functions/user32/power.rb +28 -0
- data/lib/win-ffi/functions/user32/print.rb +14 -0
- data/lib/win-ffi/functions/user32/process.rb +30 -0
- data/lib/win-ffi/functions/user32/raw_input.rb +55 -0
- data/lib/win-ffi/functions/user32/rect.rb +67 -0
- data/lib/win-ffi/functions/user32/resource.rb +28 -0
- data/lib/win-ffi/functions/user32/shell.rb +29 -0
- data/lib/win-ffi/functions/user32/string.rb +98 -0
- data/lib/win-ffi/functions/user32/text.rb +48 -0
- data/lib/win-ffi/functions/user32/touch.rb +69 -0
- data/lib/win-ffi/functions/user32/transform.rb +22 -0
- data/lib/win-ffi/functions/user32/window/configuration.rb +15 -0
- data/lib/win-ffi/functions/user32/window/dialog.rb +167 -0
- data/lib/win-ffi/functions/user32/window/menu.rb +245 -0
- data/lib/win-ffi/functions/user32/window/message.rb +168 -0
- data/lib/win-ffi/functions/user32/window/properties.rb +50 -0
- data/lib/win-ffi/functions/user32/window/timer.rb +37 -0
- data/lib/win-ffi/functions/user32/window/window.rb +546 -0
- data/lib/win-ffi/functions/user32/window/window_class.rb +109 -0
- data/lib/win-ffi/functions/user32/window/window_proc.rb +29 -0
- data/lib/win-ffi/functions/user32/window_station.rb +39 -0
- data/lib/win-ffi/functions/user32.rb +161 -0
- data/lib/win-ffi/functions/winmm.rb +547 -0
- data/lib/win-ffi/functions/wtsapi32/process.rb +12 -0
- data/lib/win-ffi/lib_base.rb +54 -0
- data/lib/win-ffi/struct.rb +15 -0
- data/lib/win-ffi/structs/comctl32/init_common_controls_ex.rb +10 -0
- data/lib/win-ffi/structs/comdlg32/choose_color.rb +23 -0
- data/lib/win-ffi/structs/comdlg32/choose_font.rb +28 -0
- data/lib/win-ffi/structs/comdlg32/find_replace.rb +24 -0
- data/lib/win-ffi/structs/gdi32/abc.rb +9 -0
- data/lib/win-ffi/structs/gdi32/abcfloat.rb +10 -0
- data/lib/win-ffi/structs/gdi32/bitmap.rb +13 -0
- data/lib/win-ffi/structs/gdi32/bitmap_info.rb +11 -0
- data/lib/win-ffi/structs/gdi32/bitmap_info_header.rb +17 -0
- data/lib/win-ffi/structs/gdi32/blend_function.rb +10 -0
- data/lib/win-ffi/structs/gdi32/display_device.rb +12 -0
- data/lib/win-ffi/structs/gdi32/handle_table.rb +7 -0
- data/lib/win-ffi/structs/gdi32/kerning_pair.rb +9 -0
- data/lib/win-ffi/structs/gdi32/log_brush.rb +10 -0
- data/lib/win-ffi/structs/gdi32/log_font.rb +20 -0
- data/lib/win-ffi/structs/gdi32/meta_file_pict.rb +10 -0
- data/lib/win-ffi/structs/gdi32/palette_entry.rb +10 -0
- data/lib/win-ffi/structs/gdi32/pixel_format_descriptor.rb +57 -0
- data/lib/win-ffi/structs/gdi32/rgb_quad.rb +10 -0
- data/lib/win-ffi/structs/kernel32/actctx.rb +22 -0
- data/lib/win-ffi/structs/netapi32/wksta_info_100.rb +9 -0
- data/lib/win-ffi/structs/os_version_info.rb +10 -0
- data/lib/win-ffi/structs/os_version_info_ex.rb +70 -0
- data/lib/win-ffi/structs/paint_struct.rb +12 -0
- data/lib/win-ffi/structs/point.rb +10 -0
- data/lib/win-ffi/structs/rect.rb +28 -0
- data/lib/win-ffi/structs/size.rb +6 -0
- data/lib/win-ffi/structs/user32/controls/combobox_info.rb +13 -0
- data/lib/win-ffi/structs/user32/controls/scroll_info.rb +13 -0
- data/lib/win-ffi/structs/user32/controls/scrollbar_info.rb +13 -0
- data/lib/win-ffi/structs/user32/cursor_info.rb +10 -0
- data/lib/win-ffi/structs/user32/display_device.rb +12 -0
- data/lib/win-ffi/structs/user32/draw_text_params.rb +11 -0
- data/lib/win-ffi/structs/user32/icon_info.rb +11 -0
- data/lib/win-ffi/structs/user32/icon_info_ex.rb +15 -0
- data/lib/win-ffi/structs/user32/last_input_info.rb +8 -0
- data/lib/win-ffi/structs/user32/mouse_move_point.rb +10 -0
- data/lib/win-ffi/structs/user32/msg.rb +16 -0
- data/lib/win-ffi/structs/user32/pointer_info.rb +25 -0
- data/lib/win-ffi/structs/user32/pointer_pen_info.rb +18 -0
- data/lib/win-ffi/structs/user32/pointer_touch_info.rb +17 -0
- data/lib/win-ffi/structs/user32/raw_input_device_list.rb +10 -0
- data/lib/win-ffi/structs/user32/raw_input_header.rb +10 -0
- data/lib/win-ffi/structs/user32/touch_hit_testing_input.rb +11 -0
- data/lib/win-ffi/structs/user32/touch_hit_testing_proximity_evaluation.rb +8 -0
- data/lib/win-ffi/structs/user32/track_mouse_event.rb +10 -0
- data/lib/win-ffi/structs/user32/window/alt_tab_info.rb +17 -0
- data/lib/win-ffi/structs/user32/window/bs_info.rb +12 -0
- data/lib/win-ffi/structs/user32/window/create_struct.rb +22 -0
- data/lib/win-ffi/structs/user32/window/dlg_template.rb +13 -0
- data/lib/win-ffi/structs/user32/window/flashw_info.rb +11 -0
- data/lib/win-ffi/structs/user32/window/gui_thread_info.rb +17 -0
- data/lib/win-ffi/structs/user32/window/luid.rb +8 -0
- data/lib/win-ffi/structs/user32/window/menu_info.rb +13 -0
- data/lib/win-ffi/structs/user32/window/menu_item_info.rb +18 -0
- data/lib/win-ffi/structs/user32/window/menu_item_template.rb +9 -0
- data/lib/win-ffi/structs/user32/window/menubar_info.rb +12 -0
- data/lib/win-ffi/structs/user32/window/msgbox_params.rb +16 -0
- data/lib/win-ffi/structs/user32/window/non_client_metrics.rb +29 -0
- data/lib/win-ffi/structs/user32/window/title_bar_info.rb +9 -0
- data/lib/win-ffi/structs/user32/window/tpm_params.rb +8 -0
- data/lib/win-ffi/structs/user32/window/update_layered_window_info.rb +22 -0
- data/lib/win-ffi/structs/user32/window/window_placement.rb +32 -0
- data/lib/win-ffi/structs/user32/window/window_pos.rb +46 -0
- data/lib/win-ffi/structs/user32/window/wndclass.rb +19 -0
- data/lib/win-ffi/structs/user32/window/wndclassex.rb +40 -0
- data/lib/win-ffi/version.rb +3 -0
- data/lib/win-ffi.rb +42 -0
- metadata +363 -0
@@ -0,0 +1,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
|