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,85 @@
|
|
|
1
|
+
require 'win-ffi/enums/user32'
|
|
2
|
+
|
|
3
|
+
module WinFFI
|
|
4
|
+
module User32
|
|
5
|
+
WindowStyle = enum :window_style,
|
|
6
|
+
[
|
|
7
|
+
:BORDER, 0x00800000, # has a thin-line border.
|
|
8
|
+
|
|
9
|
+
:CAPTION, 0x00C00000, # has a title bar (includes the WS_BORDER style). :BORDER | :DLGFRAME
|
|
10
|
+
|
|
11
|
+
:CHILD, 0x40000000, # is a child window. A window with this style cannot have a menu bar. This style
|
|
12
|
+
# cannot be used with the WS_POPUP style.
|
|
13
|
+
|
|
14
|
+
:CHILDWINDOW, 0x40000000, # Same as the WS_CHILD style.
|
|
15
|
+
|
|
16
|
+
:CLIPCHILDREN, 0x02000000, # Excludes the area occupied by child windows when drawing occurs within the parent
|
|
17
|
+
# window. This style is used when creating the parent window.
|
|
18
|
+
|
|
19
|
+
:CLIPSIBLINGS, 0x04000000, # Clips child windows relative to each other; that is, when a particular child
|
|
20
|
+
# window receives a WM_PAINT message, the WS_CLIPSIBLINGS style clips all other overlapping child windows out of
|
|
21
|
+
# the region of the child window to be updated. If WS_CLIPSIBLINGS is not specified and child windows overlap, it
|
|
22
|
+
# is possible, when drawing within the client area of a child window, to draw within the client area of a
|
|
23
|
+
# neighboring child window.
|
|
24
|
+
|
|
25
|
+
:DISABLED, 0x08000000, # is initially disabled. A disabled window cannot receive input from the user. To
|
|
26
|
+
# change this after a window has been created, use the EnableWindow function.
|
|
27
|
+
|
|
28
|
+
:DLGFRAME, 0x00400000, #has a border of a style typically used with dialog boxes. A window with this style
|
|
29
|
+
# cannot have a title bar. [Doesn't work]
|
|
30
|
+
|
|
31
|
+
:GROUP, 0x00020000, # is the first control of a group of controls. The group consists of this first
|
|
32
|
+
# control and all controls defined after it, up to the next control with the WS_GROUP style. The first control
|
|
33
|
+
# in each group usually has the WS_TABSTOP style so that the user can move from group to group. The user can
|
|
34
|
+
# subsequently change the keyboard focus from one control in the group to the next control in the group by using
|
|
35
|
+
# the direction keys. You can turn this style on and off to change dialog box navigation. To change this style
|
|
36
|
+
# after a window has been created, use the SetWindowLong function.
|
|
37
|
+
|
|
38
|
+
:HSCROLL, 0x00100000, # has a horizontal scroll bar.
|
|
39
|
+
|
|
40
|
+
:ICONIC, 0x20000000, # is initially minimized. Same as the WS_MINIMIZE style.
|
|
41
|
+
|
|
42
|
+
:MAXIMIZE, 0x01000000, # is initially maximized.
|
|
43
|
+
|
|
44
|
+
:MAXIMIZEBOX, 0x00010000, # has a maximize button. Cannot be combined with the WS_EX_CONTEXTHELP style. The
|
|
45
|
+
# WS_SYSMENU style must also be specified.
|
|
46
|
+
|
|
47
|
+
:MINIMIZE, 0x20000000, # is initially minimized. Same as the :ICONIC style.
|
|
48
|
+
|
|
49
|
+
:MINIMIZEBOX, 0x00020000, # has a minimize button. Cannot be combined with the WS_EX_CONTEXTHELP style. The
|
|
50
|
+
# WS_SYSMENU style must also be specified.
|
|
51
|
+
|
|
52
|
+
:OVERLAPPED, 0x00000000, # is an overlapped window. An overlapped window has a title bar and a border.
|
|
53
|
+
# Same as the WS_TILED style.
|
|
54
|
+
|
|
55
|
+
:OVERLAPPEDWINDOW, 0x00CF0000, # is an overlapped window. Same as the :TILEDWINDOW style.
|
|
56
|
+
|
|
57
|
+
:POPUP, 0x80000000, #s is a pop-up window. This style cannot be used with the :CHILD style.
|
|
58
|
+
|
|
59
|
+
:POPUPWINDOW, 0x80880000, # is a pop-up window. The WS_CAPTION and WS_POPUPWINDOW styles must be combined to
|
|
60
|
+
# make menu visible.
|
|
61
|
+
|
|
62
|
+
:SIZEBOX, 0x00040000, # has a sizing border. Same as the :THICKFRAME style.
|
|
63
|
+
|
|
64
|
+
:SYSMENU, 0x00080000, # has a window menu on its title bar. [ The :CAPTION style must also be specified. ]->should
|
|
65
|
+
|
|
66
|
+
:TABSTOP, 0x00010000, # is a control that can receive the keyboard focus when the user presses the TAB
|
|
67
|
+
# key. Pressing the TAB key changes the keyboard focus to the next control with the WS_TABSTOP style. You can turn
|
|
68
|
+
# this style on and off to change dialog box navigation. To change this style after a window has been created, use
|
|
69
|
+
# the SetWindowLong function. For user-created windows and modeless dialogs to work with tab stops, alter the
|
|
70
|
+
# message loop to call the IsDialogMessage function.
|
|
71
|
+
|
|
72
|
+
:THICKFRAME, 0x00040000, # has a sizing border. Same as the :SIZEBOX style.
|
|
73
|
+
|
|
74
|
+
:TILED, 0x00000000, # is an overlapped window. An overlapped window has a title bar and a border. Same
|
|
75
|
+
# as the :OVERLAPPED style.
|
|
76
|
+
|
|
77
|
+
:TILEDWINDOW, 0x00CF0000, # is an overlapped window. Same as the :OVERLAPPEDWINDOW style.
|
|
78
|
+
|
|
79
|
+
:VISIBLE, 0x10000000, # is initially visible. This style can be turned on and off by using the ShowWindow
|
|
80
|
+
# or SetWindowPos function.
|
|
81
|
+
|
|
82
|
+
:VSCROLL, 0x00200000 # has a vertical scroll bar.
|
|
83
|
+
]
|
|
84
|
+
end
|
|
85
|
+
end
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
require 'win-ffi/enums/user32'
|
|
2
|
+
|
|
3
|
+
module WinFFI
|
|
4
|
+
module User32
|
|
5
|
+
WindowStyleEx = enum :window_style_ex,
|
|
6
|
+
[
|
|
7
|
+
:ACCEPTFILES, 0x00000010, # accepts drag-drop files.
|
|
8
|
+
|
|
9
|
+
:APPWINDOW, 0x00040000, # Forces a top-level window onto the taskbar when the window is visible.
|
|
10
|
+
|
|
11
|
+
:CLIENTEDGE, 0x00000200, # has a border with a sunken edge.
|
|
12
|
+
|
|
13
|
+
:COMPOSITED, 0x02000000, # Paints all descendants of a window in bottom-to-top painting order using
|
|
14
|
+
# double-buffering. For more information, see Remarks. This cannot be used if the window has a class style of
|
|
15
|
+
# either :OWNDC or :CLASSDC.
|
|
16
|
+
|
|
17
|
+
:CONTEXTHELP, 0x00000400, # The title bar of the window includes a question mark. When the user clicks the
|
|
18
|
+
# question mark, the cursor changes to a question mark with a pointer. If the user then clicks a child window, the
|
|
19
|
+
# child receives a WM_HELP message. The child window should pass the message to the parent window procedure, which
|
|
20
|
+
# should call the WinHelp function using the HELP_WM_HELP command. The Help application displays a pop-up window
|
|
21
|
+
# that typically contains help for the child window.
|
|
22
|
+
#WS_EX_CONTEXTHELP cannot be used with the :MAXIMIZEBOX or :MINIMIZEBOX styles.
|
|
23
|
+
|
|
24
|
+
:CONTROLPARENT, 0x00010000, # contains child windows that should take part in dialog box navigation. If this
|
|
25
|
+
# style is specified, the dialog manager recurses into children of this window when performing navigation
|
|
26
|
+
# operations such as handling the TAB key, an arrow key, or a keyboard mnemonic.
|
|
27
|
+
|
|
28
|
+
:DLGMODALFRAME, 0x00000001, # has a double border; the window can, optionally, be created with a title bar by
|
|
29
|
+
# specifying the WS_CAPTION style in the dwStyle parameter.
|
|
30
|
+
|
|
31
|
+
:LAYERED, 0x00080000, # is a layered window. This style cannot be used if the window has a class style of
|
|
32
|
+
# either CS_OWNDC or CS_CLASSDC.
|
|
33
|
+
|
|
34
|
+
:LAYOUTRTL, 0x00400000, # If the shell language is Hebrew, Arabic, or another language that supports
|
|
35
|
+
# reading order alignment, the horizontal origin of the window is on the right edge. Increasing horizontal values
|
|
36
|
+
# advance to the left.
|
|
37
|
+
|
|
38
|
+
:LEFT, 0x00000000, #has generic left-aligned properties. This is the default.
|
|
39
|
+
|
|
40
|
+
:LEFTSCROLLBAR, 0x00004000, #If the shell language is Hebrew, Arabic, or another language that supports reading
|
|
41
|
+
# order alignment, the vertical scroll bar (if present) is to the left of the client area. For other languages,
|
|
42
|
+
# the style is ignored.
|
|
43
|
+
|
|
44
|
+
:LTRREADING, 0x00000000, #text is displayed using left-to-right reading-order properties. This is the
|
|
45
|
+
# default.
|
|
46
|
+
|
|
47
|
+
:MDICHILD, 0x00000040, #is a MDI child window.
|
|
48
|
+
|
|
49
|
+
:NOACTIVATE, 0x08000000, #A top-level window created with this style does not become the foreground window
|
|
50
|
+
# when the user clicks it. The system does not bring this window to the foreground when the user minimizes or
|
|
51
|
+
# closes the foreground window. To activate the window, use the SetActiveWindow or SetForegroundWindow function.
|
|
52
|
+
# The window does not appear on the taskbar by default. To force the window to appear on the taskbar, use the
|
|
53
|
+
# WS_EX_APPWINDOW style.
|
|
54
|
+
|
|
55
|
+
:NOINHERITLAYOUT, 0x00100000, # does not pass its window layout to its child windows.
|
|
56
|
+
|
|
57
|
+
:NOPARENTNOTIFY, 0x00000004, # The child window created with this style does not send the WM_PARENTNOTIFY message
|
|
58
|
+
# to its parent window when it is created or destroyed.
|
|
59
|
+
|
|
60
|
+
:OVERLAPPEDWINDOW, 0x00000300, # is an overlapped window.
|
|
61
|
+
|
|
62
|
+
:PALETTEWINDOW, 0x00000188, # is palette window, which is a modeless dialog box that presents an array of
|
|
63
|
+
# commands.
|
|
64
|
+
|
|
65
|
+
:RIGHT, 0x00001000, # has generic "right-aligned" properties. This depends on the window class.
|
|
66
|
+
# This style has an effect only if the shell language is Hebrew, Arabic, or another language that supports
|
|
67
|
+
# reading-order alignment; otherwise, the style is ignored. Using the WS_EX_RIGHT style for static or edit
|
|
68
|
+
# controls has the same effect as using the SS_RIGHT or ES_RIGHT style, respectively. Using this style with
|
|
69
|
+
# button controls has the same effect as using BS_RIGHT and BS_RIGHTBUTTON styles.
|
|
70
|
+
|
|
71
|
+
:RIGHTSCROLLBAR, 0x00000000, # The vertical scroll bar (if present) is to the right of the client area. This is
|
|
72
|
+
# the default.
|
|
73
|
+
|
|
74
|
+
:RTLREADING, 0x00002000, # If the shell language is Hebrew, Arabic, or another language that supports
|
|
75
|
+
# reading-order alignment, the window text is displayed using right-to-left reading-order properties. For other
|
|
76
|
+
# languages, the style is ignored.
|
|
77
|
+
|
|
78
|
+
:STATICEDGE, 0x00020000, # has a three-dimensional border style intended to be used for items that do not
|
|
79
|
+
# accept user input.
|
|
80
|
+
|
|
81
|
+
:TOOLWINDOW, 0x00000080, # is intended to be used as a floating toolbar. A tool window has a title bar that
|
|
82
|
+
# is shorter than a normal title bar, and the window title is drawn using a smaller font. A tool window does not
|
|
83
|
+
# appear in the taskbar or in the dialog that appears when the user presses ALT+TAB. If a tool window has a system
|
|
84
|
+
# menu, its icon is not displayed on the title bar. However, you can display the system menu by right-clicking or
|
|
85
|
+
# by typing ALT+SPACE.
|
|
86
|
+
|
|
87
|
+
:TOPMOST, 0x00000008, # should be placed above all non-topmost windows and should stay above them, even
|
|
88
|
+
# when the window is deactivated. To add or remove this style, use the SetWindowPos function.
|
|
89
|
+
|
|
90
|
+
:TRANSPARENT, 0x00000020, # should not be painted until siblings beneath the window (that were created by the
|
|
91
|
+
# same thread) have been painted. The window appears transparent because the bits of underlying sibling windows
|
|
92
|
+
# have already been painted.
|
|
93
|
+
#To achieve transparency without these restrictions, use the SetWindowRgn function.
|
|
94
|
+
|
|
95
|
+
:WINDOWEDGE, 0x00000100 #has a border with a raised edge.
|
|
96
|
+
]
|
|
97
|
+
end
|
|
98
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'win-ffi/enums/user32'
|
|
2
|
+
|
|
3
|
+
module WinFFI
|
|
4
|
+
module User32
|
|
5
|
+
SystemMenuComand = enum :system_menu_command,
|
|
6
|
+
[
|
|
7
|
+
:SIZE, 0xF000,
|
|
8
|
+
:MOVE, 0xF010,
|
|
9
|
+
:MINIMIZE, 0xF020,
|
|
10
|
+
:MAXIMIZE, 0xF030,
|
|
11
|
+
:NEXTWINDOW, 0xF040,
|
|
12
|
+
:PREVWINDOW, 0xF050,
|
|
13
|
+
:CLOSE, 0xF060,
|
|
14
|
+
:VSCROLL, 0xF070,
|
|
15
|
+
:HSCROLL, 0xF080,
|
|
16
|
+
:MOUSEMENU, 0xF090,
|
|
17
|
+
:KEYMENU, 0xF100,
|
|
18
|
+
:ARRANGE, 0xF110,
|
|
19
|
+
:RESTORE, 0xF120,
|
|
20
|
+
:TASKLIST, 0xF130,
|
|
21
|
+
:SCREENSAVE, 0xF140,
|
|
22
|
+
:HOTKEY, 0xF150,
|
|
23
|
+
:DEFAULT, 0xF160,
|
|
24
|
+
:MONITORPOWER, 0xF170,
|
|
25
|
+
:CONTEXTHELP, 0xF180,
|
|
26
|
+
:SEPARATOR, 0xF00F,
|
|
27
|
+
]
|
|
28
|
+
|
|
29
|
+
#if(WINVER >= 0x0600)
|
|
30
|
+
#define SCF_ISSECURE 0x00000001
|
|
31
|
+
#endif /* WINVER >= 0x0600 */
|
|
32
|
+
if WindowsVersion >= :vista
|
|
33
|
+
SystemMenuComand.instance_variable_get(:@kv_map)[:ISSECURE] = 0x00000001
|
|
34
|
+
SystemMenuComand.instance_variable_get(:@kv_map)[0x00000001] = :ISSECURE
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
require 'win-ffi/enums/user32'
|
|
2
|
+
|
|
3
|
+
module WinFFI
|
|
4
|
+
module User32
|
|
5
|
+
SystemMetricsFlags = enum :system_metrics,
|
|
6
|
+
[
|
|
7
|
+
:ARRANGE, 56, # The flags that specify how the system arranged
|
|
8
|
+
# minimized windows For more information, see the Remarks section in this topic.
|
|
9
|
+
:CLEANBOOT, 67,
|
|
10
|
+
# The value that specifies how the system is started:
|
|
11
|
+
# 0 Normal boot
|
|
12
|
+
# 1 Fail-safe boot
|
|
13
|
+
# 2 Fail-safe with network boot
|
|
14
|
+
# A fail-safe boot (also called SafeBoot, Safe Mode, or Clean Boot)
|
|
15
|
+
# bypasses the user startup files.
|
|
16
|
+
:CMONITORS, 80, # The number of display monitors on a desktop. For
|
|
17
|
+
# more information, see the Remarks section in this topic.
|
|
18
|
+
:CMOUSEBUTTONS, 43, # The number of buttons on a mouse, or zero if no
|
|
19
|
+
# mouse is installed.
|
|
20
|
+
:CONVERTIBLESLATEMODE, 0x2003, # Reflects the state of the laptop or
|
|
21
|
+
# slate mode, 0 for Slate Mode and non-zero otherwise. When this
|
|
22
|
+
# system metric changes, the system sends a broadcast message via
|
|
23
|
+
# WM_SETTINGCHANGE with "ConvertibleSlateMode" in the LPARAM.
|
|
24
|
+
:CXBORDER, 5, # The width of a window border, in pixels. This is
|
|
25
|
+
# equivalent to the :CXEDGE value for windows with the 3-D look.
|
|
26
|
+
:CXCURSOR, 13, # The width of a cursor, in pixels. The system cannot
|
|
27
|
+
# create cursors of other sizes.
|
|
28
|
+
:CXDLGFRAME, 7, # This value is the same as :CXFIXEDFRAME.
|
|
29
|
+
:CXDOUBLECLK, 36, # The width of the rectangle around the location of
|
|
30
|
+
# a first click in a double-click sequence, in pixels. The second
|
|
31
|
+
# click must occur within the rectangle that is defined by
|
|
32
|
+
# :CXDOUBLECLK and :CYDOUBLECLK for the system to consider the two
|
|
33
|
+
# clicks a double-click. The two clicks must also occur within a
|
|
34
|
+
# specified time. To set the width of the double-click rectangle, call
|
|
35
|
+
# SystemParametersInfo with SPI_SETDOUBLECLKWIDTH.
|
|
36
|
+
:CXDRAG, 68, # The number of pixels on either side of a mouse-down
|
|
37
|
+
# point that the mouse pointer can move before a drag operation begins
|
|
38
|
+
# This allows the user to click and release the mouse button easily
|
|
39
|
+
# without unintentionally starting a drag operation. If this value is
|
|
40
|
+
# negative, it is subtracted from the left of the mouse-down point and
|
|
41
|
+
# added to the right of it.
|
|
42
|
+
:CXEDGE, 45, # The width of a 3-D border, in pixels. This metric is
|
|
43
|
+
# the 3-D counterpart of :CXBORDER.
|
|
44
|
+
:CXFIXEDFRAME, 7, # The thickness of the frame around the perimeter of
|
|
45
|
+
# a window that has a caption but is not sizable, in pixels.
|
|
46
|
+
# :CXFIXEDFRAME is the height of the horizontal border, and
|
|
47
|
+
# :CYFIXEDFRAME is the width of the vertical border. This value is the
|
|
48
|
+
# same as :CXDLGFRAME.
|
|
49
|
+
:CXFOCUSBORDER, 83, # The width of the left and right edges of the
|
|
50
|
+
# focus rectangle that the DrawFocusRect draws. This value is in pixels.
|
|
51
|
+
# Windows 2000: This value is not supported.
|
|
52
|
+
:CXFRAME, 32, # This value is the same as :CXSIZEFRAME.
|
|
53
|
+
:CXFULLSCREEN, 16, # The width of the client area for a full-screen
|
|
54
|
+
# window on the primary display monitor, in pixels. To get the
|
|
55
|
+
# coordinates of the portion of the screen that is not obscured by the
|
|
56
|
+
# system taskbar or by application desktop toolbars, call the
|
|
57
|
+
# SystemParametersInfo function with the SPI_GETWORKAREA value.
|
|
58
|
+
:CXHSCROLL, 21, # The width of the arrow bitmap on a horizontal scroll
|
|
59
|
+
# bar, in pixels.
|
|
60
|
+
:CXHTHUMB, 10, # The width of the thumb box in a horizontal scroll bar,
|
|
61
|
+
# in pixels.
|
|
62
|
+
:CXICON, 11, # The default width of an icon, in pixels. The LoadIcon
|
|
63
|
+
# function can load only icons with the dimensions that :CXICON and
|
|
64
|
+
# :CYICON specifies.
|
|
65
|
+
:CXICONSPACING, 38, # The width of a grid cell for items in large icon
|
|
66
|
+
# view, in pixels. Each item fits into a rectangle of size
|
|
67
|
+
# :CXICONSPACING by :CYICONSPACING when arranged. This value is always
|
|
68
|
+
# greater than or equal to :CXICON.
|
|
69
|
+
:CXMAXIMIZED, 61, # The default width, in pixels, of a maximized
|
|
70
|
+
# top-level window, on the primary display monitor.
|
|
71
|
+
:CXMAXTRACK, 59, # The default maximum width of a window that has a
|
|
72
|
+
# caption and sizing borders, in pixels. This metric refers to the
|
|
73
|
+
# entire desktop. The user cannot drag the window frame to a size
|
|
74
|
+
# larger than these dimensions. A window can override this value by
|
|
75
|
+
# processing the WM_GETMINMAXINFO message.
|
|
76
|
+
:CXMENUCHECK, 71, # The width of the default menu check-mark bitmap,
|
|
77
|
+
# in pixels.
|
|
78
|
+
:CXMENUSIZE, 54, # The width of menu bar buttons, such as the child
|
|
79
|
+
# window close button that is used in the multiple document interface,
|
|
80
|
+
# in pixels.
|
|
81
|
+
:CXMIN, 28, # The minimum width of a window, in pixels.
|
|
82
|
+
:CXMINIMIZED, 57, # The width of a minimized window, in pixels.
|
|
83
|
+
:CXMINSPACING, 47, # The width of a grid cell for a minimized window,
|
|
84
|
+
# in pixels. Each minimized window fits into a rectangle this size
|
|
85
|
+
# when arranged. This # value is always greater than or equal to
|
|
86
|
+
# :CXMINIMIZED.
|
|
87
|
+
:CXMINTRACK, 34, # The minimum tracking width of a window, in pixels.
|
|
88
|
+
# The user cannot drag the window frame to a size smaller than these
|
|
89
|
+
# dimensions. A window can override this value by processing the
|
|
90
|
+
# WM_GETMINMAXINFO message.
|
|
91
|
+
:CXPADDEDBORDER, 92, # The amount of border padding for captioned
|
|
92
|
+
# windows, in pixels.
|
|
93
|
+
# Windows XP/2000: This value is not supported.
|
|
94
|
+
:CXSCREEN, 0, # The width of the screen of the primary display monitor,
|
|
95
|
+
# in pixels. This is the same value obtained by calling GetDeviceCaps
|
|
96
|
+
# as follows: GetDeviceCaps( hdcPrimaryMonitor, HORZRES).
|
|
97
|
+
:CXSIZE, 30, # The width of a button in a window caption or title bar,
|
|
98
|
+
# in pixels
|
|
99
|
+
:CXSIZEFRAME, 32, # The thickness of the sizing border around the
|
|
100
|
+
# perimeter of a window that can be resized, in pixels. :CXSIZEFRAME
|
|
101
|
+
# is the width of the horizontal border, and :CYSIZEFRAME is the
|
|
102
|
+
# height of the vertical border. This value is the same as :CXFRAME.
|
|
103
|
+
:CXSMICON, 49, # The recommended width of a small icon, in pixels.
|
|
104
|
+
# Small icons typically appear in window captions and in small icon view.
|
|
105
|
+
:CXSMSIZE, 52, # The width of small caption buttons, in pixels.
|
|
106
|
+
:CXVIRTUALSCREEN, 78, # The width of the virtual screen, in pixels.
|
|
107
|
+
# The virtual screen is the bounding rectangle of all display monitors
|
|
108
|
+
# The :XVIRTUALSCREEN metric is the coordinates for the left side of
|
|
109
|
+
# the virtual screen.
|
|
110
|
+
:CXVSCROLL, 2, # The width of a vertical scroll bar, in pixels.
|
|
111
|
+
:CYBORDER, 6, #The height of a window border, in pixels. This is
|
|
112
|
+
# equivalent to the :CYEDGE value for windows with the 3-D look.
|
|
113
|
+
:CYCAPTION, 4, # The height of a caption area, in pixels.
|
|
114
|
+
:CYCURSOR, 14, # The height of a cursor, in pixels. The system cannot
|
|
115
|
+
# create cursors of other sizes.
|
|
116
|
+
:CYDLGFRAME, 8, # This value is the same as :CYFIXEDFRAME.
|
|
117
|
+
:CYDOUBLECLK, 37, # The height of the rectangle around the location of
|
|
118
|
+
# a first click in a double-click sequence, in pixels. The second click
|
|
119
|
+
# must occur within the rectangle defined by :CXDOUBLECLK and
|
|
120
|
+
# :CYDOUBLECLK for the system to consider the two clicks a
|
|
121
|
+
# double-click. The two clicks must also occur within a specified
|
|
122
|
+
# time. To set the height of the double-click rectangle,
|
|
123
|
+
# call SystemParametersInfo with SPI_SETDOUBLECLKHEIGHT.
|
|
124
|
+
:CYDRAG, 69, # The number of pixels above and below a mouse-down point
|
|
125
|
+
# that the mouse pointer can move before a drag operation begins. This
|
|
126
|
+
# allows the user to click and release the mouse button easily without
|
|
127
|
+
# unintentionally starting a drag operation. If this value is negative,
|
|
128
|
+
# it is subtracted from above the mouse-down point and added below it.
|
|
129
|
+
:CYEDGE, 46, # The height of a 3-D border, in pixels. This is the 3-D
|
|
130
|
+
# counterpart of :CYBORDER.
|
|
131
|
+
:CYFIXEDFRAME, 8, # The thickness of the frame around the perimeter of
|
|
132
|
+
# a window that has a caption but is not sizable, in pixels.
|
|
133
|
+
# :CXFIXEDFRAME is the height of the horizontal border, and
|
|
134
|
+
# :CYFIXEDFRAME is the width of the vertical border. This value is the
|
|
135
|
+
# same as :CYDLGFRAME.
|
|
136
|
+
:CYFOCUSBORDER, 84, # The height of the top and bottom edges of the
|
|
137
|
+
# focus rectangle drawn by DrawFocusRect. This value is in pixels.
|
|
138
|
+
# Windows 2000: This value is not supported.
|
|
139
|
+
:CYFRAME, 33, # This value is the same as :CYSIZEFRAME.
|
|
140
|
+
:CYFULLSCREEN, 17, # The height of the client area for a full-screen
|
|
141
|
+
# window on the primary display monitor, in pixels. To get the
|
|
142
|
+
# coordinates of the portion of the screen not obscured by the system
|
|
143
|
+
# taskbar or by application desktop toolbars, call the
|
|
144
|
+
# SystemParametersInfo function with the SPI_GETWORKAREA value.
|
|
145
|
+
:CYHSCROLL, 3, # The height of a horizontal scroll bar, in pixels.
|
|
146
|
+
:CYICON, 12, # The default height of an icon, in pixels. The LoadIcon
|
|
147
|
+
# function can load only icons with the dimensions :CXICON and :CYICON
|
|
148
|
+
:CYICONSPACING, 39, # The height of a grid cell for items in large
|
|
149
|
+
# icon view, in pixels. Each item fits into a rectangle of size
|
|
150
|
+
# :CXICONSPACING by :CYICONSPACING when arranged. This value is always
|
|
151
|
+
# greater than or equal to :CYICON.
|
|
152
|
+
:CYKANJIWINDOW, 18, # For double byte character set versions of the
|
|
153
|
+
# system, this is the height of the Kanji window at the bottom of the
|
|
154
|
+
# screen, in pixels.
|
|
155
|
+
:CYMAXIMIZED, 62, # The default height, in pixels, of a maximized
|
|
156
|
+
# top-level window on the primary display monitor.
|
|
157
|
+
:CYMAXTRACK, 60, # The default maximum height of a window that has a
|
|
158
|
+
# caption and sizing borders, in pixels. This metric refers to the
|
|
159
|
+
# entire desktop. The user cannot drag the window frame to a size
|
|
160
|
+
# larger than these dimensions. A window can override this value by
|
|
161
|
+
# processing the WM_GETMINMAXINFO message.
|
|
162
|
+
:CYMENU, 15, # The height of a single-line menu bar, in pixels.
|
|
163
|
+
:CYMENUCHECK, 72, # The height of the default menu check-mark bitmap,
|
|
164
|
+
# in pixels.
|
|
165
|
+
:CYMENUSIZE, 55, # The height of menu bar buttons, such as the child
|
|
166
|
+
# window close button that is used in the multiple document interface,
|
|
167
|
+
# in pixels.
|
|
168
|
+
:CYMIN, 29, # The minimum height of a window, in pixels.
|
|
169
|
+
:CYMINIMIZED, 58, # The height of a minimized window, in pixels.
|
|
170
|
+
:CYMINSPACING, 48, # The height of a grid cell for a minimized window,
|
|
171
|
+
# in pixels.Each minimized window fits into a rectangle this size
|
|
172
|
+
# when arranged. This value is always greater than or equal to
|
|
173
|
+
# :CYMINIMIZED.
|
|
174
|
+
:CYMINTRACK, 35, # The minimum tracking height of a window, in pixels.
|
|
175
|
+
# The user cannot drag the window frame to a size smaller than these
|
|
176
|
+
# dimensions. A window can override this value by processing the
|
|
177
|
+
# WM_GETMINMAXINFO message.
|
|
178
|
+
:CYSCREEN, 1, # The height of the screen of the primary display
|
|
179
|
+
# monitor, in pixels. This is the same value obtained by calling
|
|
180
|
+
# GetDeviceCaps as follows: GetDeviceCaps( hdcPrimaryMonitor, VERTRES)
|
|
181
|
+
:CYSIZE, 31, # The height of a button in a window caption or title
|
|
182
|
+
# bar, in pixels.
|
|
183
|
+
:CYSIZEFRAME, 33, # The thickness of the sizing border around the
|
|
184
|
+
# perimeter of a window that can be resized, in pixels. :CXSIZEFRAME
|
|
185
|
+
# is the width of the horizontal border, and :CYSIZEFRAME is the
|
|
186
|
+
# height of the vertical border. This value is the same as :CYFRAME.
|
|
187
|
+
:CYSMCAPTION, 51, # The height of a small caption, in pixels.
|
|
188
|
+
:CYSMICON, 50, # The recommended height of a small icon, in pixels.
|
|
189
|
+
# Small icons typically appear in window captions and in small icon view.
|
|
190
|
+
:CYSMSIZE, 53, # The height of small caption buttons, in pixels.
|
|
191
|
+
:CYVIRTUALSCREEN, 79, # The height of the virtual screen, in pixels.
|
|
192
|
+
# The virtual screen is the bounding rectangle of all display monitors.
|
|
193
|
+
# The :YVIRTUALSCREEN metric is the coordinates for the top of the virtual screen.
|
|
194
|
+
:CYVSCROLL, 20, # The height of the arrow bitmap on a vertical scroll
|
|
195
|
+
# bar, in pixels.
|
|
196
|
+
:CYVTHUMB, 9, # The height of the thumb box in a vertical scroll bar,
|
|
197
|
+
# in pixels.
|
|
198
|
+
:DBCSENABLED, 42, # Nonzero if User32.dll supports DBCS; otherwise, 0.
|
|
199
|
+
:DEBUG, 22, # Nonzero if the debug version of User.exe is installed;
|
|
200
|
+
# otherwise, 0.
|
|
201
|
+
:DIGITIZER, 94, # Nonzero if the current operating system is Windows 7
|
|
202
|
+
# or Windows Server 2008 R2 and the Tablet PC Input service is started;
|
|
203
|
+
# otherwise, 0. The return value is a bitmask that specifies the type
|
|
204
|
+
# of digitizer input supported by the device. For more information,
|
|
205
|
+
# see Remarks.
|
|
206
|
+
# Windows Server 2008, Windows Vista, and Windows XP/2000: This value
|
|
207
|
+
# is not supported.
|
|
208
|
+
:IMMENABLED, 82, # Nonzero if Input Method Manager/Input Method Editor
|
|
209
|
+
# features are enabled; otherwise, 0. :IMMENABLED indicates whether
|
|
210
|
+
# the system is ready to use a Unicode-based IME on a Unicode
|
|
211
|
+
# application. To ensure that a language-dependent IME works, check
|
|
212
|
+
# :DBCSENABLED and the system ANSI code page. Otherwise the
|
|
213
|
+
# ANSI-to-Unicode conversion may not be performed correctly, or some
|
|
214
|
+
# components like fonts or registry settings may not be present.
|
|
215
|
+
:MAXIMUMTOUCHES, 95, # Nonzero if there are digitizers in the system;
|
|
216
|
+
# otherwise, 0. :MAXIMUMTOUCHES returns the aggregate maximum of the
|
|
217
|
+
# maximum number of contacts supported by every digitizer in the
|
|
218
|
+
# system. If the system has only single-touch digitizers, the return
|
|
219
|
+
# value is 1. If the system has multi-touch digitizers, the return
|
|
220
|
+
# value is the number of simultaneous contacts the hardware can provide.
|
|
221
|
+
# Windows Server 2008, Windows Vista, and Windows XP/2000: This value
|
|
222
|
+
# is not supported.
|
|
223
|
+
:MEDIACENTER, 87, # Nonzero if the current operating system is the
|
|
224
|
+
# Windows XP, Media Center Edition, 0 if not.
|
|
225
|
+
:MENUDROPALIGNMENT, 40, # Nonzero if drop-down menus are right-aligned
|
|
226
|
+
# with the corresponding menu-bar item; 0 if the menus are left-aligned.
|
|
227
|
+
:MIDEASTENABLED, 74, # Nonzero if the system is enabled for Hebrew and
|
|
228
|
+
# Arabic languages, 0 if not.
|
|
229
|
+
:MOUSEPRESENT, 19, # Nonzero if a mouse is installed; otherwise, 0.
|
|
230
|
+
# This value is rarely zero, because of support for virtual mice and
|
|
231
|
+
# because some systems detect the presence of the port instead of the
|
|
232
|
+
# presence of a mouse.
|
|
233
|
+
:MOUSEHORIZONTALWHEELPRESENT, 91, # Nonzero if a mouse with a
|
|
234
|
+
# horizontal scroll wheel is installed; otherwise 0.
|
|
235
|
+
:MOUSEWHEELPRESENT, 75, # Nonzero if a mouse with a vertical scroll
|
|
236
|
+
# wheel is installed; otherwise 0.
|
|
237
|
+
:NETWORK, 63, # The least significant bit is set if a network is
|
|
238
|
+
# present; otherwise, it is cleared. The other bits are reserved for
|
|
239
|
+
# future use.
|
|
240
|
+
:PENWINDOWS, 41, # Nonzero if the Microsoft Windows for Pen computing
|
|
241
|
+
# extensions are installed; zero otherwise.
|
|
242
|
+
:REMOTECONTROL, 0x2001, # This system metric is used in a Terminal
|
|
243
|
+
# Services environment to determine if the current Terminal Server
|
|
244
|
+
# session is being remotely controlled. Its value is nonzero if the
|
|
245
|
+
# current session is remotely controlled; otherwise, 0.
|
|
246
|
+
# You can use terminal services management tools such as Terminal
|
|
247
|
+
# Services Manager (tsadmin.msc) and shadow.exe to control a remote
|
|
248
|
+
# session. When a session is being remotely controlled, another user
|
|
249
|
+
# can view the contents of that session and potentially interact with
|
|
250
|
+
# it.
|
|
251
|
+
:REMOTESESSION, 0x1000, # This system metric is used in a Terminal
|
|
252
|
+
# Services environment. If the calling process is associated with a
|
|
253
|
+
# Terminal Services client session, the return value is nonzero. If
|
|
254
|
+
# the calling process is associated with the Terminal Services console
|
|
255
|
+
# session, the return value is 0.
|
|
256
|
+
# Windows Server 2003 and Windows XP: The console session is not
|
|
257
|
+
# necessarily the physical console. For more information, see
|
|
258
|
+
# WTSGetActiveConsoleSessionId.
|
|
259
|
+
:SAMEDISPLAYFORMAT, 81, # Nonzero if all the display monitors have the
|
|
260
|
+
# same color format, otherwise, 0. Two displays can have the same bit
|
|
261
|
+
# depth, but different color formats. For example, the red, green, and
|
|
262
|
+
# blue pixels can be encoded with different numbers of bits, or those
|
|
263
|
+
# bits can be located in different places in a pixel color value.
|
|
264
|
+
:SECURE, 44, # This system metric should be ignored; it always returns
|
|
265
|
+
# 0.
|
|
266
|
+
:SERVERR2, 89, # The build number if the system is Windows Server 2003
|
|
267
|
+
# R2; otherwise, 0.
|
|
268
|
+
:SHOWSOUNDS, 70, # Nonzero if the user requires an application to
|
|
269
|
+
# present information visually in situations where it would otherwise
|
|
270
|
+
# present the information only in audible form; otherwise, 0.
|
|
271
|
+
:SHUTTINGDOWN, 0x2000, # Nonzero if the current session is shutting
|
|
272
|
+
# down; otherwise, 0. Windows 2000: This value is not supported.
|
|
273
|
+
:SLOWMACHINE, 73, # Nonzero if the computer has a low-end (slow)
|
|
274
|
+
# processor; otherwise, 0.
|
|
275
|
+
:STARTER, 88, # Nonzero if the current operating system is Windows 7
|
|
276
|
+
# Starter Edition, Windows Vista Starter, or Windows XP Starter
|
|
277
|
+
# Edition; otherwise, 0.
|
|
278
|
+
:SWAPBUTTON, 23, # Nonzero if the meanings of the left and right mouse
|
|
279
|
+
# buttons are swapped; otherwise, 0.
|
|
280
|
+
:SYSTEMDOCKED, 0x2004, # Reflects the state of the docking mode, 0 for
|
|
281
|
+
# Undocked Mode and non-zero otherwise. When this system metric
|
|
282
|
+
# changes, the system sends a broadcast message via WM_SETTINGCHANGE
|
|
283
|
+
# with "SystemDockMode" in the LPARAM.
|
|
284
|
+
:TABLETPC, 86, # Nonzero if the current operating system is the
|
|
285
|
+
# Windows XP Tablet PC edition or if the current operating system is
|
|
286
|
+
# Windows Vista or Windows 7 and the Tablet PC Input service is
|
|
287
|
+
# started; otherwise, 0. The :DIGITIZER setting indicates the type of
|
|
288
|
+
# digitizer input supported by a device running Windows 7 or Windows
|
|
289
|
+
# Server 2008 R2. For more information, see Remarks.
|
|
290
|
+
:XVIRTUALSCREEN, 76, # The coordinates for the left side of the
|
|
291
|
+
# virtual screen. The virtual screen is the bounding rectangle of all
|
|
292
|
+
# display monitors. The :CXVIRTUALSCREEN metric is the width of the
|
|
293
|
+
# virtual screen.
|
|
294
|
+
:YVIRTUALSCREEN, 77, # The coordinates for the top of the virtual
|
|
295
|
+
# screen. The virtual screen is the bounding rectangle of all display
|
|
296
|
+
# monitors. The :CYVIRTUALSCREEN metric is the height of the virtual
|
|
297
|
+
# screen.
|
|
298
|
+
]
|
|
299
|
+
end
|
|
300
|
+
end
|