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.
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,32 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ OCR = enum :ocr,
6
+ [
7
+ :NORMAL, 32512,
8
+ :IBEAM, 32513,
9
+ :WAIT, 32514,
10
+ :CROSS, 32515,
11
+ :UP, 32516,
12
+ :SIZE, 32640, # OBSOLETE: use OCR_SIZEALL
13
+ :ICON, 32641, # OBSOLETE: use OCR_NORMAL
14
+ :SIZENWSE, 32642,
15
+ :SIZENESW, 32643,
16
+ :SIZEWE, 32644,
17
+ :SIZENS, 32645,
18
+ :SIZEALL, 32646,
19
+ :ICOCUR, 32647, # OBSOLETE: use OIC_WINLOGO
20
+ :NO, 32648,
21
+ :APPSTARTING,32650
22
+ ]
23
+
24
+ #if(WINVER >= 0x0500)
25
+ #define OCR_HAND 32649
26
+ #endif /* WINVER >= 0x0500 */
27
+ if WindowsVersion >= 2000
28
+ OCR.instance_variable_get(:@kv_map)[:HAND] = 32649
29
+ OCR.instance_variable_get(:@vk_map)[32649] = :HAND
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,26 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ OIC = enum :oic,
6
+ [
7
+ :SAMPLE, 32512,
8
+ :HAND, 32513,
9
+ :QUES, 32514,
10
+ :BANG, 32515,
11
+ :NOTE, 32516,
12
+ :WINLOGO, 32517,
13
+ :WARNING, 32515,
14
+ :ERROR, 32513,
15
+ :INFORMATION, 32516
16
+ ]
17
+
18
+ #if(WINVER >= 0x0600)
19
+ #define OIC_SHIELD 32518
20
+ #endif /* WINVER >= 0x0600 */
21
+ if WindowsVersion >= :vista
22
+ OIC.instance_variable_get(:@kv_map)[:SHIELD] = 32518
23
+ OIC.instance_variable_get(:@vk_map)[32518] = :SHIELD
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,12 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ PenFlags = enum :pen_flags,
6
+ [
7
+ :PEN_FLAG_BARREL, 0x00000001, # The barrel button is pressed.
8
+ :PEN_FLAG_INVERTED, 0x00000002, # The pen is inverted.
9
+ :PEN_FLAG_ERASER, 0x00000004, # The eraser button is pressed.
10
+ ]
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ PenMask = enum :pen_mask,
6
+ [
7
+ :PEN_MASK_NONE, 0x00000000, # Default. None of the optional fields are valid.
8
+ :PEN_MASK_PRESSURE, 0x00000001, # pressure of the POINTER_PEN_INFO structure is valid.
9
+ :PEN_MASK_ROTATION, 0x00000002, # rotation of the POINTER_PEN_INFO structure is valid.
10
+ :PEN_MASK_TILT_X, 0x00000004, # tiltX of the POINTER_PEN_INFO structure is valid.
11
+ :PEN_MASK_TILT_Y, 0x00000008, # tiltY of the POINTER_PEN_INFO structure is valid.
12
+ ]
13
+ end
14
+ end
@@ -0,0 +1,82 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ PointerFlags = enum :pointer_flags,
6
+ [
7
+ :NONE, 0x00000000, # Default
8
+
9
+ :NEW, 0x00000001, # Indicates the arrival of a new pointer.
10
+
11
+ :INRANGE, 0x00000002, # Indicates that this pointer continues to exist. When this flag is not set,
12
+ # it indicates the pointer has left detection range. This flag is typically not set only when a hovering pointer
13
+ # leaves detection range (POINTER_FLAG_UPDATE is set) or when a pointer in contact with a window surface leaves
14
+ # detection range (POINTER_FLAG_UP is set).
15
+
16
+ :INCONTACT, 0x00000004, #Indicates that this pointer is in contact with the digitizer surface.
17
+ # When this flag is not set, it indicates a hovering pointer.
18
+
19
+ :FIRSTBUTTON, 0x00000010, # Indicates a primary action, analogous to a left mouse button down.
20
+ #A touch pointer has this flag set when it is in contact with the digitizer surface.
21
+ #A pen pointer has this flag set when it is in contact with the digitizer surface with no buttons pressed.
22
+ #A mouse pointer has this flag set when the left mouse button is down.
23
+
24
+ :SECONDBUTTON, 0x00000020, # Indicates a secondary action, analogous to a right mouse button down.
25
+ #A touch pointer does not use this flag. A pen pointer has this flag set when it is in contact with the
26
+ # digitizer surface with the pen barrel button pressed.A mouse pointer has this flag set when the right mouse
27
+ # button is down.
28
+
29
+ :THIRDBUTTON, 0x00000040, # Analogous to a mouse wheel button down. A touch pointer does not use
30
+ # this flag. A pen pointer does not use this flag. A mouse pointer has this flag set when the mouse wheel button
31
+ # is down.
32
+
33
+ :FOURTHBUTTON, 0x00000080, # Analogous to a first extended mouse (XButton1) button down.
34
+ # A touch pointer does not use this flag.
35
+ # A pen pointer does not use this flag.
36
+ # A mouse pointer has this flag set when the first extended mouse (XBUTTON1) button is down.
37
+
38
+ :FIFTHBUTTON, 0x00000100, # Analogous to a second extended mouse (XButton2) button down.
39
+ # A touch pointer does not use this flag.
40
+ # A pen pointer does not use this flag.
41
+ # A mouse pointer has this flag set when the second extended mouse (XBUTTON2) button is down.
42
+
43
+ :PRIMARY, 0x00002000, # Indicates that this pointer has been designated as the primary pointer.
44
+ # A primary pointer is a single pointer that can perform actions beyond those available to non-primary pointers.
45
+ # For example, when a primary pointer makes contact with a window’s surface, it may provide the window an
46
+ # opportunity to activate by sending it a WM_POINTERACTIVATE message. The primary pointer is identified from all
47
+ # current user interactions on the system (mouse, touch, pen, and so on). As such, the primary pointer might not
48
+ # be associated with your app. The first contact in a multi-touch interaction is set as the primary pointer.
49
+ # Once a primary pointer is identified, all contacts must be lifted before a new contact can be identified as a
50
+ # primary pointer. For apps that don't process pointer input, only the primary pointer's events are promoted to
51
+ # mouse events.
52
+
53
+ :CONFIDENCE, 0x000004000, # Confidence is a suggestion from the source device about whether the
54
+ # pointer represents an intended or accidental interaction, which is especially relevant for PT_TOUCH pointers
55
+ # where an accidental interaction (such as with the palm of the hand) can trigger input. The presence of this
56
+ # flag indicates that the source device has high confidence that this input is part of an intended interaction.
57
+
58
+ :POINTER_FLAG_CANCELED, 0x000008000, #Indicates that the pointer is departing in an abnormal manner, such as
59
+ # when the system receives invalid input for the pointer or when a device with active pointers departs abruptly.
60
+ # If the application receiving the input is in a position to do so, it should treat the interaction as not
61
+ # completed and reverse any effects of the concerned pointer.
62
+
63
+ :POINTER_FLAG_DOWN, 0x00010000, # Indicates that this pointer transitioned to a down state; that is, it made
64
+ # contact with the digitizer surface.
65
+
66
+ :POINTER_FLAG_UPDATE, 0x00020000, # Indicates that this is a simple update that does not include pointer state
67
+ # changes.
68
+
69
+ :POINTER_FLAG_UP, 0x00040000, # Indicates that this pointer transitioned to an up state; that is, it broke
70
+ # contact with the digitizer surface.
71
+
72
+ :POINTER_FLAG_WHEEL, 0x00080000, # Indicates input associated with a pointer wheel. For mouse pointers, this is
73
+ # equivalent to the action of the mouse scroll wheel (WM_MOUSEWHEEL).
74
+
75
+ :POINTER_FLAG_HWHEEL, 0x00100000, # Indicates input associated with a pointer h-wheel. For mouse pointers, this
76
+ # is equivalent to the action of the mouse horizontal scroll wheel (WM_MOUSEHWHEEL).
77
+
78
+ :POINTER_FLAG_CAPTURECHANGED, 0x00200000, # Indicates that this pointer was captured by (associated with)
79
+ # another element and the original element has lost capture (see WM_POINTERCAPTURECHANGED)
80
+ ]
81
+ end
82
+ end
@@ -0,0 +1,13 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ PointerInputType = enum :pointer_input_type,
6
+ [
7
+ :PT_POINTER, 0x00000001,
8
+ :PT_TOUCH, 0x00000002,
9
+ :PT_PEN, 0x00000003,
10
+ :PT_MOUSE, 0x00000004
11
+ ]
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ ProcessDpiAwareness = enum :process_dpi_awareness,
6
+ [
7
+ :Process_DPI_Unaware, 0, # DPI unaware
8
+ :Process_System_DPI_Aware, 1, # System DPI aware
9
+ :Process_Per_Monitor_DPI_Aware, 2, # Per monitor DPI aware
10
+ ]
11
+ end
12
+ end
@@ -0,0 +1,36 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ QueueStatusFlags = enum :queue_status_flags, [
6
+ :KEY, 0x0001, # A WM_KEYUP, WM_KEYDOWN, WM_SYSKEYUP, or WM_SYSKEYDOWN message is in the queue.
7
+
8
+ :MOUSEMOVE, 0x0002, # A WM_MOUSEMOVE message is in the queue.
9
+
10
+ :MOUSEBUTTON, 0x0004, # A mouse-button message (WM_LBUTTONUP, WM_RBUTTONDOWN, and so on).
11
+
12
+ :POSTMESSAGE, 0x0008, # A posted message (other than those listed here) is in the queue.
13
+
14
+ :TIMER, 0x0010, # A WM_TIMER message is in the queue.
15
+
16
+ :PAINT, 0x0020, # A WM_PAINT message is in the queue.
17
+
18
+ :SENDMESSAGE, 0x0040, # A message sent by another thread or application is in the queue.
19
+
20
+ :HOTKEY, 0x0080, # A WM_HOTKEY message is in the queue.
21
+
22
+ :ALLPOSTMESSAGE, 0x0100, # A posted message (other than those listed here) is in the queue.
23
+
24
+ :RAWINPUT, 0x0400, #A raw input message is in the queue. For more information, see Raw Input.
25
+ #Windows 2000: This flag is not supported.
26
+
27
+ :MOUSE, 0x0006, #(:MOUSEMOVE | :MOUSEBUTTON), # A WM_MOUSEMOVE message or mouse-button message
28
+ # (WM_LBUTTONUP, WM_RBUTTONDOWN, and so on).
29
+ :INPUT, 0x0407, #(:MOUSE | :KEY | :RAWINPUT), # An input message is in the queue.
30
+ :ALLEVENTS, 0x04B7, # (:INPUT | :POSTMESSAGE | :TIMER | :PAINT | :HOTKEY), # An input, WM_TIMER, WM_PAINT,
31
+ # WM_HOTKEY, or posted message is in the queue.
32
+ :ALLINPUT, 0x04FF, # (:INPUT | :POSTMESSAGE | :TIMER | :PAINT | :HOTKEY | :SENDMESSAGE), # Any message is in the
33
+ # queue.
34
+ ]
35
+ end
36
+ end
@@ -0,0 +1,12 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ RIM = enum :rim,
6
+ [
7
+ :TYPEMOUSE, 0, # The device is a mouse.
8
+ :TYPEKEYBOARD, 1, # The device is a keyboard.
9
+ :TYPEHID, 2, # The device is an HID that is not a keyboard and not a mouse.
10
+ ]
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ TouchInjectionFlags = enum :touch_injection_flags,
6
+ [
7
+ :TOUCH_FEEDBACK_DEFAULT, 0x1, # Specifies default touch visualizations.
8
+ :TOUCH_FEEDBACK_INDIRECT, 0x2, # Specifies indirect touch visualizations.
9
+ :TOUCH_FEEDBACK_NONE, 0x3, # Specifies no touch visualizations.
10
+ :MAX_TOUCH_COUNT, 256, # Specifies the maximum number of simultaneous contacts.
11
+ ]
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ TouchMask = enum :touch_mask,
6
+ [
7
+ :TOUCH_MASK_NONE, 0x00000000, #Default. None of the optional fields are valid.
8
+ :TOUCH_MASK_CONTACTAREA, 0x00000001, #rcContact of the POINTER_TOUCH_INFO structure is valid.
9
+ :TOUCH_MASK_ORIENTATION, 0x00000002, #orientation of the POINTER_TOUCH_INFO structure is valid.
10
+ :TOUCH_MASK_PRESSURE, 0x00000004, #pressure of the POINTER_TOUCH_INFO structure is valid.
11
+ ]
12
+ end
13
+ end
@@ -0,0 +1,22 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ UserObjectInformationFlags = enum :user_object_information_flags, [
6
+ :FLAGS, 1, # The handle flags. The pvInfo parameter must point to a USEROBJECTFLAGS structure.
7
+ :NAME, 2, # The name of the object, as a string.
8
+ :TYPE, 3, # The type name of the object, as a string.
9
+ :USER_SID, 4, # The SID structure that identifies the user that is currently associated with the specified
10
+ # object. If no user is associated with the object, the value returned in the buffer pointed to by
11
+ # lpnLengthNeeded is zero. Note that SID is a variable length structure. You will usually make a call to
12
+ # GetUserObjectInformation to determine the length of the SID before retrieving its value.
13
+
14
+ :HEAPSIZE, 5, # The size of the desktop heap, in KB, as a ULONG value. The hObj parameter must be a handle to a
15
+ # desktop object, otherwise, the function fails.
16
+ # Windows Server 2003 and Windows XP/2000: This value is not supported.
17
+
18
+ :IO, 6, # TRUE if the hObj parameter is a handle to the desktop object that is receiving input from the user.
19
+ # FALSE otherwise. Windows Server 2003 and Windows XP/2000: This value is not supported.
20
+ ]
21
+ end
22
+ end
@@ -0,0 +1,214 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ VirtualKeyFlags = enum :virtual_key_flags,
6
+ [
7
+ :lbutton, 0x01, #Left mouse button
8
+ :rbutton, 0x02, #Right mouse button
9
+ :cancel, 0x03, #Control-break processing
10
+ :mbutton, 0x04, #Middle mouse button (three-button mouse)
11
+ :xbutton1, 0x05, #X1 mouse button
12
+ :xbutton2, 0x06, #X2 mouse button
13
+ #-, 0x07, #Undefined
14
+ :backspace, 0x08, #BACKSPACE key
15
+ :tab, 0x09, #TAB key
16
+ #-, 0x0A-0B, #Reserved
17
+ :clear, 0x0C, #CLEAR key
18
+ :enter, 0x0D, #ENTER key
19
+ #:return, 0x0D, #ENTER key
20
+ #-, 0x0E-0F, #Undefined
21
+ :shift, 0x10, #SHIFT key
22
+ :control, 0x11, #CTRL key
23
+ :menu, 0x12, #ALT key
24
+ :pause, 0x13, #PAUSE key
25
+ :capital, 0x14, #CAPS LOCK key
26
+ :kana, 0x15, #IME Kana mode
27
+ :hanguel, 0x15, #IME Hanguel mode (maintained for compatibility; use :HANGUL)
28
+ :hangul, 0x15, #IME Hangul mode
29
+ #-, 0x16, #Undefined
30
+ :junja, 0x17, #IME Junja mode
31
+ :final, 0x18, #IME final mode
32
+ :hanja, 0x19, #IME Hanja mode
33
+ :kanji, 0x19, #IME Kanji mode
34
+ #-, 0x1A, #Undefined
35
+ :esc, 0x1B, #ESC key
36
+ #:escape, 0x1B, #ESC key
37
+ :convert, 0x1C, #IME convert
38
+ :nonconvert, 0x1D, #IME nonconvert
39
+ :accept, 0x1E, #IME accept
40
+ :modechange, 0x1F, #IME mode change request
41
+ :space, 0x20, #SPACEBAR
42
+ :prior, 0x21, #PAGE UP key
43
+ :next, 0x22, #PAGE DOWN key
44
+ :end, 0x23, #END key
45
+ :home, 0x24, #HOME key
46
+ :left, 0x25, #LEFT ARROW key
47
+ :up, 0x26, #UP ARROW key
48
+ :right, 0x27, #RIGHT ARROW key
49
+ :down, 0x28, #DOWN ARROW key
50
+ :select, 0x29, #SELECT key
51
+ :print, 0x2A, #PRINT key
52
+ :execute, 0x2B, #EXECUTE key
53
+ :snapshot, 0x2C, #PRINT SCREEN key
54
+ :ins, 0x2D, #INS key
55
+ :insert, 0x2D, #INS key
56
+ :del, 0x2E, #DEL key
57
+ :delete, 0x2E, #DEL key
58
+ :help, 0x2F, #HELP
59
+ :n0, 0x30,
60
+ :n1, 0x31,
61
+ :n2, 0x32,
62
+ :n3, 0x33,
63
+ :n4, 0x34,
64
+ :n5, 0x35,
65
+ :n6, 0x36,
66
+ :n7, 0x37,
67
+ :n8, 0x38,
68
+ :n9, 0x39,
69
+ :'0', 0x30,
70
+ :'1', 0x31,
71
+ :'2', 0x32,
72
+ :'3', 0x33,
73
+ :'4', 0x34,
74
+ :'5', 0x35,
75
+ :'6', 0x36,
76
+ :'7', 0x37,
77
+ :'8', 0x38,
78
+ :'9', 0x39,
79
+ #-, 0x3A-40, #Undefined,
80
+ :a, 0x41,
81
+ :b, 0x42,
82
+ :c, 0x43,
83
+ :d, 0x44,
84
+ :e, 0x45,
85
+ :f, 0x46,
86
+ :g, 0x47,
87
+ :h, 0x48,
88
+ :i, 0x49,
89
+ :j, 0x4A,
90
+ :k, 0x4B,
91
+ :l, 0x4C,
92
+ :m, 0x4D,
93
+ :n, 0x4E,
94
+ :o, 0x4F,
95
+ :p, 0x50,
96
+ :q, 0x51,
97
+ :r, 0x52,
98
+ :s, 0x53,
99
+ :t, 0x54,
100
+ :u, 0x55,
101
+ :v, 0x56,
102
+ :w, 0x57,
103
+ :x, 0x58,
104
+ :y, 0x59,
105
+ :z, 0x5A,
106
+ :lwin, 0x5B, #Left Windows key (Natural keyboard)
107
+ :rwin, 0x5C, #Right Windows_key (Natural keyboard)
108
+ :apps, 0x5D, #Applications_key (Natural keyboard)
109
+ #-, 0x5E, #Reserved
110
+ :sleep, 0x5F, #Computer Sleep key
111
+ :numpad0, 0x60, #Numeric keypad 0 key
112
+ :numpad1, 0x61, #Numeric keypad 1 key
113
+ :numpad2, 0x62, #Numeric keypad 2 key
114
+ :numpad3, 0x63, #Numeric keypad 3 key
115
+ :numpad4, 0x64, #Numeric keypad 4 key
116
+ :numpad6, 0x66, #Numeric keypad 6 key
117
+ :numpad7, 0x67, #Numeric keypad 7 key
118
+ :numpad8, 0x68, #Numeric keypad 8 key
119
+ :numpad5, 0x65, #Numeric keypad 5 key
120
+ :numpad9, 0x69, #Numeric keypad 9 key
121
+ :multiply, 0x6A, #Multiply key
122
+ :add, 0x6B, #Add key
123
+ :separator, 0x6C, #Separator key
124
+ :subtract, 0x6D, #Subtract key
125
+ :decimal, 0x6E, #Decimal key
126
+ :divide, 0x6F, #Divide key
127
+ :f1, 0x70, #F1_key
128
+ :f2, 0x71, #F2_key
129
+ :f3, 0x72, #F3_key
130
+ :f4, 0x73, #F4_key
131
+ :f5, 0x74, #F5_key
132
+ :f6, 0x75, #F6_key
133
+ :f7, 0x76, #F7_key
134
+ :f8, 0x77, #F8_key
135
+ :f9, 0x78, #F9_key
136
+ :f10, 0x79, #F10_key
137
+ :f11, 0x7A, #F11_key
138
+ :f12, 0x7B, #F12_key
139
+ :f13, 0x7C, #F13_key
140
+ :f14, 0x7D, #F14_key
141
+ :f15, 0x7E, #F15_key
142
+ :f16, 0x7F, #F16_key
143
+ :f17, 0x80, #F17_key
144
+ :f18, 0x81, #F18_key
145
+ :f19, 0x82, #F19_key
146
+ :f20, 0x83, #F20_key
147
+ :f21, 0x84, #F21_key
148
+ :f22, 0x85, #F22_key
149
+ :f23, 0x86, #F23_key
150
+ :f24, 0x87, #F24_key
151
+ #-, 0x88-8F, #Unassigned
152
+ :numlock, 0x90, #NUM LOCK_key
153
+ :scroll, 0x91, #SCROLL LOCK_key,
154
+ # 0x92-96, #OEM specific
155
+ #-, 0x97-9F, #Unassigned
156
+ :lshift, 0xA0, #Left SHIFT_key
157
+ :rshift, 0xA1, #Right SHIFT_key
158
+ :lcontrol, 0xA2, #Left CONTROL_key
159
+ :rcontrol, 0xA3, #Right CONTROL_key
160
+ :lmenu, 0xA4, #Left MENU_key
161
+ :rmenu, 0xA5, #Right MENU_key
162
+ :browser_back, 0xA6, #Browser Back_key
163
+ :browser_forward, 0xA7, #Browser Forward_key
164
+ :browser_refresh, 0xA8, #Browser Refresh_key
165
+ :browser_stop, 0xA9, #Browser Stop_key
166
+ :browser_search, 0xAA, #Browser Search_key
167
+ :browser_favorites, 0xAB, #Browser Favorites_key
168
+ :browser_home, 0xAC, #Browser Start and Home_key
169
+ :volume_mute, 0xAD, #Volume Mute_key
170
+ :volume_down, 0xAE, #Volume Down_key
171
+ :volume_up, 0xAF, #Volume Up_key
172
+ :media_next_track, 0xB0, #Next Track_key
173
+ :media_prev_track, 0xB1, #Previous Track_key
174
+ :media_stop, 0xB2, #Stop Media_key
175
+ :media_play_pause, 0xB3, #Play/Pause Media_key
176
+ :launch_mail, 0xB4, #Start Mail_key
177
+ :launch_media_select, 0xB5, #Select Media_key
178
+ :launch_app1, 0xB6, #Start Application 1_key
179
+ :launch_app2, 0xB7, #Start Application 2_key
180
+ #-, 0xB8-B9, Reserved
181
+ :oem_1, 0xBA, #Used for miscellaneous characters; it can vary by_keyboard. For the US standard_keyboard, the ';:'_key
182
+ :oem_plus, 0xBB, #For any country/region, the '+'_key
183
+ :oem_comma, 0xBC, #For any country/region, the ','_key
184
+ :oem_minus, 0xBD, #For any country/region, the '-'_key
185
+ :oem_period, 0xBE, #For any country/region, the '.'_key
186
+ :oem_2, 0xBF, #Used for miscellaneous characters; it can vary by_keyboard. For the US standard_keyboard, the '/?'_key
187
+ :oem_3, 0xC0, #Used for miscellaneous characters; it can vary by_keyboard. For the US standard_keyboard, the '`~'_key
188
+ #-, 0xC1-D7, Reserved
189
+ #-, 0xD8-DA, Assigned
190
+ :oem_4, 0xDB, #Used for miscellaneous characters; it can vary by_keyboard. For the US standard_keyboard, the '[{'_key
191
+ :oem_5, 0xDC, #Used for miscellaneous characters; it can vary by_keyboard. For the US standard_keyboard, the '\|'_key
192
+ :oem_6, 0xDD, #Used for miscellaneous characters; it can vary by_keyboard. For the US standard_keyboard, the ']}'_key
193
+ :oem_7, 0xDE, #Used for miscellaneous characters; it can vary by_keyboard. For the US standard_keyboard, the 'single-quote/double-quote'_key
194
+ :oem_8, 0xDF, #Used for miscellaneous characters; it can vary by_keyboard.
195
+ #-, 0xE0, Reserved
196
+ # 0xE1, OEM Specific
197
+ :oem_102, 0xE2, #Either the angle bracket_key or the backslash_key on the RT 102-key_keyboard,
198
+ # 0xE3-E4, #OEM specific
199
+ :process, 0xE5, #IME PROCESS_key,
200
+ # 0xE6, #OEM specific
201
+ :packet, 0xE7, #Used to pass Unicode characters as if they were_keystrokes. The :PACKET_key is the low word of a 32-bit Virtual_key value used for non-keyboard input methods. For more information, see Remark in_keyBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP
202
+ #-, 0xE8, #Unassigned,
203
+ # 0xE9-F5, #OEM specific
204
+ :attn, 0xF6, #Attn_key
205
+ :crsel, 0xF7, #CrSel_key
206
+ :exsel, 0xF8, #ExSel_key
207
+ :ereof, 0xF9, #Erase EOF_key
208
+ :play, 0xFA, #Play_key
209
+ :zoom, 0xFB, #Zoom_key
210
+ :noname, 0xFC, #Reserved
211
+ :pa1, 0xFD, #PA1_key
212
+ ]
213
+ end
214
+ end
@@ -0,0 +1,31 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ AnimateWindowFlags = enum :animate_window, [
6
+ :HOR_POSITIVE, 0x00000001, # Animates the window from left to right. This flag can be used with roll or slide
7
+ # animation. It is ignored when used with AW_CENTER or AW_BLEND.
8
+
9
+ :HOR_NEGATIVE, 0x00000002, # Animates the window from right to left. This flag can be used with roll or slide
10
+ # animation. It is ignored when used with AW_CENTER or AW_BLEND.
11
+
12
+ :SLIDE, 0x00040000, # Uses slide animation. By default, roll animation is used. This flag is ignored when used
13
+ # with AW_CENTER.
14
+
15
+ :VER_POSITIVE, 0x00000004, # Animates the window from top to bottom. This flag can be used with roll or slide
16
+ # animation. It is ignored when used with AW_CENTER or AW_BLEND.
17
+
18
+ :VER_NEGATIVE, 0x00000008, # Animates the window from bottom to top. This flag can be used with roll or slide
19
+ # animation. It is ignored when used with AW_CENTER or AW_BLEND.
20
+
21
+ :CENTER, 0x00000010, # Makes the window appear to collapse inward if AW_HIDE is used or expand outward if the
22
+ # AW_HIDE is not used. The various direction flags have no effect.
23
+
24
+ :HIDE, 0x00010000, # Hides the window. By default, the window is shown.
25
+
26
+ :ACTIVATE, 0x00020000, # Activates the window. Do not use this value with AW_HIDE.
27
+
28
+ :BLEND, 0x00080000, # Uses a fade effect. This flag can be used only if hwnd is a top-level window.
29
+ ]
30
+ end
31
+ end
@@ -0,0 +1,20 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ BroadcastSystemFlags = enum :broadcast_system_flags,
6
+ [
7
+ :QUERY, 0x00000001,
8
+ :IGNORECURRENTTASK, 0x00000002,
9
+ :FLUSHDISK, 0x00000004,
10
+ :NOHANG, 0x00000008,
11
+ :POSTMESSAGE, 0x00000010,
12
+ :NOTIMEOUTIFNOTHUNG, 0x00000040,
13
+ :FORCEIFHUNG, 0x00000020,
14
+ :ALLOWSFW, 0x00000080,
15
+ :SENDNOTIFYMESSAGE, 0x00000100,
16
+ :RETURNHDESK, 0x00000200,
17
+ :LUID, 0x00000400
18
+ ]
19
+ end
20
+ end
@@ -0,0 +1,12 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ BroadcastSystemMessageFlags = enum :broadcast_system_message_flags,
6
+ [
7
+ :ALLCOMPONENTS, 0x00000000, #Broadcast to all system components.
8
+ :APPLICATIONS, 0x00000008, # Broadcast to applications.
9
+ :ALLDESKTOPS, 0x00000010, # Broadcast to all desktops. Requires the SE_TCB_NAME privilege.
10
+ ]
11
+ end
12
+ end
@@ -0,0 +1,53 @@
1
+ require 'win-ffi/enums/user32'
2
+
3
+ module WinFFI
4
+ module User32
5
+ ComboBoxMessage = enum :combo_box_message,
6
+ [
7
+ :GETEDITSEL, 0x0140,
8
+ :LIMITTEXT, 0x0141,
9
+ :SETEDITSEL, 0x0142,
10
+ :ADDSTRING, 0x0143,
11
+ :DELETESTRING, 0x0144,
12
+ :DIR, 0x0145,
13
+ :GETCOUNT, 0x0146,
14
+ :GETCURSEL, 0x0147,
15
+ :GETLBTEXT, 0x0148,
16
+ :GETLBTEXTLEN, 0x0149,
17
+ :INSERTSTRING, 0x014A,
18
+ :RESETCONTENT, 0x014B,
19
+ :FINDSTRING, 0x014C,
20
+ :SELECTSTRING, 0x014D,
21
+ :SETCURSEL, 0x014E,
22
+ :SHOWDROPDOWN, 0x014F,
23
+ :GETITEMDATA, 0x0150,
24
+ :SETITEMDATA, 0x0151,
25
+ :GETDROPPEDCONTROLRECT, 0x0152,
26
+ :SETITEMHEIGHT, 0x0153,
27
+ :GETITEMHEIGHT, 0x0154,
28
+ :SETEXTENDEDUI, 0x0155,
29
+ :GETEXTENDEDUI, 0x0156,
30
+ :GETDROPPEDSTATE, 0x0157,
31
+ :FINDSTRINGEXACT, 0x0158,
32
+ :SETLOCALE, 0x0159,
33
+ :GETLOCALE, 0x015A,
34
+ :GETTOPINDEX, 0x015b,
35
+ :MSGMAX, 0x015B,
36
+ :SETTOPINDEX, 0x015c,
37
+ :GETHORIZONTALEXTENT, 0x015d,
38
+ :SETHORIZONTALEXTENT, 0x015e,
39
+ :GETDROPPEDWIDTH, 0x015f,
40
+ :SETDROPPEDWIDTH, 0x0160,
41
+ :INITSTORAGE, 0x0161,
42
+ :MSGMAX, 0x0162,
43
+ :MULTIPLEADDSTRING, 0x0163,
44
+ :MSGMAX, 0x0163,
45
+ ]
46
+ if WindowsVersion >= :xp
47
+ ComboBoxMessage.instance_variable_get(:@kv_map)[:GETCOMBOBOXINFO] = 0x0164
48
+ ComboBoxMessage.instance_variable_get(:@kv_map)[:MSGMAX] = 0x0165
49
+ ComboBoxMessage.instance_variable_get(:@kv_map)[0x0164] = :GETCOMBOBOXINFO
50
+ ComboBoxMessage.instance_variable_get(:@kv_map)[0x0165] = :MSGMAX
51
+ end
52
+ end
53
+ end