win-ffi 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (271) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +36 -0
  3. data/lib/win-ffi/enums/color_types.rb +61 -0
  4. data/lib/win-ffi/enums/comctl32/init_common_controls.rb +32 -0
  5. data/lib/win-ffi/enums/comctl32/window/style/window_class_style.rb +7 -0
  6. data/lib/win-ffi/enums/comctl32.rb +5 -0
  7. data/lib/win-ffi/enums/comdlg32/find_replace.rb +28 -0
  8. data/lib/win-ffi/enums/comdlg32/font.rb +33 -0
  9. data/lib/win-ffi/enums/extended_name_format.rb +17 -0
  10. data/lib/win-ffi/enums/firmware_type.rb +12 -0
  11. data/lib/win-ffi/enums/gdi32/device_context.rb +29 -0
  12. data/lib/win-ffi/enums/gdi32/dib.rb +8 -0
  13. data/lib/win-ffi/enums/gdi32/hatch_styles.rb +15 -0
  14. data/lib/win-ffi/enums/gdi32/pfd_flags.rb +28 -0
  15. data/lib/win-ffi/enums/gdi32/pfd_layer_type.rb +7 -0
  16. data/lib/win-ffi/enums/gdi32/pfd_type.rb +7 -0
  17. data/lib/win-ffi/enums/gdi32/raster_operations.rb +22 -0
  18. data/lib/win-ffi/enums/gdi32.rb +90 -0
  19. data/lib/win-ffi/enums/kernel32/activation_context.rb +17 -0
  20. data/lib/win-ffi/enums/kernel32/computer_name_format.rb +19 -0
  21. data/lib/win-ffi/enums/kernel32/format_message_flags.rb +16 -0
  22. data/lib/win-ffi/enums/kernel32/get_module_handle_ex_flag.rb +7 -0
  23. data/lib/win-ffi/enums/kernel32/global_alloc_flags.rb +14 -0
  24. data/lib/win-ffi/enums/kernel32/handle.rb +9 -0
  25. data/lib/win-ffi/enums/kernel32/heap_flags.rb +14 -0
  26. data/lib/win-ffi/enums/kernel32/local_flags.rb +20 -0
  27. data/lib/win-ffi/enums/kernel32/memory.rb +12 -0
  28. data/lib/win-ffi/enums/kernel32/memory_flags.rb +22 -0
  29. data/lib/win-ffi/enums/kernel32/memory_protection_constants.rb +20 -0
  30. data/lib/win-ffi/enums/kernel32/set_error_mode_flags.rb +11 -0
  31. data/lib/win-ffi/enums/kernel32/sound_flags.rb +24 -0
  32. data/lib/win-ffi/enums/kernel32/volume.rb +13 -0
  33. data/lib/win-ffi/enums/kernel32.rb +5 -0
  34. data/lib/win-ffi/enums/lr.rb +48 -0
  35. data/lib/win-ffi/enums/netapi21/net_api_status.rb +25 -0
  36. data/lib/win-ffi/enums/netapi32.rb +5 -0
  37. data/lib/win-ffi/enums/system_info.rb +54 -0
  38. data/lib/win-ffi/enums/user32/append_menu_flags.rb +21 -0
  39. data/lib/win-ffi/enums/user32/border_flags.rb +29 -0
  40. data/lib/win-ffi/enums/user32/clipboard_formats.rb +31 -0
  41. data/lib/win-ffi/enums/user32/device_notify_flags.rb +17 -0
  42. data/lib/win-ffi/enums/user32/draw_caption_flags.rb +16 -0
  43. data/lib/win-ffi/enums/user32/draw_frame_control_flags.rb +15 -0
  44. data/lib/win-ffi/enums/user32/draw_frame_control_state_flags.rb +44 -0
  45. data/lib/win-ffi/enums/user32/edge_flags.rb +20 -0
  46. data/lib/win-ffi/enums/user32/feedback_type.rb +21 -0
  47. data/lib/win-ffi/enums/user32/get_ancestor_flags.rb +12 -0
  48. data/lib/win-ffi/enums/user32/icon.rb +19 -0
  49. data/lib/win-ffi/enums/user32/image.rb +12 -0
  50. data/lib/win-ffi/enums/user32/key_event_flags.rb +11 -0
  51. data/lib/win-ffi/enums/user32/keyboard_layout_flags.rb +57 -0
  52. data/lib/win-ffi/enums/user32/keyboard_modifiers.rb +16 -0
  53. data/lib/win-ffi/enums/user32/layered_window_attributes_flags.rb +12 -0
  54. data/lib/win-ffi/enums/user32/map_virtual_key.rb +22 -0
  55. data/lib/win-ffi/enums/user32/message_filter.rb +11 -0
  56. data/lib/win-ffi/enums/user32/mouse_event_flags.rb +25 -0
  57. data/lib/win-ffi/enums/user32/mouse_keys_flags.rb +16 -0
  58. data/lib/win-ffi/enums/user32/mwmo.rb +17 -0
  59. data/lib/win-ffi/enums/user32/ocr.rb +32 -0
  60. data/lib/win-ffi/enums/user32/oic.rb +26 -0
  61. data/lib/win-ffi/enums/user32/pen_flags.rb +12 -0
  62. data/lib/win-ffi/enums/user32/pen_mask.rb +14 -0
  63. data/lib/win-ffi/enums/user32/pointer_flags.rb +82 -0
  64. data/lib/win-ffi/enums/user32/pointer_input_type.rb +13 -0
  65. data/lib/win-ffi/enums/user32/process_dpi_awareness.rb +12 -0
  66. data/lib/win-ffi/enums/user32/queue_status_flags.rb +36 -0
  67. data/lib/win-ffi/enums/user32/rim.rb +12 -0
  68. data/lib/win-ffi/enums/user32/touch_injection_flags.rb +13 -0
  69. data/lib/win-ffi/enums/user32/touch_mask.rb +13 -0
  70. data/lib/win-ffi/enums/user32/user_object_information_flags.rb +22 -0
  71. data/lib/win-ffi/enums/user32/virtual_key_flags.rb +214 -0
  72. data/lib/win-ffi/enums/user32/window/animate_window_flags.rb +31 -0
  73. data/lib/win-ffi/enums/user32/window/broadcast_system_flags.rb +20 -0
  74. data/lib/win-ffi/enums/user32/window/broadcast_system_message_flags.rb +12 -0
  75. data/lib/win-ffi/enums/user32/window/combo_box_message.rb +53 -0
  76. data/lib/win-ffi/enums/user32/window/get_class_long_flags.rb +34 -0
  77. data/lib/win-ffi/enums/user32/window/get_window_flags.rb +38 -0
  78. data/lib/win-ffi/enums/user32/window/get_window_long_flags.rb +16 -0
  79. data/lib/win-ffi/enums/user32/window/menu_flags.rb +54 -0
  80. data/lib/win-ffi/enums/user32/window/message_box_flags.rb +90 -0
  81. data/lib/win-ffi/enums/user32/window/message_box_return.rb +18 -0
  82. data/lib/win-ffi/enums/user32/window/notification/button_notification.rb +20 -0
  83. data/lib/win-ffi/enums/user32/window/notification/edit_notification.rb +19 -0
  84. data/lib/win-ffi/enums/user32/window/notification/static_notification.rb +13 -0
  85. data/lib/win-ffi/enums/user32/window/peek_message_flags.rb +13 -0
  86. data/lib/win-ffi/enums/user32/window/set_window_pos_flags.rb +48 -0
  87. data/lib/win-ffi/enums/user32/window/show_window_flags.rb +41 -0
  88. data/lib/win-ffi/enums/user32/window/smto.rb +22 -0
  89. data/lib/win-ffi/enums/user32/window/style/button_control_style.rb +37 -0
  90. data/lib/win-ffi/enums/user32/window/style/combo_box_style.rb +22 -0
  91. data/lib/win-ffi/enums/user32/window/style/edit_style.rb +23 -0
  92. data/lib/win-ffi/enums/user32/window/style/static_style.rb +45 -0
  93. data/lib/win-ffi/enums/user32/window/style/window_class_style.rb +50 -0
  94. data/lib/win-ffi/enums/user32/window/style/window_style.rb +85 -0
  95. data/lib/win-ffi/enums/user32/window/style/window_style_ex.rb +98 -0
  96. data/lib/win-ffi/enums/user32/window/system_menu_command.rb +37 -0
  97. data/lib/win-ffi/enums/user32/window/system_metrics_flags.rb +300 -0
  98. data/lib/win-ffi/enums/user32/window/system_parameters_info_action.rb +225 -0
  99. data/lib/win-ffi/enums/user32/window/system_parameters_info_flags.rb +246 -0
  100. data/lib/win-ffi/enums/user32/window/track_popup_menu_flags.rb +70 -0
  101. data/lib/win-ffi/enums/user32/window/window_long.rb +22 -0
  102. data/lib/win-ffi/enums/user32/window/window_messages.rb +222 -0
  103. data/lib/win-ffi/enums/user32/window_hook.rb +56 -0
  104. data/lib/win-ffi/enums/user32.rb +5 -0
  105. data/lib/win-ffi/functions/advapi32/process.rb +33 -0
  106. data/lib/win-ffi/functions/advapi32/system_info.rb +17 -0
  107. data/lib/win-ffi/functions/comctl32/control.rb +11 -0
  108. data/lib/win-ffi/functions/comctl32/listbox.rb +20 -0
  109. data/lib/win-ffi/functions/comctl32.rb +7 -0
  110. data/lib/win-ffi/functions/comdlg32/color.rb +9 -0
  111. data/lib/win-ffi/functions/comdlg32/error.rb +6 -0
  112. data/lib/win-ffi/functions/comdlg32/find_replace.rb +9 -0
  113. data/lib/win-ffi/functions/comdlg32/font.rb +9 -0
  114. data/lib/win-ffi/functions/comdlg32.rb +7 -0
  115. data/lib/win-ffi/functions/gdi32/bitmap.rb +275 -0
  116. data/lib/win-ffi/functions/gdi32/brush.rb +54 -0
  117. data/lib/win-ffi/functions/gdi32/device_context.rb +126 -0
  118. data/lib/win-ffi/functions/gdi32/filled_shape.rb +68 -0
  119. data/lib/win-ffi/functions/gdi32/font.rb +9 -0
  120. data/lib/win-ffi/functions/gdi32/metafile.rb +173 -0
  121. data/lib/win-ffi/functions/gdi32/opengl.rb +29 -0
  122. data/lib/win-ffi/functions/gdi32/painting_drawing.rb +50 -0
  123. data/lib/win-ffi/functions/gdi32/text.rb +376 -0
  124. data/lib/win-ffi/functions/gdi32.rb +7 -0
  125. data/lib/win-ffi/functions/kernel32/activation.rb +22 -0
  126. data/lib/win-ffi/functions/kernel32/dll.rb +92 -0
  127. data/lib/win-ffi/functions/kernel32/error.rb +28 -0
  128. data/lib/win-ffi/functions/kernel32/filesystem.rb +22 -0
  129. data/lib/win-ffi/functions/kernel32/handle.rb +29 -0
  130. data/lib/win-ffi/functions/kernel32/memory.rb +478 -0
  131. data/lib/win-ffi/functions/kernel32/process.rb +359 -0
  132. data/lib/win-ffi/functions/kernel32/resource.rb +141 -0
  133. data/lib/win-ffi/functions/kernel32/sound.rb +10 -0
  134. data/lib/win-ffi/functions/kernel32/string.rb +38 -0
  135. data/lib/win-ffi/functions/kernel32/system_info.rb +183 -0
  136. data/lib/win-ffi/functions/kernel32/time.rb +220 -0
  137. data/lib/win-ffi/functions/kernel32/volume.rb +130 -0
  138. data/lib/win-ffi/functions/kernel32.rb +15 -0
  139. data/lib/win-ffi/functions/msimg32/bitmap.rb +46 -0
  140. data/lib/win-ffi/functions/msvcrt/handle.rb +13 -0
  141. data/lib/win-ffi/functions/netapi32/network_management.rb +13 -0
  142. data/lib/win-ffi/functions/netapi32.rb +7 -0
  143. data/lib/win-ffi/functions/ntdll/system_info.rb +14 -0
  144. data/lib/win-ffi/functions/secur32/system_info.rb +30 -0
  145. data/lib/win-ffi/functions/shell32/icon.rb +49 -0
  146. data/lib/win-ffi/functions/shutdown.rb +84 -0
  147. data/lib/win-ffi/functions/thread.rb +230 -0
  148. data/lib/win-ffi/functions/user32/accessibility.rb +23 -0
  149. data/lib/win-ffi/functions/user32/authorization.rb +19 -0
  150. data/lib/win-ffi/functions/user32/bitmap.rb +11 -0
  151. data/lib/win-ffi/functions/user32/brush.rb +10 -0
  152. data/lib/win-ffi/functions/user32/caret.rb +36 -0
  153. data/lib/win-ffi/functions/user32/clipboard.rb +84 -0
  154. data/lib/win-ffi/functions/user32/controls/button.rb +23 -0
  155. data/lib/win-ffi/functions/user32/controls/combobox.rb +29 -0
  156. data/lib/win-ffi/functions/user32/controls/listbox.rb +25 -0
  157. data/lib/win-ffi/functions/user32/controls/scrollbar.rb +95 -0
  158. data/lib/win-ffi/functions/user32/cursor.rb +74 -0
  159. data/lib/win-ffi/functions/user32/dde.rb +214 -0
  160. data/lib/win-ffi/functions/user32/desktop.rb +76 -0
  161. data/lib/win-ffi/functions/user32/device.rb +17 -0
  162. data/lib/win-ffi/functions/user32/device_context.rb +62 -0
  163. data/lib/win-ffi/functions/user32/display.rb +37 -0
  164. data/lib/win-ffi/functions/user32/error.rb +10 -0
  165. data/lib/win-ffi/functions/user32/filled_shape.rb +23 -0
  166. data/lib/win-ffi/functions/user32/gesture.rb +38 -0
  167. data/lib/win-ffi/functions/user32/hook.rb +123 -0
  168. data/lib/win-ffi/functions/user32/icon.rb +98 -0
  169. data/lib/win-ffi/functions/user32/input.rb +23 -0
  170. data/lib/win-ffi/functions/user32/keyboard.rb +177 -0
  171. data/lib/win-ffi/functions/user32/keyboard_accelerators.rb +37 -0
  172. data/lib/win-ffi/functions/user32/mouse.rb +60 -0
  173. data/lib/win-ffi/functions/user32/multiple_display_monitors.rb +43 -0
  174. data/lib/win-ffi/functions/user32/multiple_document_interface.rb +44 -0
  175. data/lib/win-ffi/functions/user32/painting_drawing.rb +173 -0
  176. data/lib/win-ffi/functions/user32/pointer.rb +154 -0
  177. data/lib/win-ffi/functions/user32/power.rb +28 -0
  178. data/lib/win-ffi/functions/user32/print.rb +14 -0
  179. data/lib/win-ffi/functions/user32/process.rb +30 -0
  180. data/lib/win-ffi/functions/user32/raw_input.rb +55 -0
  181. data/lib/win-ffi/functions/user32/rect.rb +67 -0
  182. data/lib/win-ffi/functions/user32/resource.rb +28 -0
  183. data/lib/win-ffi/functions/user32/shell.rb +29 -0
  184. data/lib/win-ffi/functions/user32/string.rb +98 -0
  185. data/lib/win-ffi/functions/user32/text.rb +48 -0
  186. data/lib/win-ffi/functions/user32/touch.rb +69 -0
  187. data/lib/win-ffi/functions/user32/transform.rb +22 -0
  188. data/lib/win-ffi/functions/user32/window/configuration.rb +15 -0
  189. data/lib/win-ffi/functions/user32/window/dialog.rb +167 -0
  190. data/lib/win-ffi/functions/user32/window/menu.rb +245 -0
  191. data/lib/win-ffi/functions/user32/window/message.rb +168 -0
  192. data/lib/win-ffi/functions/user32/window/properties.rb +50 -0
  193. data/lib/win-ffi/functions/user32/window/timer.rb +37 -0
  194. data/lib/win-ffi/functions/user32/window/window.rb +546 -0
  195. data/lib/win-ffi/functions/user32/window/window_class.rb +109 -0
  196. data/lib/win-ffi/functions/user32/window/window_proc.rb +29 -0
  197. data/lib/win-ffi/functions/user32/window_station.rb +39 -0
  198. data/lib/win-ffi/functions/user32.rb +161 -0
  199. data/lib/win-ffi/functions/winmm.rb +547 -0
  200. data/lib/win-ffi/functions/wtsapi32/process.rb +12 -0
  201. data/lib/win-ffi/lib_base.rb +54 -0
  202. data/lib/win-ffi/struct.rb +15 -0
  203. data/lib/win-ffi/structs/comctl32/init_common_controls_ex.rb +10 -0
  204. data/lib/win-ffi/structs/comdlg32/choose_color.rb +23 -0
  205. data/lib/win-ffi/structs/comdlg32/choose_font.rb +28 -0
  206. data/lib/win-ffi/structs/comdlg32/find_replace.rb +24 -0
  207. data/lib/win-ffi/structs/gdi32/abc.rb +9 -0
  208. data/lib/win-ffi/structs/gdi32/abcfloat.rb +10 -0
  209. data/lib/win-ffi/structs/gdi32/bitmap.rb +13 -0
  210. data/lib/win-ffi/structs/gdi32/bitmap_info.rb +11 -0
  211. data/lib/win-ffi/structs/gdi32/bitmap_info_header.rb +17 -0
  212. data/lib/win-ffi/structs/gdi32/blend_function.rb +10 -0
  213. data/lib/win-ffi/structs/gdi32/display_device.rb +12 -0
  214. data/lib/win-ffi/structs/gdi32/handle_table.rb +7 -0
  215. data/lib/win-ffi/structs/gdi32/kerning_pair.rb +9 -0
  216. data/lib/win-ffi/structs/gdi32/log_brush.rb +10 -0
  217. data/lib/win-ffi/structs/gdi32/log_font.rb +20 -0
  218. data/lib/win-ffi/structs/gdi32/meta_file_pict.rb +10 -0
  219. data/lib/win-ffi/structs/gdi32/palette_entry.rb +10 -0
  220. data/lib/win-ffi/structs/gdi32/pixel_format_descriptor.rb +57 -0
  221. data/lib/win-ffi/structs/gdi32/rgb_quad.rb +10 -0
  222. data/lib/win-ffi/structs/kernel32/actctx.rb +22 -0
  223. data/lib/win-ffi/structs/netapi32/wksta_info_100.rb +9 -0
  224. data/lib/win-ffi/structs/os_version_info.rb +10 -0
  225. data/lib/win-ffi/structs/os_version_info_ex.rb +70 -0
  226. data/lib/win-ffi/structs/paint_struct.rb +12 -0
  227. data/lib/win-ffi/structs/point.rb +10 -0
  228. data/lib/win-ffi/structs/rect.rb +28 -0
  229. data/lib/win-ffi/structs/size.rb +6 -0
  230. data/lib/win-ffi/structs/user32/controls/combobox_info.rb +13 -0
  231. data/lib/win-ffi/structs/user32/controls/scroll_info.rb +13 -0
  232. data/lib/win-ffi/structs/user32/controls/scrollbar_info.rb +13 -0
  233. data/lib/win-ffi/structs/user32/cursor_info.rb +10 -0
  234. data/lib/win-ffi/structs/user32/display_device.rb +12 -0
  235. data/lib/win-ffi/structs/user32/draw_text_params.rb +11 -0
  236. data/lib/win-ffi/structs/user32/icon_info.rb +11 -0
  237. data/lib/win-ffi/structs/user32/icon_info_ex.rb +15 -0
  238. data/lib/win-ffi/structs/user32/last_input_info.rb +8 -0
  239. data/lib/win-ffi/structs/user32/mouse_move_point.rb +10 -0
  240. data/lib/win-ffi/structs/user32/msg.rb +16 -0
  241. data/lib/win-ffi/structs/user32/pointer_info.rb +25 -0
  242. data/lib/win-ffi/structs/user32/pointer_pen_info.rb +18 -0
  243. data/lib/win-ffi/structs/user32/pointer_touch_info.rb +17 -0
  244. data/lib/win-ffi/structs/user32/raw_input_device_list.rb +10 -0
  245. data/lib/win-ffi/structs/user32/raw_input_header.rb +10 -0
  246. data/lib/win-ffi/structs/user32/touch_hit_testing_input.rb +11 -0
  247. data/lib/win-ffi/structs/user32/touch_hit_testing_proximity_evaluation.rb +8 -0
  248. data/lib/win-ffi/structs/user32/track_mouse_event.rb +10 -0
  249. data/lib/win-ffi/structs/user32/window/alt_tab_info.rb +17 -0
  250. data/lib/win-ffi/structs/user32/window/bs_info.rb +12 -0
  251. data/lib/win-ffi/structs/user32/window/create_struct.rb +22 -0
  252. data/lib/win-ffi/structs/user32/window/dlg_template.rb +13 -0
  253. data/lib/win-ffi/structs/user32/window/flashw_info.rb +11 -0
  254. data/lib/win-ffi/structs/user32/window/gui_thread_info.rb +17 -0
  255. data/lib/win-ffi/structs/user32/window/luid.rb +8 -0
  256. data/lib/win-ffi/structs/user32/window/menu_info.rb +13 -0
  257. data/lib/win-ffi/structs/user32/window/menu_item_info.rb +18 -0
  258. data/lib/win-ffi/structs/user32/window/menu_item_template.rb +9 -0
  259. data/lib/win-ffi/structs/user32/window/menubar_info.rb +12 -0
  260. data/lib/win-ffi/structs/user32/window/msgbox_params.rb +16 -0
  261. data/lib/win-ffi/structs/user32/window/non_client_metrics.rb +29 -0
  262. data/lib/win-ffi/structs/user32/window/title_bar_info.rb +9 -0
  263. data/lib/win-ffi/structs/user32/window/tpm_params.rb +8 -0
  264. data/lib/win-ffi/structs/user32/window/update_layered_window_info.rb +22 -0
  265. data/lib/win-ffi/structs/user32/window/window_placement.rb +32 -0
  266. data/lib/win-ffi/structs/user32/window/window_pos.rb +46 -0
  267. data/lib/win-ffi/structs/user32/window/wndclass.rb +19 -0
  268. data/lib/win-ffi/structs/user32/window/wndclassex.rb +40 -0
  269. data/lib/win-ffi/version.rb +3 -0
  270. data/lib/win-ffi.rb +42 -0
  271. metadata +363 -0
@@ -0,0 +1,225 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ # https://msdn.microsoft.com/en-us/library/windows/desktop/ms724947%28v=vs.85%29.aspx
6
+ SystemParametersInfoAction = enum :system_parameters_info_action,
7
+ [
8
+ :GETBEEP, 0x0001,
9
+ :SETBEEP, 0x0002,
10
+ :GETMOUSE, 0x0003,
11
+ :SETMOUSE, 0x0004,
12
+ :GETBORDER, 0x0005,
13
+ :SETBORDER, 0x0006,
14
+ :GETKEYBOARDSPEED, 0x000A,
15
+ :SETKEYBOARDSPEED, 0x000B,
16
+ :LANGDRIVER, 0x000C,
17
+ :ICONHORIZONTALSPACING, 0x000D,
18
+ :GETSCREENSAVETIMEOUT, 0x000E,
19
+ :SETSCREENSAVETIMEOUT, 0x000F,
20
+ :GETSCREENSAVEACTIVE, 0x0010,
21
+ :SETSCREENSAVEACTIVE, 0x0011,
22
+ :GETGRIDGRANULARITY, 0x0012,
23
+ :SETGRIDGRANULARITY, 0x0013,
24
+ :SETDESKWALLPAPER, 0x0014,
25
+ :SETDESKPATTERN, 0x0015,
26
+ :GETKEYBOARDDELAY, 0x0016,
27
+ :SETKEYBOARDDELAY, 0x0017,
28
+ :ICONVERTICALSPACING, 0x0018,
29
+ :GETICONTITLEWRAP, 0x0019,
30
+ :SETICONTITLEWRAP, 0x001A,
31
+ :GETMENUDROPALIGNMENT, 0x001B,
32
+ :SETMENUDROPALIGNMENT, 0x001C,
33
+ :SETDOUBLECLKWIDTH, 0x001D,
34
+ :SETDOUBLECLKHEIGHT, 0x001E,
35
+ :GETICONTITLELOGFONT, 0x001F,
36
+ :SETDOUBLECLICKTIME, 0x0020,
37
+ :SETMOUSEBUTTONSWAP, 0x0021,
38
+ :SETICONTITLELOGFONT, 0x0022,
39
+ :GETFASTTASKSWITCH, 0x0023,
40
+ :SETFASTTASKSWITCH, 0x0024,
41
+ :SETDRAGFULLWINDOWS, 0x0025,
42
+ :GETDRAGFULLWINDOWS, 0x0026,
43
+ :GETNONCLIENTMETRICS, 0x0029,
44
+ :SETNONCLIENTMETRICS, 0x002A,
45
+ :GETMINIMIZEDMETRICS, 0x002B,
46
+ :SETMINIMIZEDMETRICS, 0x002C,
47
+ :GETICONMETRICS, 0x002D,
48
+ :SETICONMETRICS, 0x002E,
49
+ :SETWORKAREA, 0x002F,
50
+ :GETWORKAREA, 0x0030,
51
+ :SETPENWINDOWS, 0x0031,
52
+ :GETHIGHCONTRAST, 0x0042,
53
+ :SETHIGHCONTRAST, 0x0043,
54
+ :GETKEYBOARDPREF, 0x0044,
55
+ :SETKEYBOARDPREF, 0x0045,
56
+ :GETSCREENREADER, 0x0046,
57
+ :SETSCREENREADER, 0x0047,
58
+ :GETANIMATION, 0x0048,
59
+ :SETANIMATION, 0x0049,
60
+ :GETFONTSMOOTHING, 0x004A,
61
+ :SETFONTSMOOTHING, 0x004B,
62
+ :SETDRAGWIDTH, 0x004C,
63
+ :SETDRAGHEIGHT, 0x004D,
64
+ :SETHANDHELD, 0x004E,
65
+ :GETLOWPOWERTIMEOUT, 0x004F,
66
+ :GETPOWEROFFTIMEOUT, 0x0050,
67
+ :SETLOWPOWERTIMEOUT, 0x0051,
68
+ :SETPOWEROFFTIMEOUT, 0x0052,
69
+ :GETLOWPOWERACTIVE, 0x0053,
70
+ :GETPOWEROFFACTIVE, 0x0054,
71
+ :SETLOWPOWERACTIVE, 0x0055,
72
+ :SETPOWEROFFACTIVE, 0x0056,
73
+ :SETCURSORS, 0x0057,
74
+ :SETICONS, 0x0058,
75
+ :GETDEFAULTINPUTLANG, 0x0059,
76
+ :SETDEFAULTINPUTLANG, 0x005A,
77
+ :SETLANGTOGGLE, 0x005B,
78
+ :GETWINDOWSEXTENSION, 0x005C,
79
+ :SETMOUSETRAILS, 0x005D,
80
+ :GETMOUSETRAILS, 0x005E,
81
+ :SETSCREENSAVERRUNNING, 0x0061,
82
+ :SCREENSAVERRUNNING, 0x0061,
83
+ :GETFILTERKEYS, 0x0032,
84
+ :SETFILTERKEYS, 0x0033,
85
+ :GETTOGGLEKEYS, 0x0034,
86
+ :SETTOGGLEKEYS, 0x0035,
87
+ :GETMOUSEKEYS, 0x0036,
88
+ :SETMOUSEKEYS, 0x0037,
89
+ :GETSHOWSOUNDS, 0x0038,
90
+ :SETSHOWSOUNDS, 0x0039,
91
+ :GETSTICKYKEYS, 0x003A,
92
+ :SETSTICKYKEYS, 0x003B,
93
+ :GETACCESSTIMEOUT, 0x003C,
94
+ :SETACCESSTIMEOUT, 0x003D,
95
+ :GETSERIALKEYS, 0x003E,
96
+ :SETSERIALKEYS, 0x003F,
97
+ :GETSOUNDSENTRY, 0x0040,
98
+ :SETSOUNDSENTRY, 0x0041,
99
+ :GETSNAPTODEFBUTTON, 0x005F,
100
+ :SETSNAPTODEFBUTTON, 0x0060,
101
+ :GETMOUSEHOVERWIDTH, 0x0062,
102
+ :SETMOUSEHOVERWIDTH, 0x0063,
103
+ :GETMOUSEHOVERHEIGHT, 0x0064,
104
+ :SETMOUSEHOVERHEIGHT, 0x0065,
105
+ :GETMOUSEHOVERTIME, 0x0066,
106
+ :SETMOUSEHOVERTIME, 0x0067,
107
+ :GETWHEELSCROLLLINES, 0x0068,
108
+ :SETWHEELSCROLLLINES, 0x0069,
109
+ :GETMENUSHOWDELAY, 0x006A,
110
+ :SETMENUSHOWDELAY, 0x006B,
111
+ :GETWHEELSCROLLCHARS, 0x006C,
112
+ :SETWHEELSCROLLCHARS, 0x006D,
113
+ :GETSHOWIMEUI, 0x006E,
114
+ :SETSHOWIMEUI, 0x006F,
115
+ :GETMOUSESPEED, 0x0070,
116
+ :SETMOUSESPEED, 0x0071,
117
+ :GETSCREENSAVERRUNNING, 0x0072,
118
+ :GETDESKWALLPAPER, 0x0073,
119
+ :GETAUDIODESCRIPTION, 0x0074,
120
+ :SETAUDIODESCRIPTION, 0x0075,
121
+ :GETSCREENSAVESECURE, 0x0076,
122
+ :SETSCREENSAVESECURE, 0x0077,
123
+ :GETHUNGAPPTIMEOUT, 0x0078,
124
+ :SETHUNGAPPTIMEOUT, 0x0079,
125
+ :GETWAITTOKILLTIMEOUT, 0x007A,
126
+ :SETWAITTOKILLTIMEOUT, 0x007B,
127
+ :GETWAITTOKILLSERVICETIMEOUT, 0x007C,
128
+ :SETWAITTOKILLSERVICETIMEOUT, 0x007D,
129
+ :GETMOUSEDOCKTHRESHOLD, 0x007E,
130
+ :SETMOUSEDOCKTHRESHOLD, 0x007F,
131
+ :GETPENDOCKTHRESHOLD, 0x0080,
132
+ :SETPENDOCKTHRESHOLD, 0x0081,
133
+ :GETWINARRANGING, 0x0082,
134
+ :SETWINARRANGING, 0x0083,
135
+ :GETMOUSEDRAGOUTTHRESHOLD, 0x0084,
136
+ :SETMOUSEDRAGOUTTHRESHOLD, 0x0085,
137
+ :GETPENDRAGOUTTHRESHOLD, 0x0086,
138
+ :SETPENDRAGOUTTHRESHOLD, 0x0087,
139
+ :GETMOUSESIDEMOVETHRESHOLD, 0x0088,
140
+ :SETMOUSESIDEMOVETHRESHOLD, 0x0089,
141
+ :GETPENSIDEMOVETHRESHOLD, 0x008A,
142
+ :SETPENSIDEMOVETHRESHOLD, 0x008B,
143
+ :GETDRAGFROMMAXIMIZE, 0x008C,
144
+ :SETDRAGFROMMAXIMIZE, 0x008D,
145
+ :GETSNAPSIZING, 0x008E,
146
+ :SETSNAPSIZING, 0x008F,
147
+ :GETDOCKMOVING, 0x0090,
148
+ :SETDOCKMOVING, 0x0091,
149
+ :GETACTIVEWINDOWTRACKING, 0x1000,
150
+ :SETACTIVEWINDOWTRACKING, 0x1001,
151
+ :GETMENUANIMATION, 0x1002,
152
+ :SETMENUANIMATION, 0x1003,
153
+ :GETCOMBOBOXANIMATION, 0x1004,
154
+ :SETCOMBOBOXANIMATION, 0x1005,
155
+ :GETLISTBOXSMOOTHSCROLLING, 0x1006,
156
+ :SETLISTBOXSMOOTHSCROLLING, 0x1007,
157
+ :GETGRADIENTCAPTIONS, 0x1008,
158
+ :SETGRADIENTCAPTIONS, 0x1009,
159
+ :GETKEYBOARDCUES, 0x100A,
160
+ :SETKEYBOARDCUES, 0x100B,
161
+ :GETMENUUNDERLINES, 0x100A,
162
+ :SETMENUUNDERLINES, 0x100B,
163
+ :GETACTIVEWNDTRKZORDER, 0x100C,
164
+ :SETACTIVEWNDTRKZORDER, 0x100D,
165
+ :GETHOTTRACKING, 0x100E,
166
+ :SETHOTTRACKING, 0x100F,
167
+ :GETMENUFADE, 0x1012,
168
+ :SETMENUFADE, 0x1013,
169
+ :GETSELECTIONFADE, 0x1014,
170
+ :SETSELECTIONFADE, 0x1015,
171
+ :GETTOOLTIPANIMATION, 0x1016,
172
+ :SETTOOLTIPANIMATION, 0x1017,
173
+ :GETTOOLTIPFADE, 0x1018,
174
+ :SETTOOLTIPFADE, 0x1019,
175
+ :GETCURSORSHADOW, 0x101A,
176
+ :SETCURSORSHADOW, 0x101B,
177
+ :GETMOUSESONAR, 0x101C,
178
+ :SETMOUSESONAR, 0x101D,
179
+ :GETMOUSECLICKLOCK, 0x101E,
180
+ :SETMOUSECLICKLOCK, 0x101F,
181
+ :GETMOUSEVANISH, 0x1020,
182
+ :SETMOUSEVANISH, 0x1021,
183
+ :GETFLATMENU, 0x1022,
184
+ :SETFLATMENU, 0x1023,
185
+ :GETDROPSHADOW, 0x1024,
186
+ :SETDROPSHADOW, 0x1025,
187
+ :GETBLOCKSENDINPUTRESETS, 0x1026,
188
+ :SETBLOCKSENDINPUTRESETS, 0x1027,
189
+ :GETUIEFFECTS, 0x103E,
190
+ :SETUIEFFECTS, 0x103F,
191
+ :GETDISABLEOVERLAPPEDCONTENT, 0x1040,
192
+ :SETDISABLEOVERLAPPEDCONTENT, 0x1041,
193
+ :GETCLIENTAREAANIMATION, 0x1042,
194
+ :SETCLIENTAREAANIMATION, 0x1043,
195
+ :GETCLEARTYPE, 0x1048,
196
+ :SETCLEARTYPE, 0x1049,
197
+ :GETSPEECHRECOGNITION, 0x104A,
198
+ :SETSPEECHRECOGNITION, 0x104B,
199
+ :GETFOREGROUNDLOCKTIMEOUT, 0x2000,
200
+ :SETFOREGROUNDLOCKTIMEOUT, 0x2001,
201
+ :GETACTIVEWNDTRKTIMEOUT, 0x2002,
202
+ :SETACTIVEWNDTRKTIMEOUT, 0x2003,
203
+ :GETFOREGROUNDFLASHCOUNT, 0x2004,
204
+ :SETFOREGROUNDFLASHCOUNT, 0x2005,
205
+ :GETCARETWIDTH, 0x2006,
206
+ :SETCARETWIDTH, 0x2007,
207
+ :GETMOUSECLICKLOCKTIME, 0x2008,
208
+ :SETMOUSECLICKLOCKTIME, 0x2009,
209
+ :GETFONTSMOOTHINGTYPE, 0x200A,
210
+ :SETFONTSMOOTHINGTYPE, 0x200B,
211
+ :GETFONTSMOOTHINGCONTRAST, 0x200C,
212
+ :SETFONTSMOOTHINGCONTRAST, 0x200D,
213
+ :GETFOCUSBORDERWIDTH, 0x200E,
214
+ :SETFOCUSBORDERWIDTH, 0x200F,
215
+ :GETFOCUSBORDERHEIGHT, 0x2010,
216
+ :SETFOCUSBORDERHEIGHT, 0x2011,
217
+ :GETFONTSMOOTHINGORIENTATION, 0x2012,
218
+ :SETFONTSMOOTHINGORIENTATION, 0x2013,
219
+ :GETMINIMUMHITRADIUS, 0x2014,
220
+ :SETMINIMUMHITRADIUS, 0x2015,
221
+ :GETMESSAGEDURATION, 0x2016,
222
+ :SETMESSAGEDURATION, 0x2017
223
+ ]
224
+ end
225
+ end
@@ -0,0 +1,246 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ # https://msdn.microsoft.com/en-us/library/windows/desktop/ms724947%28v=vs.85%29.aspx
6
+ SystemParametersInfoFlags = enum :system_parameters_info_flags,
7
+ [
8
+ :GETACCESSTIMEOUT, 0x003C,
9
+ :GETAUDIODESCRIPTION, 0x0074,
10
+ :GETCLIENTAREAANIMATION, 0x1042,
11
+ :GETDISABLEOVERLAPPEDCONTENT, 0x1040,
12
+ :GETFILTERKEYS, 0x0032,
13
+ :GETFOCUSBORDERHEIGHT, 0x2010,
14
+ :GETFOCUSBORDERWIDTH, 0x200E,
15
+ :GETHIGHCONTRAST, 0x0042,
16
+ :GETLOGICALDPIOVERRIDE, 0x009E,
17
+ :GETMESSAGEDURATION, 0x2016,
18
+ :GETMOUSECLICKLOCK, 0x101E,
19
+ :GETMOUSECLICKLOCKTIME, 0x2008,
20
+ :GETMOUSEKEYS, 0x0036,
21
+ :GETMOUSESONAR, 0x101C,
22
+ :GETMOUSEVANISH, 0x1020,
23
+ :GETSCREENREADER, 0x0046,
24
+ :GETSERIALKEYS, 0x003E,
25
+ :GETSHOWSOUNDS, 0x0038,
26
+ :GETSOUNDSENTRY, 0x0040,
27
+ :GETSTICKYKEYS, 0x003A,
28
+ :GETTOGGLEKEYS, 0x0034,
29
+ :SETACCESSTIMEOUT, 0x003D,
30
+ :SETAUDIODESCRIPTION, 0x0075,
31
+ :SETCLIENTAREAANIMATION, 0x1043,
32
+ :SETDISABLEOVERLAPPEDCONTENT, 0x1041,
33
+ :SETFILTERKEYS, 0x0033,
34
+ :SETFOCUSBORDERHEIGHT, 0x2011,
35
+ :SETFOCUSBORDERWIDTH, 0x200F,
36
+ :SETHIGHCONTRAST, 0x0043,
37
+ :SETLOGICALDPIOVERRIDE, 0x009F, # Do not use.
38
+ :SETMESSAGEDURATION, 0x2017,
39
+ :SETMOUSECLICKLOCK, 0x101F,
40
+ :SETMOUSECLICKLOCKTIME, 0x2009,
41
+ :SETMOUSEKEYS, 0x0037,
42
+ :SETMOUSESONAR, 0x101D,
43
+ :SETMOUSEVANISH, 0x1021,
44
+ :SETSCREENREADER, 0x0047,
45
+ :SETSERIALKEYS, 0x003F,
46
+ :SETSHOWSOUNDS, 0x0039,
47
+ :SETSOUNDSENTRY, 0x0041,
48
+ :SETSTICKYKEYS, 0x003B,
49
+ :SETTOGGLEKEYS, 0x0035,
50
+
51
+ # The following are the desktop parameters.
52
+ :GETCLEARTYPE, 0x1048,
53
+ :GETDESKWALLPAPER, 0x0073,
54
+ :GETDROPSHADOW, 0x1024,
55
+ :GETFLATMENU, 0x1022,
56
+ :GETFONTSMOOTHING, 0x004A,
57
+ :GETFONTSMOOTHINGCONTRAST, 0x200C,
58
+ :GETFONTSMOOTHINGORIENTATION, 0x2012,
59
+ :GETFONTSMOOTHINGTYPE, 0x200A,
60
+ :GETWORKAREA, 0x0030,
61
+ :SETCLEARTYPE, 0x1049,
62
+ :SETCURSORS, 0x0057,
63
+ :SETDESKPATTERN, 0x0015,
64
+ :SETDESKWALLPAPER, 0x0014,
65
+ :SETDROPSHADOW, 0x1025,
66
+ :SETFLATMENU, 0x1023,
67
+ :SETFONTSMOOTHING, 0x004B,
68
+ :SETFONTSMOOTHINGCONTRAST, 0x200D,
69
+ :SETFONTSMOOTHINGORIENTATION, 0x2013,
70
+ :SETFONTSMOOTHINGTYPE, 0x200B,
71
+ :SETWORKAREA, 0x002F,
72
+
73
+ # The following are the icon parameters.
74
+ :GETICONMETRICS, 0x002D,
75
+ :GETICONTITLELOGFONT, 0x001F,
76
+ :GETICONTITLEWRAP, 0x0019,
77
+ :ICONHORIZONTALSPACING, 0x000D,
78
+ :ICONVERTICALSPACING, 0x0018,
79
+ :SETICONMETRICS, 0x002E,
80
+ :SETICONS, 0x0058,
81
+ :SETICONTITLELOGFONT, 0x0022,
82
+ :SETICONTITLEWRAP, 0x001A,
83
+ :GETBEEP, 0x0001,
84
+ :GETBLOCKSENDINPUTRESETS, 0x1026,
85
+ :GETCONTACTVISUALIZATION, 0x2018,
86
+ :GETDEFAULTINPUTLANG, 0x0059,
87
+ :GETGESTUREVISUALIZATION, 0x201A,
88
+ :GETKEYBOARDCUES, 0x100A,
89
+ :GETKEYBOARDDELAY, 0x0016,
90
+ :GETKEYBOARDPREF, 0x0044,
91
+ :GETKEYBOARDSPEED, 0x000A,
92
+ :GETMOUSE, 0x0003,
93
+ :GETMOUSEHOVERHEIGHT, 0x0064,
94
+ :GETMOUSEHOVERTIME, 0x0066,
95
+ :GETMOUSEHOVERWIDTH, 0x0062,
96
+ :GETMOUSESPEED, 0x0070,
97
+ :GETMOUSETRAILS, 0x005E,
98
+ :GETSNAPTODEFBUTTON, 0x005F,
99
+ :GETSYSTEMLANGUAGEBAR, 0x1050,
100
+ :GETTHREADLOCALINPUTSETTINGS, 0x104E,
101
+ :GETWHEELSCROLLCHARS, 0x006C,
102
+ :GETWHEELSCROLLLINES, 0x0068,
103
+ :SETBEEP, 0x0002,
104
+ :SETBLOCKSENDINPUTRESETS, 0x1027,
105
+ :SETCONTACTVISUALIZATION, 0x2019,
106
+ :SETDEFAULTINPUTLANG, 0x005A,
107
+ :SETDOUBLECLICKTIME, 0x0020,
108
+ :SETDOUBLECLKHEIGHT, 0x001E,
109
+ :SETDOUBLECLKWIDTH, 0x001D,
110
+ :SETGESTUREVISUALIZATION, 0x201B,
111
+ :SETKEYBOARDCUES, 0x100B,
112
+ :SETKEYBOARDDELAY, 0x0017,
113
+ :SETKEYBOARDPREF, 0x0045,
114
+ :SETKEYBOARDSPEED, 0x000B,
115
+ :SETLANGTOGGLE, 0x005B,
116
+ :SETMOUSE, 0x0004,
117
+ :SETMOUSEBUTTONSWAP, 0x0021,
118
+ :SETMOUSEHOVERHEIGHT, 0x0065,
119
+ :SETMOUSEHOVERTIME, 0x0067,
120
+ :SETMOUSEHOVERWIDTH, 0x0063,
121
+ :SETMOUSESPEED, 0x0071,
122
+ :SETMOUSETRAILS, 0x005D,
123
+ :SETSNAPTODEFBUTTON, 0x0060,
124
+ :SETSYSTEMLANGUAGEBAR, 0x1051,
125
+ :SETTHREADLOCALINPUTSETTINGS, 0x104F,
126
+ :SETWHEELSCROLLCHARS, 0x006D,
127
+ :SETWHEELSCROLLLINES, 0x0069,
128
+
129
+ # The following are the menu parameters.
130
+ :GETMENUDROPALIGNMENT, 0x001B,
131
+ :GETMENUFADE, 0x1012,
132
+ :GETMENUSHOWDELAY, 0x006A,
133
+ :SETMENUDROPALIGNMENT, 0x001C,
134
+ :SETMENUFADE, 0x1013,
135
+ :SETMENUSHOWDELAY, 0x006B,
136
+
137
+ # The following are the power parameters.
138
+ # Beginning with Windows Server 2008 and Windows Vista, these power parameters are not supported. Instead, to
139
+ # determine the current display power state, an application should register for GUID_MONITOR_POWER_STATE
140
+ # notifications. To determine the current display power down time-out, an application should register for
141
+ # notification of changes to the GUID_VIDEO_POWERDOWN_TIMEOUT power setting. For more information, see
142
+ # Registering for Power Events.
143
+ # Windows Server 2003 and Windows XP/2000: To determine the current display power state, use the following
144
+ # power parameters.
145
+
146
+ :GETLOWPOWERACTIVE, 0x0053,
147
+ :GETLOWPOWERTIMEOUT, 0x004F,
148
+ :GETPOWEROFFACTIVE, 0x0054,
149
+ :GETPOWEROFFTIMEOUT, 0x0050,
150
+ :SETLOWPOWERACTIVE, 0x0055,
151
+ :SETLOWPOWERTIMEOUT, 0x0051,
152
+ :SETPOWEROFFACTIVE, 0x0056,
153
+ :SETPOWEROFFTIMEOUT, 0x0052,
154
+
155
+ # The following are the screen saver parameters.
156
+ :GETSCREENSAVEACTIVE, 0x0010,
157
+ :GETSCREENSAVERRUNNING, 0x0072,
158
+ :GETSCREENSAVESECURE, 0x0076,
159
+ :GETSCREENSAVETIMEOUT, 0x000E,
160
+ :SETSCREENSAVEACTIVE, 0x0011,
161
+ :SETSCREENSAVESECURE, 0x0077,
162
+ :SETSCREENSAVETIMEOUT, 0x000F,
163
+
164
+ # The following are the time-out parameters for applications and services.
165
+ :GETHUNGAPPTIMEOUT, 0x0078,
166
+ :GETWAITTOKILLTIMEOUT, 0x007A,
167
+ :GETWAITTOKILLSERVICETIMEOUT, 0x007C,
168
+ :SETHUNGAPPTIMEOUT, 0x0079,
169
+ :SETWAITTOKILLTIMEOUT, 0x007B,
170
+ :SETWAITTOKILLSERVICETIMEOUT, 0x007D,
171
+
172
+ # The following are the UI effects. The :SETUIEFFECTS value is used to enable or disable all UI effects at once.
173
+ # This table contains the complete list of UI effect values.
174
+ :GETCOMBOBOXANIMATION, 0x1004,
175
+ :GETCURSORSHADOW, 0x101A,
176
+ :GETGRADIENTCAPTIONS, 0x1008,
177
+ :GETHOTTRACKING, 0x100E,
178
+ :GETLISTBOXSMOOTHSCROLLING, 0x1006,
179
+ :GETMENUANIMATION, 0x1002,
180
+ :GETMENUUNDERLINES, 0x100A,
181
+ :GETSELECTIONFADE, 0x1014,
182
+ :GETTOOLTIPANIMATION, 0x1016,
183
+ :GETTOOLTIPFADE, 0x1018,
184
+ :GETUIEFFECTS, 0x103E,
185
+ :SETCOMBOBOXANIMATION, 0x1005,
186
+ :SETCURSORSHADOW, 0x101B,
187
+ :SETGRADIENTCAPTIONS, 0x1009,
188
+ :SETHOTTRACKING, 0x100F,
189
+ :SETLISTBOXSMOOTHSCROLLING, 0x1007,
190
+ :SETMENUANIMATION, 0x1003,
191
+ :SETMENUUNDERLINES, 0x100B,
192
+ :SETSELECTIONFADE, 0x1015,
193
+ :SETTOOLTIPANIMATION, 0x1017,
194
+ :SETTOOLTIPFADE, 0x1019,
195
+ :SETUIEFFECTS, 0x103F,
196
+
197
+ # The following are the window parameters.
198
+ :GETACTIVEWINDOWTRACKING, 0x1000,
199
+ :GETACTIVEWNDTRKZORDER, 0x100C,
200
+ :GETACTIVEWNDTRKTIMEOUT, 0x2002,
201
+ :GETANIMATION, 0x0048,
202
+ :GETBORDER, 0x0005,
203
+ :GETCARETWIDTH, 0x2006,
204
+ :GETDOCKMOVING, 0x0090,
205
+ :GETDRAGFROMMAXIMIZE, 0x008C,
206
+ :GETDRAGFULLWINDOWS, 0x0026,
207
+ :GETFOREGROUNDFLASHCOUNT, 0x2004,
208
+ :GETFOREGROUNDLOCKTIMEOUT, 0x2000,
209
+ :GETMINIMIZEDMETRICS, 0x002B,
210
+ :GETMOUSEDOCKTHRESHOLD, 0x007E,
211
+ :GETMOUSEDRAGOUTTHRESHOLD, 0x0084,
212
+ :GETMOUSESIDEMOVETHRESHOLD, 0x0088,
213
+ :GETNONCLIENTMETRICS, 0x0029,
214
+ :GETPENDOCKTHRESHOLD, 0x0080,
215
+ :GETPENDRAGOUTTHRESHOLD, 0x0086,
216
+ :GETPENSIDEMOVETHRESHOLD, 0x008A,
217
+ :GETSHOWIMEUI, 0x006E,
218
+ :GETSNAPSIZING, 0x008E,
219
+ :GETWINARRANGING, 0x0082,
220
+ :SETACTIVEWINDOWTRACKING, 0x1001,
221
+ :SETACTIVEWNDTRKZORDER, 0x100D,
222
+ :SETACTIVEWNDTRKTIMEOUT, 0x2003,
223
+ :SETANIMATION, 0x0049,
224
+ :SETBORDER, 0x0006,
225
+ :SETCARETWIDTH, 0x2007,
226
+ :SETDOCKMOVING, 0x0091,
227
+ :SETDRAGFROMMAXIMIZE, 0x008D,
228
+ :SETDRAGFULLWINDOWS, 0x0025,
229
+ :SETDRAGHEIGHT, 0x004D,
230
+ :SETDRAGWIDTH, 0x004C,
231
+ :SETFOREGROUNDFLASHCOUNT, 0x2005,
232
+ :SETFOREGROUNDLOCKTIMEOUT, 0x2001,
233
+ :SETMINIMIZEDMETRICS, 0x002C,
234
+ :SETMOUSEDOCKTHRESHOLD, 0x007F,
235
+ :SETMOUSEDRAGOUTTHRESHOLD, 0x0085,
236
+ :SETMOUSESIDEMOVETHRESHOLD, 0x0089,
237
+ :SETNONCLIENTMETRICS, 0x002A,
238
+ :SETPENDOCKTHRESHOLD, 0x0081,
239
+ :SETPENDRAGOUTTHRESHOLD, 0x0087,
240
+ :SETPENSIDEMOVETHRESHOLD, 0x008B,
241
+ :SETSHOWIMEUI, 0x006F,
242
+ :SETSNAPSIZING, 0x008F,
243
+ :SETWINARRANGING, 0x0083
244
+ ]
245
+ end
246
+ end
@@ -0,0 +1,70 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ TrackPopupMenuFlags = enum :track_popup_menu_flags,
6
+ [
7
+ # Use one of the following flags to specify how the function positions the pop-up window horizontally.
8
+ :CENTERALIGN, 0x0004, # Centers pop-up window horizontally relative to the coordinate specified by the
9
+ # anchorPoint->x parameter.
10
+ :LEFTALIGN, 0x0000, # Positions the pop-up window so that its left edge is aligned with the coordinate specified
11
+ # by the anchorPoint->x parameter.
12
+ :RIGHTALIGN, 0x0008, # Positions the pop-up window so that its right edge is aligned with the coordinate
13
+ # specified by the anchorPoint->x parameter.
14
+
15
+
16
+ # Use one of the following flags to specify how the function positions the pop-up window vertically.
17
+ :BOTTOMALIGN, 0x0020, # Positions the pop-up window so that its bottom edge is aligned with the coordinate specified
18
+ # by the anchorPoint->y parameter.
19
+
20
+ :TOPALIGN, 0x0000, #Positions the pop-up window so that its left edge is aligned with the coordinate specified by the
21
+ # anchorPoint->y parameter.
22
+
23
+ :VCENTERALIGN, 0x0010, #Centers the pop-up window vertically relative to the coordinate specified by the
24
+ # anchorPoint->y parameter.
25
+
26
+
27
+ # Use the following flags to control discovery of the user selection without having to set up a parent window for the menu.
28
+ :NONOTIFY, 0x0080, # The function does not send notification messages when the user clicks a menu item.
29
+
30
+ :RETURNCMD, 0x0100, # The function returns the menu item identifier of the user's selection in the return value.
31
+
32
+
33
+ # Use one of the following flags to specify which mouse button the shortcut menu tracks.
34
+ :LEFTBUTTON, 0x0000, # The user can select menu items with only the left mouse button.
35
+
36
+ :RIGHTBUTTON, 0x0002, # The user can select menu items with both the left and right mouse buttons.
37
+
38
+
39
+ # Use any reasonable combination of the following flags to modify the animation of a menu. For example, by
40
+ # selecting a horizontal and a vertical flag, you can achieve diagonal animation.
41
+ :HORPOSANIMATION, 0x0400, # Animates the menu from left to right.
42
+ :HORNEGANIMATION, 0x0800, # Animates the menu from right to left.
43
+ :VERPOSANIMATION, 0x1000, # Animates the menu from top to bottom.
44
+ :VERNEGANIMATION, 0x2000, # Animates the menu from bottom to top.
45
+ :NOANIMATION, 0x4000, # Displays menu without animation.
46
+
47
+ # For any animation to occur, the SystemParametersInfo function must set SPI_SETMENUANIMATION. Also, all
48
+ # the :*ANIMATION flags, except :NOANIMATION, are ignored if menu fade animation is on. For more information,
49
+ # see the SPI_GETMENUFADE flag in SystemParametersInfo.
50
+ # Use the :RECURSE flag to display a menu when another menu is already displayed. This is intended to support
51
+ # context menus within a menu.
52
+
53
+
54
+ #Use one of the following flags to specify whether to accommodate horizontal or vertical alignment.
55
+ :HORIZONTAL, 0x0000, # If the menu cannot be shown at the specified location without overlapping the excluded
56
+ # rectangle, the system tries to accommodate the requested horizontal alignment before the requested vertical
57
+ # alignment.
58
+
59
+ :VERTICAL, 0x0040, # If the menu cannot be shown at the specified location without overlapping the excluded
60
+ # rectangle, the system tries to accommodate the requested vertical alignment before the requested horizontal
61
+ # alignment.
62
+
63
+
64
+ # The following flag is available starting with Windows 7.
65
+ :WORKAREA, 0x10000, # Restricts the pop-up window to within the work area. If this flag is not set, the pop-up
66
+ # window is restricted to the work area only if the input point is within the work area. For more information,
67
+ # see the rcWork and rcMonitor members of the MONITORINFO structure.
68
+ ]
69
+ end
70
+ end
@@ -0,0 +1,22 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ WindowLong = enum :window_long,
6
+ [
7
+ :WNDPROC, -4, #Sets a new address for the window procedure. You cannot change this attribute if the
8
+ # window does not belong to the same process as the calling thread.
9
+
10
+ :HINSTANCE, -6, #Sets a new application instance handle.
11
+
12
+ :ID, -12, #Sets a new identifier of the child window. The window cannot be a top-level window.
13
+
14
+ :STYLE, -16, #Sets a new window style.
15
+
16
+ :EXSTYLE, -20, #Sets a new extended window style.
17
+
18
+ :USERDATA, -21, #Sets the user data associated with the window. This data is intended for use by the
19
+ # application that created the window. Its value is initially zero.
20
+ ]
21
+ end
22
+ end