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,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
|