win-ffi 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/win-ffi/enums/comdlg32/find_replace.rb +27 -27
- data/lib/win-ffi/enums/comdlg32/font.rb +32 -32
- data/lib/win-ffi/enums/system_info.rb +53 -53
- data/lib/win-ffi/enums/user32/pointer_flags.rb +81 -81
- data/lib/win-ffi/functions/advapi32/process.rb +32 -32
- data/lib/win-ffi/functions/advapi32/system_info.rb +16 -16
- data/lib/win-ffi/functions/comdlg32.rb +6 -6
- data/lib/win-ffi/functions/comdlg32/error.rb +5 -5
- data/lib/win-ffi/functions/comdlg32/find_replace.rb +9 -9
- data/lib/win-ffi/functions/msvcrt/handle.rb +12 -12
- data/lib/win-ffi/functions/ntdll/system_info.rb +13 -13
- data/lib/win-ffi/functions/secur32/system_info.rb +29 -29
- data/lib/win-ffi/functions/thread.rb +229 -229
- data/lib/win-ffi/functions/user32/cursor.rb +2 -0
- data/lib/win-ffi/functions/user32/mouse.rb +1 -1
- data/lib/win-ffi/functions/user32/window/window.rb +12 -11
- data/lib/win-ffi/functions/winmm.rb +546 -546
- data/lib/win-ffi/functions/wtsapi32/process.rb +11 -11
- data/lib/win-ffi/struct.rb +15 -15
- data/lib/win-ffi/structs/comdlg32/choose_color.rb +22 -22
- data/lib/win-ffi/structs/comdlg32/choose_font.rb +27 -27
- data/lib/win-ffi/structs/comdlg32/find_replace.rb +23 -23
- data/lib/win-ffi/structs/gdi32/abc.rb +8 -8
- data/lib/win-ffi/structs/gdi32/abcfloat.rb +10 -10
- data/lib/win-ffi/structs/gdi32/bitmap.rb +12 -12
- data/lib/win-ffi/structs/gdi32/bitmap_info.rb +10 -10
- data/lib/win-ffi/structs/gdi32/bitmap_info_header.rb +16 -16
- data/lib/win-ffi/structs/gdi32/blend_function.rb +9 -9
- data/lib/win-ffi/structs/gdi32/display_device.rb +11 -11
- data/lib/win-ffi/structs/gdi32/handle_table.rb +6 -6
- data/lib/win-ffi/structs/gdi32/kerning_pair.rb +8 -8
- data/lib/win-ffi/structs/gdi32/log_brush.rb +10 -10
- data/lib/win-ffi/structs/gdi32/meta_file_pict.rb +9 -9
- data/lib/win-ffi/structs/gdi32/palette_entry.rb +9 -9
- data/lib/win-ffi/structs/gdi32/pixel_format_descriptor.rb +56 -56
- data/lib/win-ffi/structs/gdi32/rgb_quad.rb +9 -9
- data/lib/win-ffi/structs/os_version_info.rb +9 -9
- data/lib/win-ffi/structs/point.rb +9 -9
- data/lib/win-ffi/structs/rect.rb +41 -27
- data/lib/win-ffi/structs/size.rb +5 -5
- data/lib/win-ffi/structs/user32/controls/combobox_info.rb +14 -12
- data/lib/win-ffi/structs/user32/controls/scroll_info.rb +12 -12
- data/lib/win-ffi/structs/user32/controls/scrollbar_info.rb +14 -12
- data/lib/win-ffi/structs/user32/cursor_info.rb +11 -9
- data/lib/win-ffi/structs/user32/display_device.rb +11 -11
- data/lib/win-ffi/structs/user32/draw_text_params.rb +10 -10
- data/lib/win-ffi/structs/user32/icon_info.rb +10 -10
- data/lib/win-ffi/structs/user32/icon_info_ex.rb +14 -14
- data/lib/win-ffi/structs/user32/last_input_info.rb +7 -7
- data/lib/win-ffi/structs/user32/mouse_move_point.rb +9 -9
- data/lib/win-ffi/structs/user32/msg.rb +18 -16
- data/lib/win-ffi/structs/user32/pointer_info.rb +24 -24
- data/lib/win-ffi/structs/user32/pointer_pen_info.rb +18 -18
- data/lib/win-ffi/structs/user32/pointer_touch_info.rb +18 -17
- data/lib/win-ffi/structs/user32/raw_input_device_list.rb +9 -9
- data/lib/win-ffi/structs/user32/raw_input_header.rb +9 -9
- data/lib/win-ffi/structs/user32/touch_hit_testing_input.rb +13 -10
- data/lib/win-ffi/structs/user32/touch_hit_testing_proximity_evaluation.rb +9 -7
- data/lib/win-ffi/structs/user32/track_mouse_event.rb +9 -9
- data/lib/win-ffi/structs/user32/window/alt_tab_info.rb +17 -17
- data/lib/win-ffi/structs/user32/window/bs_info.rb +11 -11
- data/lib/win-ffi/structs/user32/window/dlg_template.rb +13 -13
- data/lib/win-ffi/structs/user32/window/flashw_info.rb +1 -1
- data/lib/win-ffi/structs/user32/window/gui_thread_info.rb +17 -17
- data/lib/win-ffi/structs/user32/window/luid.rb +7 -7
- data/lib/win-ffi/structs/user32/window/menu_info.rb +12 -12
- data/lib/win-ffi/structs/user32/window/menu_item_info.rb +17 -17
- data/lib/win-ffi/structs/user32/window/menu_item_template.rb +8 -8
- data/lib/win-ffi/structs/user32/window/menubar_info.rb +13 -11
- data/lib/win-ffi/structs/user32/window/msgbox_params.rb +15 -15
- data/lib/win-ffi/structs/user32/window/title_bar_info.rb +3 -1
- data/lib/win-ffi/structs/user32/window/tpm_params.rb +9 -7
- data/lib/win-ffi/structs/user32/window/update_layered_window_info.rb +21 -21
- data/lib/win-ffi/structs/user32/window/window_placement.rb +32 -32
- data/lib/win-ffi/structs/user32/window/window_pos.rb +46 -46
- data/lib/win-ffi/version.rb +1 -1
- metadata +5 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1d523de89e3efb9b3695f9e14dc9eb24e48d235b
|
|
4
|
+
data.tar.gz: ceb5aba9b74d5457dcdc3a6ef6c22ba991589092
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1554f489fa95f9bb3e28cc39583980b74671dd451738fdbf7e357c962f4a43cab1aea5bdd23feec1dd35db690e27279fd1f5a28387c1c1a0d526aeef7eaec20f
|
|
7
|
+
data.tar.gz: cf882400614ed1a12562ce83153bf057d844c2b2a1b29a4ee41853fb5213bd8b8a6633c55eecb29efca37a285cf7a1114f5aad04ee33f0a49fda7478abf81317
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
module WinFFI
|
|
2
|
-
module Comdlg32
|
|
3
|
-
FRERR_FINDREPLACECODES = 0x4000
|
|
4
|
-
FRERR_BUFFERLENGTHZERO = 0x4001
|
|
5
|
-
|
|
6
|
-
FR_DOWN = 0x00000001
|
|
7
|
-
FR_WHOLEWORD = 0x00000002
|
|
8
|
-
FR_MATCHCASE = 0x00000004
|
|
9
|
-
FR_FINDNEXT = 0x00000008
|
|
10
|
-
FR_REPLACE = 0x00000010
|
|
11
|
-
FR_REPLACEALL = 0x00000020
|
|
12
|
-
FR_DIALOGTERM = 0x00000040
|
|
13
|
-
FR_SHOWHELP = 0x00000080
|
|
14
|
-
FR_ENABLEHOOK = 0x00000100
|
|
15
|
-
FR_ENABLETEMPLATE = 0x00000200
|
|
16
|
-
FR_NOUPDOWN = 0x00000400
|
|
17
|
-
FR_NOMATCHCASE = 0x00000800
|
|
18
|
-
FR_NOWHOLEWORD = 0x00001000
|
|
19
|
-
FR_ENABLETEMPLATEHANDLE = 0x00002000
|
|
20
|
-
FR_HIDEUPDOWN = 0x00004000
|
|
21
|
-
FR_HIDEMATCHCASE = 0x00008000
|
|
22
|
-
FR_HIDEWHOLEWORD = 0x00010000
|
|
23
|
-
FR_RAW = 0x00020000
|
|
24
|
-
FR_MATCHDIAC = 0x20000000
|
|
25
|
-
FR_MATCHKASHIDA = 0x40000000
|
|
26
|
-
FR_MATCHALEFHAMZA = 0x80000000
|
|
27
|
-
end
|
|
1
|
+
module WinFFI
|
|
2
|
+
module Comdlg32
|
|
3
|
+
FRERR_FINDREPLACECODES = 0x4000
|
|
4
|
+
FRERR_BUFFERLENGTHZERO = 0x4001
|
|
5
|
+
|
|
6
|
+
FR_DOWN = 0x00000001
|
|
7
|
+
FR_WHOLEWORD = 0x00000002
|
|
8
|
+
FR_MATCHCASE = 0x00000004
|
|
9
|
+
FR_FINDNEXT = 0x00000008
|
|
10
|
+
FR_REPLACE = 0x00000010
|
|
11
|
+
FR_REPLACEALL = 0x00000020
|
|
12
|
+
FR_DIALOGTERM = 0x00000040
|
|
13
|
+
FR_SHOWHELP = 0x00000080
|
|
14
|
+
FR_ENABLEHOOK = 0x00000100
|
|
15
|
+
FR_ENABLETEMPLATE = 0x00000200
|
|
16
|
+
FR_NOUPDOWN = 0x00000400
|
|
17
|
+
FR_NOMATCHCASE = 0x00000800
|
|
18
|
+
FR_NOWHOLEWORD = 0x00001000
|
|
19
|
+
FR_ENABLETEMPLATEHANDLE = 0x00002000
|
|
20
|
+
FR_HIDEUPDOWN = 0x00004000
|
|
21
|
+
FR_HIDEMATCHCASE = 0x00008000
|
|
22
|
+
FR_HIDEWHOLEWORD = 0x00010000
|
|
23
|
+
FR_RAW = 0x00020000
|
|
24
|
+
FR_MATCHDIAC = 0x20000000
|
|
25
|
+
FR_MATCHKASHIDA = 0x40000000
|
|
26
|
+
FR_MATCHALEFHAMZA = 0x80000000
|
|
27
|
+
end
|
|
28
28
|
end
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
module WinFFI
|
|
2
|
-
module Comdlg32
|
|
3
|
-
CF_SCREENFONTS = 0x00000001
|
|
4
|
-
CF_PRINTERFONTS = 0x00000002
|
|
5
|
-
CF_BOTH = 0x00000003
|
|
6
|
-
CF_SHOWHELP = 0x00000004
|
|
7
|
-
CF_ENABLEHOOK = 0x00000008
|
|
8
|
-
CF_ENABLETEMPLATE = 0x00000010
|
|
9
|
-
CF_ENABLETEMPLATEHANDLE = 0x00000020
|
|
10
|
-
CF_INITTOLOGFONTSTRUCT = 0x00000040
|
|
11
|
-
CF_USESTYLE = 0x00000080
|
|
12
|
-
CF_EFFECTS = 0x00000100
|
|
13
|
-
CF_APPLY = 0x00000200
|
|
14
|
-
CF_ANSIONLY = 0x00000400
|
|
15
|
-
CF_SCRIPTSONLY = CF_ANSIONLY
|
|
16
|
-
CF_NOVECTORFONTS = 0x00000800
|
|
17
|
-
CF_NOOEMFONTS = CF_NOVECTORFONTS
|
|
18
|
-
CF_NOSIMULATIONS = 0x00001000
|
|
19
|
-
CF_LIMITSIZE = 0x00002000
|
|
20
|
-
CF_FIXEDPITCHONLY = 0x00004000
|
|
21
|
-
CF_WYSIWYG = 0x00008000
|
|
22
|
-
CF_FORCEFONTEXIST = 0x00010000
|
|
23
|
-
CF_SCALABLEONLY = 0x00020000
|
|
24
|
-
CF_TTONLY = 0x00040000
|
|
25
|
-
CF_NOFACESEL = 0x00080000
|
|
26
|
-
CF_NOSTYLESEL = 0x00100000
|
|
27
|
-
CF_NOSIZESEL = 0x00200000
|
|
28
|
-
CF_SELECTSCRIPT = 0x00400000
|
|
29
|
-
CF_NOSCRIPTSEL = 0x00800000
|
|
30
|
-
CF_NOVERTFONTS = 0x01000000
|
|
31
|
-
CF_INACTIVEFONTS = 0x02000000
|
|
32
|
-
end
|
|
1
|
+
module WinFFI
|
|
2
|
+
module Comdlg32
|
|
3
|
+
CF_SCREENFONTS = 0x00000001
|
|
4
|
+
CF_PRINTERFONTS = 0x00000002
|
|
5
|
+
CF_BOTH = 0x00000003
|
|
6
|
+
CF_SHOWHELP = 0x00000004
|
|
7
|
+
CF_ENABLEHOOK = 0x00000008
|
|
8
|
+
CF_ENABLETEMPLATE = 0x00000010
|
|
9
|
+
CF_ENABLETEMPLATEHANDLE = 0x00000020
|
|
10
|
+
CF_INITTOLOGFONTSTRUCT = 0x00000040
|
|
11
|
+
CF_USESTYLE = 0x00000080
|
|
12
|
+
CF_EFFECTS = 0x00000100
|
|
13
|
+
CF_APPLY = 0x00000200
|
|
14
|
+
CF_ANSIONLY = 0x00000400
|
|
15
|
+
CF_SCRIPTSONLY = CF_ANSIONLY
|
|
16
|
+
CF_NOVECTORFONTS = 0x00000800
|
|
17
|
+
CF_NOOEMFONTS = CF_NOVECTORFONTS
|
|
18
|
+
CF_NOSIMULATIONS = 0x00001000
|
|
19
|
+
CF_LIMITSIZE = 0x00002000
|
|
20
|
+
CF_FIXEDPITCHONLY = 0x00004000
|
|
21
|
+
CF_WYSIWYG = 0x00008000
|
|
22
|
+
CF_FORCEFONTEXIST = 0x00010000
|
|
23
|
+
CF_SCALABLEONLY = 0x00020000
|
|
24
|
+
CF_TTONLY = 0x00040000
|
|
25
|
+
CF_NOFACESEL = 0x00080000
|
|
26
|
+
CF_NOSTYLESEL = 0x00100000
|
|
27
|
+
CF_NOSIZESEL = 0x00200000
|
|
28
|
+
CF_SELECTSCRIPT = 0x00400000
|
|
29
|
+
CF_NOSCRIPTSEL = 0x00800000
|
|
30
|
+
CF_NOVERTFONTS = 0x01000000
|
|
31
|
+
CF_INACTIVEFONTS = 0x02000000
|
|
32
|
+
end
|
|
33
33
|
end
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
module WinFII
|
|
2
|
-
# Obsolete processor info constants
|
|
3
|
-
|
|
4
|
-
PROCESSOR_INTEL_386 = 386
|
|
5
|
-
PROCESSOR_INTEL_486 = 486
|
|
6
|
-
PROCESSOR_INTEL_PENTIUM = 586
|
|
7
|
-
PROCESSOR_INTEL_IA64 = 2200
|
|
8
|
-
PROCESSOR_AMD_X8664 = 8664
|
|
9
|
-
|
|
10
|
-
# Suite mask constants
|
|
11
|
-
#VersionSuitMask = enum :version_suit_mask, [
|
|
12
|
-
#
|
|
13
|
-
#]
|
|
14
|
-
VER_SERVER_NT = 0x80000000
|
|
15
|
-
VER_WORKSTATION_NT = 0x40000000
|
|
16
|
-
VER_SUITE_SMALLBUSINESS = 0x00000001
|
|
17
|
-
VER_SUITE_ENTERPRISE = 0x00000002
|
|
18
|
-
VER_SUITE_BACKOFFICE = 0x00000004
|
|
19
|
-
VER_SUITE_COMMUNICATIONS = 0x00000008
|
|
20
|
-
VER_SUITE_TERMINAL = 0x00000010
|
|
21
|
-
VER_SUITE_SMALLBUSINESS_RESTRICTED = 0x00000020
|
|
22
|
-
VER_SUITE_EMBEDDEDNT = 0x00000040
|
|
23
|
-
VER_SUITE_DATACENTER = 0x00000080
|
|
24
|
-
VER_SUITE_SINGLEUSERTS = 0x00000100
|
|
25
|
-
VER_SUITE_PERSONAL = 0x00000200
|
|
26
|
-
VER_SUITE_BLADE = 0x00000400
|
|
27
|
-
VER_SUITE_EMBEDDED_RESTRICTED = 0x00000800
|
|
28
|
-
VER_SUITE_SECURITY_APPLIANCE = 0x00001000
|
|
29
|
-
VER_SUITE_STORAGE_SERVER = 0x00002000
|
|
30
|
-
VER_SUITE_COMPUTE_SERVER = 0x00004000
|
|
31
|
-
|
|
32
|
-
# Product mask constants
|
|
33
|
-
|
|
34
|
-
VER_NT_WORKSTATION = 0x0000001
|
|
35
|
-
VER_NT_DOMAIN_CONTROLLER = 0x0000002
|
|
36
|
-
VER_NT_SERVER = 0x0000003
|
|
37
|
-
|
|
38
|
-
# Platform definitions
|
|
39
|
-
|
|
40
|
-
VER_PLATFORM_WIN32s = 0
|
|
41
|
-
VER_PLATFORM_WIN32_WINDOWS = 1
|
|
42
|
-
VER_PLATFORM_WIN32_NT = 2
|
|
43
|
-
|
|
44
|
-
# Version info type constants
|
|
45
|
-
|
|
46
|
-
VER_MINORVERSION = 0x0000001
|
|
47
|
-
VER_MAJORVERSION = 0x0000002
|
|
48
|
-
VER_BUILDNUMBER = 0x0000004
|
|
49
|
-
VER_PLATFORMID = 0x0000008
|
|
50
|
-
VER_SERVICEPACKMINOR = 0x0000010
|
|
51
|
-
VER_SERVICEPACKMAJOR = 0x0000020
|
|
52
|
-
VER_SUITENAME = 0x0000040
|
|
53
|
-
VER_PRODUCT_TYPE = 0x0000080
|
|
1
|
+
module WinFII
|
|
2
|
+
# Obsolete processor info constants
|
|
3
|
+
|
|
4
|
+
PROCESSOR_INTEL_386 = 386
|
|
5
|
+
PROCESSOR_INTEL_486 = 486
|
|
6
|
+
PROCESSOR_INTEL_PENTIUM = 586
|
|
7
|
+
PROCESSOR_INTEL_IA64 = 2200
|
|
8
|
+
PROCESSOR_AMD_X8664 = 8664
|
|
9
|
+
|
|
10
|
+
# Suite mask constants
|
|
11
|
+
#VersionSuitMask = enum :version_suit_mask, [
|
|
12
|
+
#
|
|
13
|
+
#]
|
|
14
|
+
VER_SERVER_NT = 0x80000000
|
|
15
|
+
VER_WORKSTATION_NT = 0x40000000
|
|
16
|
+
VER_SUITE_SMALLBUSINESS = 0x00000001
|
|
17
|
+
VER_SUITE_ENTERPRISE = 0x00000002
|
|
18
|
+
VER_SUITE_BACKOFFICE = 0x00000004
|
|
19
|
+
VER_SUITE_COMMUNICATIONS = 0x00000008
|
|
20
|
+
VER_SUITE_TERMINAL = 0x00000010
|
|
21
|
+
VER_SUITE_SMALLBUSINESS_RESTRICTED = 0x00000020
|
|
22
|
+
VER_SUITE_EMBEDDEDNT = 0x00000040
|
|
23
|
+
VER_SUITE_DATACENTER = 0x00000080
|
|
24
|
+
VER_SUITE_SINGLEUSERTS = 0x00000100
|
|
25
|
+
VER_SUITE_PERSONAL = 0x00000200
|
|
26
|
+
VER_SUITE_BLADE = 0x00000400
|
|
27
|
+
VER_SUITE_EMBEDDED_RESTRICTED = 0x00000800
|
|
28
|
+
VER_SUITE_SECURITY_APPLIANCE = 0x00001000
|
|
29
|
+
VER_SUITE_STORAGE_SERVER = 0x00002000
|
|
30
|
+
VER_SUITE_COMPUTE_SERVER = 0x00004000
|
|
31
|
+
|
|
32
|
+
# Product mask constants
|
|
33
|
+
|
|
34
|
+
VER_NT_WORKSTATION = 0x0000001
|
|
35
|
+
VER_NT_DOMAIN_CONTROLLER = 0x0000002
|
|
36
|
+
VER_NT_SERVER = 0x0000003
|
|
37
|
+
|
|
38
|
+
# Platform definitions
|
|
39
|
+
|
|
40
|
+
VER_PLATFORM_WIN32s = 0
|
|
41
|
+
VER_PLATFORM_WIN32_WINDOWS = 1
|
|
42
|
+
VER_PLATFORM_WIN32_NT = 2
|
|
43
|
+
|
|
44
|
+
# Version info type constants
|
|
45
|
+
|
|
46
|
+
VER_MINORVERSION = 0x0000001
|
|
47
|
+
VER_MAJORVERSION = 0x0000002
|
|
48
|
+
VER_BUILDNUMBER = 0x0000004
|
|
49
|
+
VER_PLATFORMID = 0x0000008
|
|
50
|
+
VER_SERVICEPACKMINOR = 0x0000010
|
|
51
|
+
VER_SERVICEPACKMAJOR = 0x0000020
|
|
52
|
+
VER_SUITENAME = 0x0000040
|
|
53
|
+
VER_PRODUCT_TYPE = 0x0000080
|
|
54
54
|
end
|
|
@@ -1,82 +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
|
|
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
82
|
end
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
module WinFFI
|
|
2
|
-
module Advapi32
|
|
3
|
-
#BOOL WINAPI CreateProcessAsUser(
|
|
4
|
-
# _In_opt_ HANDLE hToken,
|
|
5
|
-
# _In_opt_ LPCTSTR lpApplicationName,
|
|
6
|
-
# _Inout_opt_ LPTSTR lpCommandLine,
|
|
7
|
-
# _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,
|
|
8
|
-
# _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
|
|
9
|
-
# _In_ BOOL bInheritHandles,
|
|
10
|
-
# _In_ DWORD dwCreationFlags,
|
|
11
|
-
# _In_opt_ LPVOID lpEnvironment,
|
|
12
|
-
# _In_opt_ LPCTSTR lpCurrentDirectory,
|
|
13
|
-
# _In_ LPSTARTUPINFO lpStartupInfo,
|
|
14
|
-
# _Out_ LPPROCESS_INFORMATION lpProcessInformation )
|
|
15
|
-
attach_function 'CreateProcessAsUserA', [:handle, :string, :string, :pointer, :pointer, :bool, :dword, :pointer, :string, :pointer, :pointer], :bool
|
|
16
|
-
attach_function 'CreateProcessAsUserW', [:handle, :string, :string, :pointer, :pointer, :bool, :dword, :pointer, :string, :pointer, :pointer], :bool
|
|
17
|
-
|
|
18
|
-
#TODO
|
|
19
|
-
#BOOL WINAPI CreateProcessWithLogonW(
|
|
20
|
-
# _In_ LPCWSTR lpUsername,
|
|
21
|
-
# _In_opt_ LPCWSTR lpDomain,
|
|
22
|
-
# _In_ LPCWSTR lpPassword,
|
|
23
|
-
# _In_ DWORD dwLogonFlags,
|
|
24
|
-
# _In_opt_ LPCWSTR lpApplicationName,
|
|
25
|
-
# _Inout_opt_ LPWSTR lpCommandLine,
|
|
26
|
-
# _In_ DWORD dwCreationFlags,
|
|
27
|
-
# _In_opt_ LPVOID lpEnvironment,
|
|
28
|
-
# _In_opt_ LPCWSTR lpCurrentDirectory,
|
|
29
|
-
# _In_ LPSTARTUPINFOW lpStartupInfo,
|
|
30
|
-
# _Out_ LPPROCESS_INFORMATION lpProcessInfo )
|
|
31
|
-
attach_function 'CreateProcessWithLogonW', [:string, :string, :string, :dword, :string, :pointer, :dword, :pointer, :string, :pointer, :pointer], :bool
|
|
32
|
-
end
|
|
1
|
+
module WinFFI
|
|
2
|
+
module Advapi32
|
|
3
|
+
#BOOL WINAPI CreateProcessAsUser(
|
|
4
|
+
# _In_opt_ HANDLE hToken,
|
|
5
|
+
# _In_opt_ LPCTSTR lpApplicationName,
|
|
6
|
+
# _Inout_opt_ LPTSTR lpCommandLine,
|
|
7
|
+
# _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,
|
|
8
|
+
# _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
|
|
9
|
+
# _In_ BOOL bInheritHandles,
|
|
10
|
+
# _In_ DWORD dwCreationFlags,
|
|
11
|
+
# _In_opt_ LPVOID lpEnvironment,
|
|
12
|
+
# _In_opt_ LPCTSTR lpCurrentDirectory,
|
|
13
|
+
# _In_ LPSTARTUPINFO lpStartupInfo,
|
|
14
|
+
# _Out_ LPPROCESS_INFORMATION lpProcessInformation )
|
|
15
|
+
attach_function 'CreateProcessAsUserA', [:handle, :string, :string, :pointer, :pointer, :bool, :dword, :pointer, :string, :pointer, :pointer], :bool
|
|
16
|
+
attach_function 'CreateProcessAsUserW', [:handle, :string, :string, :pointer, :pointer, :bool, :dword, :pointer, :string, :pointer, :pointer], :bool
|
|
17
|
+
|
|
18
|
+
#TODO
|
|
19
|
+
#BOOL WINAPI CreateProcessWithLogonW(
|
|
20
|
+
# _In_ LPCWSTR lpUsername,
|
|
21
|
+
# _In_opt_ LPCWSTR lpDomain,
|
|
22
|
+
# _In_ LPCWSTR lpPassword,
|
|
23
|
+
# _In_ DWORD dwLogonFlags,
|
|
24
|
+
# _In_opt_ LPCWSTR lpApplicationName,
|
|
25
|
+
# _Inout_opt_ LPWSTR lpCommandLine,
|
|
26
|
+
# _In_ DWORD dwCreationFlags,
|
|
27
|
+
# _In_opt_ LPVOID lpEnvironment,
|
|
28
|
+
# _In_opt_ LPCWSTR lpCurrentDirectory,
|
|
29
|
+
# _In_ LPSTARTUPINFOW lpStartupInfo,
|
|
30
|
+
# _Out_ LPPROCESS_INFORMATION lpProcessInfo )
|
|
31
|
+
attach_function 'CreateProcessWithLogonW', [:string, :string, :string, :dword, :string, :pointer, :dword, :pointer, :string, :pointer, :pointer], :bool
|
|
32
|
+
end
|
|
33
33
|
end
|