Module: WinFFI

Extended by:
LibBase
Defined in:
lib/win-ffi/enums/comctl32/window/style/window_class_style.rb,
lib/win-ffi.rb,
lib/win-ffi/struct.rb,
lib/win-ffi/version.rb,
lib/win-ffi/enums/lr.rb,
lib/win-ffi/lib_base.rb,
lib/win-ffi/enums/gdi32.rb,
lib/win-ffi/enums/user32.rb,
lib/win-ffi/structs/rect.rb,
lib/win-ffi/structs/size.rb,
lib/win-ffi/structs/point.rb,
lib/win-ffi/enums/comctl32.rb,
lib/win-ffi/enums/kernel32.rb,
lib/win-ffi/enums/netapi32.rb,
lib/win-ffi/enums/gdi32/dib.rb,
lib/win-ffi/functions/gdi32.rb,
lib/win-ffi/enums/user32/ocr.rb,
lib/win-ffi/enums/user32/oic.rb,
lib/win-ffi/enums/user32/rim.rb,
lib/win-ffi/functions/thread.rb,
lib/win-ffi/functions/user32.rb,
lib/win-ffi/enums/color_types.rb,
lib/win-ffi/enums/user32/icon.rb,
lib/win-ffi/enums/user32/mwmo.rb,
lib/win-ffi/structs/gdi32/abc.rb,
lib/win-ffi/enums/user32/image.rb,
lib/win-ffi/functions/comctl32.rb,
lib/win-ffi/functions/comdlg32.rb,
lib/win-ffi/functions/kernel32.rb,
lib/win-ffi/functions/netapi32.rb,
lib/win-ffi/functions/shutdown.rb,
lib/win-ffi/structs/user32/msg.rb,
lib/win-ffi/enums/comdlg32/font.rb,
lib/win-ffi/enums/firmware_type.rb,
lib/win-ffi/enums/gdi32/pfd_type.rb,
lib/win-ffi/functions/gdi32/font.rb,
lib/win-ffi/functions/gdi32/text.rb,
lib/win-ffi/functions/user32/dde.rb,
lib/win-ffi/structs/gdi32/bitmap.rb,
lib/win-ffi/structs/paint_struct.rb,
lib/win-ffi/enums/gdi32/pfd_flags.rb,
lib/win-ffi/enums/kernel32/handle.rb,
lib/win-ffi/enums/kernel32/memory.rb,
lib/win-ffi/enums/kernel32/volume.rb,
lib/win-ffi/enums/user32/pen_mask.rb,
lib/win-ffi/functions/gdi32/brush.rb,
lib/win-ffi/functions/user32/hook.rb,
lib/win-ffi/functions/user32/icon.rb,
lib/win-ffi/functions/user32/rect.rb,
lib/win-ffi/functions/user32/text.rb,
lib/win-ffi/enums/user32/pen_flags.rb,
lib/win-ffi/functions/gdi32/bitmap.rb,
lib/win-ffi/functions/gdi32/opengl.rb,
lib/win-ffi/functions/kernel32/dll.rb,
lib/win-ffi/functions/shell32/icon.rb,
lib/win-ffi/functions/user32/brush.rb,
lib/win-ffi/functions/user32/caret.rb,
lib/win-ffi/functions/user32/error.rb,
lib/win-ffi/functions/user32/input.rb,
lib/win-ffi/functions/user32/mouse.rb,
lib/win-ffi/functions/user32/power.rb,
lib/win-ffi/functions/user32/print.rb,
lib/win-ffi/functions/user32/shell.rb,
lib/win-ffi/functions/user32/touch.rb,
lib/win-ffi/structs/gdi32/abcfloat.rb,
lib/win-ffi/structs/gdi32/log_font.rb,
lib/win-ffi/structs/gdi32/rgb_quad.rb,
lib/win-ffi/enums/user32/edge_flags.rb,
lib/win-ffi/enums/user32/touch_mask.rb,
lib/win-ffi/functions/comdlg32/font.rb,
lib/win-ffi/functions/kernel32/time.rb,
lib/win-ffi/functions/msvcrt/handle.rb,
lib/win-ffi/functions/user32/bitmap.rb,
lib/win-ffi/functions/user32/cursor.rb,
lib/win-ffi/functions/user32/device.rb,
lib/win-ffi/functions/user32/string.rb,
lib/win-ffi/structs/gdi32/log_brush.rb,
lib/win-ffi/structs/kernel32/actctx.rb,
lib/win-ffi/structs/os_version_info.rb,
lib/win-ffi/enums/gdi32/hatch_styles.rb,
lib/win-ffi/enums/user32/window/smto.rb,
lib/win-ffi/enums/user32/window_hook.rb,
lib/win-ffi/functions/comdlg32/color.rb,
lib/win-ffi/functions/comdlg32/error.rb,
lib/win-ffi/functions/gdi32/metafile.rb,
lib/win-ffi/functions/kernel32/error.rb,
lib/win-ffi/functions/kernel32/sound.rb,
lib/win-ffi/functions/msimg32/bitmap.rb,
lib/win-ffi/functions/user32/desktop.rb,
lib/win-ffi/functions/user32/display.rb,
lib/win-ffi/functions/user32/gesture.rb,
lib/win-ffi/functions/user32/pointer.rb,
lib/win-ffi/functions/user32/process.rb,
lib/win-ffi/structs/user32/icon_info.rb,
lib/win-ffi/enums/kernel32/heap_flags.rb,
lib/win-ffi/enums/user32/border_flags.rb,
lib/win-ffi/functions/kernel32/handle.rb,
lib/win-ffi/functions/kernel32/memory.rb,
lib/win-ffi/functions/kernel32/string.rb,
lib/win-ffi/functions/kernel32/volume.rb,
lib/win-ffi/functions/user32/keyboard.rb,
lib/win-ffi/functions/user32/resource.rb,
lib/win-ffi/structs/gdi32/bitmap_info.rb,
lib/win-ffi/enums/extended_name_format.rb,
lib/win-ffi/enums/gdi32/device_context.rb,
lib/win-ffi/enums/gdi32/pfd_layer_type.rb,
lib/win-ffi/enums/kernel32/local_flags.rb,
lib/win-ffi/enums/kernel32/sound_flags.rb,
lib/win-ffi/enums/user32/feedback_type.rb,
lib/win-ffi/enums/user32/pointer_flags.rb,
lib/win-ffi/functions/advapi32/process.rb,
lib/win-ffi/functions/comctl32/control.rb,
lib/win-ffi/functions/comctl32/listbox.rb,
lib/win-ffi/functions/kernel32/process.rb,
lib/win-ffi/functions/user32/clipboard.rb,
lib/win-ffi/functions/user32/raw_input.rb,
lib/win-ffi/functions/user32/transform.rb,
lib/win-ffi/functions/wtsapi32/process.rb,
lib/win-ffi/structs/gdi32/handle_table.rb,
lib/win-ffi/structs/gdi32/kerning_pair.rb,
lib/win-ffi/structs/os_version_info_ex.rb,
lib/win-ffi/structs/user32/cursor_info.rb,
lib/win-ffi/structs/user32/window/luid.rb,
lib/win-ffi/enums/comdlg32/find_replace.rb,
lib/win-ffi/enums/kernel32/memory_flags.rb,
lib/win-ffi/enums/user32/message_filter.rb,
lib/win-ffi/functions/kernel32/resource.rb,
lib/win-ffi/functions/ntdll/system_info.rb,
lib/win-ffi/structs/gdi32/palette_entry.rb,
lib/win-ffi/structs/user32/icon_info_ex.rb,
lib/win-ffi/structs/user32/pointer_info.rb,
lib/win-ffi/enums/user32/key_event_flags.rb,
lib/win-ffi/enums/user32/map_virtual_key.rb,
lib/win-ffi/functions/gdi32/filled_shape.rb,
lib/win-ffi/functions/user32/window/menu.rb,
lib/win-ffi/structs/comdlg32/choose_font.rb,
lib/win-ffi/structs/gdi32/blend_function.rb,
lib/win-ffi/structs/gdi32/display_device.rb,
lib/win-ffi/structs/gdi32/meta_file_pict.rb,
lib/win-ffi/enums/gdi32/raster_operations.rb,
lib/win-ffi/enums/netapi21/net_api_status.rb,
lib/win-ffi/enums/user32/mouse_keys_flags.rb,
lib/win-ffi/functions/kernel32/activation.rb,
lib/win-ffi/functions/kernel32/filesystem.rb,
lib/win-ffi/functions/user32/filled_shape.rb,
lib/win-ffi/functions/user32/window/timer.rb,
lib/win-ffi/structs/comdlg32/choose_color.rb,
lib/win-ffi/structs/comdlg32/find_replace.rb,
lib/win-ffi/structs/user32/display_device.rb,
lib/win-ffi/structs/user32/window/bs_info.rb,
lib/win-ffi/enums/user32/append_menu_flags.rb,
lib/win-ffi/enums/user32/clipboard_formats.rb,
lib/win-ffi/enums/user32/mouse_event_flags.rb,
lib/win-ffi/enums/user32/virtual_key_flags.rb,
lib/win-ffi/enums/user32/window/menu_flags.rb,
lib/win-ffi/functions/advapi32/system_info.rb,
lib/win-ffi/functions/gdi32/device_context.rb,
lib/win-ffi/functions/kernel32/system_info.rb,
lib/win-ffi/functions/user32/accessibility.rb,
lib/win-ffi/functions/user32/authorization.rb,
lib/win-ffi/functions/user32/window/dialog.rb,
lib/win-ffi/functions/user32/window/window.rb,
lib/win-ffi/structs/user32/last_input_info.rb,
lib/win-ffi/structs/user32/window/wndclass.rb,
lib/win-ffi/enums/user32/draw_caption_flags.rb,
lib/win-ffi/enums/user32/get_ancestor_flags.rb,
lib/win-ffi/enums/user32/keyboard_modifiers.rb,
lib/win-ffi/enums/user32/pointer_input_type.rb,
lib/win-ffi/enums/user32/queue_status_flags.rb,
lib/win-ffi/enums/user32/window/window_long.rb,
lib/win-ffi/functions/comdlg32/find_replace.rb,
lib/win-ffi/functions/user32/device_context.rb,
lib/win-ffi/functions/user32/window/message.rb,
lib/win-ffi/functions/user32/window_station.rb,
lib/win-ffi/structs/netapi32/wksta_info_100.rb,
lib/win-ffi/structs/user32/draw_text_params.rb,
lib/win-ffi/structs/user32/mouse_move_point.rb,
lib/win-ffi/structs/user32/pointer_pen_info.rb,
lib/win-ffi/structs/user32/raw_input_header.rb,
lib/win-ffi/structs/user32/window/menu_info.rb,
lib/win-ffi/enums/user32/device_notify_flags.rb,
lib/win-ffi/functions/gdi32/painting_drawing.rb,
lib/win-ffi/functions/user32/controls/button.rb,
lib/win-ffi/structs/gdi32/bitmap_info_header.rb,
lib/win-ffi/structs/user32/track_mouse_event.rb,
lib/win-ffi/structs/user32/window/tpm_params.rb,
lib/win-ffi/structs/user32/window/window_pos.rb,
lib/win-ffi/structs/user32/window/wndclassex.rb,
lib/win-ffi/enums/kernel32/activation_context.rb,
lib/win-ffi/enums/kernel32/global_alloc_flags.rb,
lib/win-ffi/functions/user32/controls/listbox.rb,
lib/win-ffi/functions/user32/painting_drawing.rb,
lib/win-ffi/structs/user32/pointer_touch_info.rb,
lib/win-ffi/structs/user32/window/flashw_info.rb,
lib/win-ffi/enums/user32/keyboard_layout_flags.rb,
lib/win-ffi/enums/user32/process_dpi_awareness.rb,
lib/win-ffi/enums/user32/touch_injection_flags.rb,
lib/win-ffi/functions/user32/controls/combobox.rb,
lib/win-ffi/functions/user32/window/properties.rb,
lib/win-ffi/structs/user32/window/alt_tab_info.rb,
lib/win-ffi/structs/user32/window/dlg_template.rb,
lib/win-ffi/structs/user32/window/menubar_info.rb,
lib/win-ffi/enums/comctl32/init_common_controls.rb,
lib/win-ffi/enums/kernel32/computer_name_format.rb,
lib/win-ffi/enums/kernel32/format_message_flags.rb,
lib/win-ffi/enums/kernel32/set_error_mode_flags.rb,
lib/win-ffi/enums/user32/window/window_messages.rb,
lib/win-ffi/functions/user32/controls/scrollbar.rb,
lib/win-ffi/functions/user32/window/window_proc.rb,
lib/win-ffi/structs/user32/controls/scroll_info.rb,
lib/win-ffi/structs/user32/window/create_struct.rb,
lib/win-ffi/structs/user32/window/msgbox_params.rb,
lib/win-ffi/enums/user32/window/get_window_flags.rb,
lib/win-ffi/enums/user32/window/style/edit_style.rb,
lib/win-ffi/functions/user32/window/window_class.rb,
lib/win-ffi/structs/user32/raw_input_device_list.rb,
lib/win-ffi/structs/user32/window/menu_item_info.rb,
lib/win-ffi/structs/user32/window/title_bar_info.rb,
lib/win-ffi/enums/user32/draw_frame_control_flags.rb,
lib/win-ffi/enums/user32/window/combo_box_message.rb,
lib/win-ffi/enums/user32/window/message_box_flags.rb,
lib/win-ffi/enums/user32/window/show_window_flags.rb,
lib/win-ffi/functions/netapi32/network_management.rb,
lib/win-ffi/functions/user32/window/configuration.rb,
lib/win-ffi/structs/gdi32/pixel_format_descriptor.rb,
lib/win-ffi/structs/user32/controls/combobox_info.rb,
lib/win-ffi/structs/user32/window/gui_thread_info.rb,
lib/win-ffi/enums/user32/window/message_box_return.rb,
lib/win-ffi/enums/user32/window/peek_message_flags.rb,
lib/win-ffi/enums/user32/window/style/static_style.rb,
lib/win-ffi/enums/user32/window/style/window_style.rb,
lib/win-ffi/functions/user32/keyboard_accelerators.rb,
lib/win-ffi/structs/user32/controls/scrollbar_info.rb,
lib/win-ffi/structs/user32/touch_hit_testing_input.rb,
lib/win-ffi/structs/user32/window/window_placement.rb,
lib/win-ffi/enums/user32/window/system_menu_command.rb,
lib/win-ffi/enums/kernel32/get_module_handle_ex_flag.rb,
lib/win-ffi/enums/user32/window/animate_window_flags.rb,
lib/win-ffi/enums/user32/window/get_class_long_flags.rb,
lib/win-ffi/enums/user32/window/set_window_pos_flags.rb,
lib/win-ffi/enums/user32/window/system_metrics_flags.rb,
lib/win-ffi/structs/comctl32/init_common_controls_ex.rb,
lib/win-ffi/structs/user32/window/menu_item_template.rb,
lib/win-ffi/structs/user32/window/non_client_metrics.rb,
lib/win-ffi/enums/user32/window/get_window_long_flags.rb,
lib/win-ffi/enums/user32/window/style/combo_box_style.rb,
lib/win-ffi/enums/user32/window/style/window_style_ex.rb,
lib/win-ffi/enums/kernel32/memory_protection_constants.rb,
lib/win-ffi/enums/user32/user_object_information_flags.rb,
lib/win-ffi/enums/user32/window/broadcast_system_flags.rb,
lib/win-ffi/enums/user32/window/track_popup_menu_flags.rb,
lib/win-ffi/functions/user32/multiple_display_monitors.rb,
lib/win-ffi/enums/user32/draw_frame_control_state_flags.rb,
lib/win-ffi/enums/user32/layered_window_attributes_flags.rb,
lib/win-ffi/enums/user32/window/style/window_class_style.rb,
lib/win-ffi/functions/user32/multiple_document_interface.rb,
lib/win-ffi/enums/user32/window/style/button_control_style.rb,
lib/win-ffi/enums/user32/window/system_parameters_info_flags.rb,
lib/win-ffi/structs/user32/window/update_layered_window_info.rb,
lib/win-ffi/enums/user32/window/system_parameters_info_action.rb,
lib/win-ffi/enums/user32/window/broadcast_system_message_flags.rb,
lib/win-ffi/enums/user32/window/notification/edit_notification.rb,
lib/win-ffi/enums/user32/window/notification/button_notification.rb,
lib/win-ffi/enums/user32/window/notification/static_notification.rb,
lib/win-ffi/structs/user32/touch_hit_testing_proximity_evaluation.rb

Overview

defined in commctrl.h

Defined Under Namespace

Modules: Advapi32, Comctl32, Comdlg32, Gdi32, Kernel32, LibBase, Msimg32, Msvcrt, Netapi32, Ntdll, Shell32, Shutdown, Thread, User32, Wtsapi32 Classes: FFIStruct, OSVERSIONINFO, OSVERSIONINFOEX, PAINTSTRUCT, POINT, RECT, SIZE, WKSTA_INFO_100

Constant Summary collapse

WindowsVersion =
OSVERSIONINFOEX.new.get!
VERSION =
'0.3.0'
LR =
enum :lr,
[
    :DEFAULTCOLOR, 0x00000000, # The default flag; it does nothing. All it means is "not :MONOCHROME".

    :MONOCHROME, 0x00000001, # Loads the image in black and white.

    :LOADTRANSPARENT, 0x00000020, # Retrieves the color value of the first pixel in the image and replaces the
    # corresponding entry in the color table with the default window color (COLOR_WINDOW). All pixels in the image
    # that use that entry become the default window color. This value applies only to images that have corresponding
    # color tables.

    :DEFAULTSIZE, 0x00000040, # Uses the width or height specified by the system metric values for cursors or icons,
    # if the cxDesired or cyDesired values are set to zero. If this flag is not specified and cxDesired and
    # cyDesired are set to zero, the function uses the actual resource size. If the resource contains multiple
    # images, the function uses the size of the first image.

    :LOADFROMFILE, 0x00000010, # Loads the stand-alone image from the file specified by lpszName (icon, cursor, or
    # bitmap file).

    :LOADMAP3DCOLORS, 0x00001000, # Searches the color table for the image and replaces the following shades of gray
    # with the corresponding 3-D color.
    #Dk Gray, RGB(128,128,128) with COLOR_3DSHADOW
    #Gray, RGB(192,192,192) with COLOR_3DFACE
    #Lt Gray, RGB(223,223,223) with COLOR_3DLIGHT
    # Do not use this option if you are loading a bitmap with a color depth greater than 8bpp.

    :CREATEDIBSECTION, 0x00002000, # When the uType parameter specifies IMAGE_BITMAP, causes the function to return
    # a DIB section bitmap rather than a compatible bitmap. This flag is useful for loading a bitmap without mapping
    # it to the colors of the display device.
    # Do not use this option if you are loading a bitmap with a color depth greater than 8bpp.
    # If fuLoad includes both the :LOADTRANSPARENT and :LOADMAP3DCOLORS values, :LOADTRANSPARENT takes precedence.
    # However, the color table entry is replaced with COLOR_3DFACE rather than COLOR_WINDOW.

    :SHARED, 0x00008000, # Shares the image handle if the image is loaded multiple times. If :SHARED is not set, a
    # second call to LoadImage for the same resource will load the image again and return a different handle.
    # When you use this flag, the system will destroy the resource when it is no longer needed.
    # Do not use :SHARED for images that have non-standard sizes, that may change after loading, or that are loaded
    # from a file. When loading a system icon or cursor, you must use :SHARED or the function will fail to load the
    # resource. This function finds the first image in the cache with the requested resource name, regardless of the
    # size requested.

    :VGACOLOR, 0x00000080, # Uses true VGA colors.
]
ColorTypes =
enum :color_types, [
    :SCROLLBAR, 0, # Scroll bar gray area.
    :BACKGROUND, 1, # Desktop.
    :DESKTOP, 1, # Desktop.
    :ACTIVECAPTION, 2, # Active window title bar. Specifies the left side color in the color gradient of an active
    # window's title bar if the gradient effect is enabled.

    :INACTIVECAPTION, 3, # Inactive window caption. Specifies the left side color in the color gradient of an
    # inactive window's title bar if the gradient effect is enabled.

    :MENU, 4, # Menu background.
    :WINDOW, 5, # Window background.
    :WINDOWFRAME, 6, # Window frame.
    :MENUTEXT, 7, # Text in menus.
    :WINDOWTEXT, 8, # Text in windows.
    :CAPTIONTEXT, 9, # Text in caption, size box, and scroll bar arrow box.
    :ACTIVEBORDER, 10, # Active window border.
    :INACTIVEBORDER, 11, # Inactive window border.
    :APPWORKSPACE, 12, # Background color of multiple document interface (MDI) applications.
    :HIGHLIGHT, 13, # Item(s) selected in a control.
    :HIGHLIGHTTEXT, 14, # Text of item(s) selected in a control.
    :'3DFACE', 15, # Face color for three-dimensional display elements and for dialog box backgrounds.
    :BTNFACE, 15, # Face color for three-dimensional display elements and for dialog box backgrounds.
    :'3DSHADOW', 16, # Shadow color for three-dimensional display elements (for edges facing away from the light source).
    :BTNSHADOW, 16, # Shadow color for three-dimensional display elements (for edges facing away from the light source).
    :GRAYTEXT, 17, # Grayed (disabled) text. This color is set to 0 if the current display driver does not support a solid gray color.
    :BTNTEXT, 18, # Text on push buttons.
    :INACTIVECAPTIONTEXT, 19, # Color of text in an inactive caption.
    :'3DHILIGHT', 20, # Highlight color for three-dimensional display elements (for edges facing the light source.)
    :'3DHIGHLIGHT', 20, #Highlight color for three-dimensional display elements (for edges facing the light source.)
    :BTNHILIGHT, 20, # Highlight color for three-dimensional display elements (for edges facing the light source.)
    :BTNHIGHLIGHT, 20, # Highlight color for three-dimensional display elements (for edges facing the light source.)

    # WINVER >= 0x0400
    :'3DDKSHADOW', 21, # Dark shadow for three-dimensional display elements.
    :'3DLIGHT', 22, # Light color for three-dimensional display elements (for edges facing the light source.)
    :INFOTEXT, 23, # Text color for tooltip controls.
    :INFOBK, 24, # Background color for tooltip controls.

    # WINVER >= 0x0500
    :HOTLIGHT, 26, # Color for a hyperlink or hot-tracked item.

    :GRADIENTACTIVECAPTION, 27, # Right side color in the color gradient of an active window's title bar.
    # :ACTIVECAPTION specifies the left side color. Use SPI_GETGRADIENTCAPTIONS with the SystemParametersInfo
    # function to determine whether the gradient effect is enabled.

    :GRADIENTINACTIVECAPTION, 28, # Right side color in the color gradient of an inactive window's title bar.
    # :INACTIVECAPTION specifies the left side color.
    # WINVER >= 0x0501
    :MENUHILIGHT, 29, # The color used to highlight menu items when the menu appears as a flat menu (see
    # SystemParametersInfo). The highlighted menu item is outlined with :HIGHLIGHT. Windows 2000:  This value is not
    # supported.

    :MENUBAR, 30, #The background color for the menu bar when menus appear as flat menus (see SystemParametersInfo).
                  # However, :MENU continues to specify the background color of the menu popup. Windows 2000:  This value is not
                  # supported.
]
FirmwareType =
enum :firmware_type,
[
  :Unknown, 0,
  :Bios,    1,
  :Uefi,    2,
  :Max,     3
]
ExtendedNameFormat =
enum :extended_name_format,
[
  :Unknown,          0,
  :FullyQualifiedDN, 1,
  :SamCompatible,    2,
  :Display,          3,
  :UniqueId,         6,
  :Canonical,        7,
  :UserPrincipal,    8,
  :CanonicalEx,      9,
  :ServicePrincipal, 10,
  :DnsDomain,        12
]
ComputerNameFormat =

Enum COMPUTER_NAME_FORMAT

enum :computer_name_format,
[
  :NetBIOS,                   0,
  :DnsHostname,               1,
  :DnsDomain,                 2,
  :DnsFullyQualified,         3,
  :PhysicalNetBIOS,           4,
  :PhysicalDnsHostname,       5,
  :PhysicalDnsDomain,         6,
  :PhysicalDnsFullyQualified, 7,
  :Max,                       8
]
SetErrorModeFlags =
enum :set_error_mode_flags,
[
  :FAILCRITICALERRORS,     0x0001,
  :NOALIGNMENTFAULTEXCEPT, 0x0004,
  :NOGPFAULTERRORBOX,      0x0002,
  :NOOPENFILEERRORBOX,     0x8000
]

Method Summary

Methods included from LibBase

extended