rautomation 0.4.0 → 0.5.1
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.
- data/History.rdoc +16 -1
- data/LICENSE +1 -1
- data/README.rdoc +25 -7
- data/Rakefile +4 -0
- data/VERSION +1 -1
- data/ext/IAccessibleDLL/IAccessibleDLL.sln +20 -0
- data/ext/IAccessibleDLL/IAccessibleDLL.suo +0 -0
- data/ext/IAccessibleDLL/IAccessibleDLL/IAccessibleDLL.cpp +36 -0
- data/ext/IAccessibleDLL/IAccessibleDLL/IAccessibleDLL.vcxproj +100 -0
- data/ext/IAccessibleDLL/IAccessibleDLL/IAccessibleDLL.vcxproj.filters +39 -0
- data/ext/IAccessibleDLL/IAccessibleDLL/IAccessibleDLL.vcxproj.user +3 -0
- data/ext/IAccessibleDLL/IAccessibleDLL/ReadMe.txt +48 -0
- data/ext/IAccessibleDLL/IAccessibleDLL/dllmain.cpp +19 -0
- data/ext/IAccessibleDLL/IAccessibleDLL/stdafx.cpp +8 -0
- data/ext/IAccessibleDLL/IAccessibleDLL/stdafx.h +16 -0
- data/ext/IAccessibleDLL/IAccessibleDLL/targetver.h +8 -0
- data/ext/IAccessibleDLL/Release/IAccessibleDLL.dll +0 -0
- data/ext/IAccessibleDLL/Release/IAccessibleDLL.exp +0 -0
- data/ext/IAccessibleDLL/Release/IAccessibleDLL.lib +0 -0
- data/ext/WindowsForms/bin/WindowsForms.exe +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms.sln +20 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms.suo +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/AboutBox.Designer.cs +80 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/AboutBox.cs +103 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/AboutBox.resx +120 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/DataEntryForm.Designer.cs +167 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/DataEntryForm.cs +45 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/DataEntryForm.resx +120 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/MainFormWindow.Designer.cs +278 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/MainFormWindow.cs +78 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/MainFormWindow.resx +120 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/PersonForm.Designer.cs +119 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/PersonForm.cs +34 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/PersonForm.resx +120 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/Program.cs +21 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/Properties/AssemblyInfo.cs +36 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/Properties/Resources.Designer.cs +71 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/Properties/Resources.resx +117 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/Properties/Settings.Designer.cs +30 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/Properties/Settings.settings +7 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/SimpleElementsForm.Designer.cs +93 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/SimpleElementsForm.cs +19 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/SimpleElementsForm.resx +120 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/WindowsForms.csproj +123 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/bin/Debug/WindowsForms.exe +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/bin/Debug/WindowsForms.pdb +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/bin/Debug/WindowsForms.vshost.exe +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/bin/Debug/WindowsForms.vshost.exe.manifest +11 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/GenerateResource.read.1.tlog +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/GenerateResource.write.1.tlog +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/ResolveAssemblyReference.cache +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.AboutBox.resources +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.DataEntryForm.resources +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.MainFormWindow.resources +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.PersonForm.resources +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.Properties.Resources.resources +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.SimpleElementsForm.resources +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.csproj.FileListAbsolute.txt +25 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.exe +0 -0
- data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.pdb +0 -0
- data/lib/{RAutomation.rb → rautomation.rb} +3 -1
- data/lib/rautomation/adapter/autoit/button.rb +7 -4
- data/lib/rautomation/adapter/autoit/locators.rb +4 -2
- data/lib/rautomation/adapter/autoit/text_field.rb +8 -5
- data/lib/rautomation/adapter/autoit/window.rb +23 -7
- data/lib/rautomation/adapter/win_ffi.rb +9 -3
- data/lib/rautomation/adapter/win_ffi/button.rb +3 -34
- data/lib/rautomation/adapter/win_ffi/button_helper.rb +24 -0
- data/lib/rautomation/adapter/win_ffi/checkbox.rb +12 -0
- data/lib/rautomation/adapter/win_ffi/constants.rb +21 -0
- data/lib/rautomation/adapter/win_ffi/control.rb +46 -0
- data/lib/rautomation/adapter/win_ffi/functions.rb +52 -1
- data/lib/rautomation/adapter/win_ffi/locators.rb +2 -1
- data/lib/rautomation/adapter/win_ffi/radio.rb +12 -0
- data/lib/rautomation/adapter/win_ffi/select_list.rb +64 -0
- data/lib/rautomation/adapter/win_ffi/table.rb +18 -0
- data/lib/rautomation/adapter/win_ffi/text_field.rb +4 -20
- data/lib/rautomation/adapter/win_ffi/window.rb +48 -10
- data/lib/rautomation/element_collections.rb +44 -0
- data/lib/rautomation/window.rb +29 -5
- data/spec/adapter/win_ffi/checkbox_spec.rb +29 -0
- data/spec/adapter/win_ffi/radio_spec.rb +21 -0
- data/spec/adapter/win_ffi/select_list_spec.rb +41 -0
- data/spec/adapter/win_ffi/table_spec.rb +20 -0
- data/spec/adapter/win_ffi/window_spec.rb +6 -12
- data/spec/button_spec.rb +28 -20
- data/spec/buttons_spec.rb +21 -0
- data/spec/spec_helper.rb +46 -37
- data/spec/text_field_spec.rb +11 -11
- data/spec/text_fields_spec.rb +22 -0
- data/spec/window_spec.rb +11 -19
- data/spec/windows_spec.rb +55 -0
- metadata +84 -9
- data/.gitignore +0 -25
- data/rautomation.gemspec +0 -90
- data/spec/test.html +0 -15
data/History.rdoc
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
=== Version 0.5.1 / 2011-01-30
|
|
2
|
+
|
|
3
|
+
=== All adapters
|
|
4
|
+
|
|
5
|
+
* added Window.windows, #windows, #buttons and #text_fields methods to retrieve collection of elements and use them with Enumerable/Array methods.
|
|
6
|
+
|
|
7
|
+
=== WinFFI adapter
|
|
8
|
+
|
|
9
|
+
* added Window#child method for searching child windows and popups
|
|
10
|
+
* added initial support for Radio, Checkbox, SelectList and Table
|
|
11
|
+
|
|
12
|
+
=== AutoIt adapter
|
|
13
|
+
|
|
14
|
+
* allow to search windows by PID
|
|
15
|
+
|
|
1
16
|
=== Version 0.4.0 / 2010-12-23
|
|
2
17
|
|
|
3
18
|
* allow to search windows without text (like empty Notepad window for example).
|
|
@@ -41,4 +56,4 @@
|
|
|
41
56
|
|
|
42
57
|
=== Version 0.0.1 / 2010-10-13
|
|
43
58
|
|
|
44
|
-
* Initial release
|
|
59
|
+
* Initial release
|
data/LICENSE
CHANGED
data/README.rdoc
CHANGED
|
@@ -11,24 +11,37 @@ for automated testing.
|
|
|
11
11
|
RAutomation provides:
|
|
12
12
|
* Easy to use and user-friendly API (inspired by Watir http://www.watir.com)
|
|
13
13
|
* Cross-platform compatibility
|
|
14
|
-
* Easy extensibility - with small scripting effort it's possible to add support for not yet
|
|
14
|
+
* Easy extensibility - with small scripting effort it's possible to add support for not yet
|
|
15
15
|
supported platforms or technologies
|
|
16
16
|
|
|
17
17
|
== USAGE
|
|
18
18
|
|
|
19
19
|
require "rautomation"
|
|
20
|
-
|
|
20
|
+
|
|
21
21
|
window = RAutomation::Window.new(:title => /part of the title/i)
|
|
22
22
|
window.exists? # => true
|
|
23
|
-
|
|
23
|
+
|
|
24
24
|
window.title # => "blah blah part Of the title blah"
|
|
25
25
|
window.text # => "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies..."
|
|
26
|
-
|
|
26
|
+
|
|
27
27
|
window.text_field(:class => "Edit", :index => 0).set "hello, world!"
|
|
28
28
|
button = window.button(:text => "&Save")
|
|
29
29
|
button.exists? # => true
|
|
30
30
|
button.click
|
|
31
|
-
|
|
31
|
+
|
|
32
|
+
all_windows = RAutomation::Window.windows
|
|
33
|
+
all_windows.each {|window| puts window.hwnd}
|
|
34
|
+
|
|
35
|
+
window = RAutomation::Window.new(:title => /part of the title/i)
|
|
36
|
+
windows = window.windows
|
|
37
|
+
puts windows.size # => 2
|
|
38
|
+
windows.map {|window| window.title } # => ["part of the title 1", "part of the title 2"]
|
|
39
|
+
|
|
40
|
+
window.windows(:title => /part of other title/i) # => all windows with matching specified title
|
|
41
|
+
|
|
42
|
+
window.buttons.each {|button| puts button.value}
|
|
43
|
+
window.buttons(:value => /some value/i).each {|button| puts button.value}
|
|
44
|
+
|
|
32
45
|
window2 = RAutomation::Window.new(:title => "Other Title", :adapter => :autoit) # use AutoIt adapter
|
|
33
46
|
# use adapter's (in this case AutoIt's) internal methods not part of the public API directly
|
|
34
47
|
window2.WinClose("[TITLE:Other Title]")
|
|
@@ -81,16 +94,21 @@ Don't forget to fix the documentation for that adapter also!
|
|
|
81
94
|
|
|
82
95
|
In case of any problems, feel free to contact me.
|
|
83
96
|
|
|
97
|
+
== Contributors
|
|
98
|
+
|
|
99
|
+
* Stephan Schwab to WinFfi adapter - http://github.com/snscaimito
|
|
100
|
+
|
|
84
101
|
== Note on Patches/Pull Requests
|
|
85
|
-
|
|
102
|
+
|
|
86
103
|
* Fork the project.
|
|
87
104
|
* Make your feature addition or bug fix.
|
|
88
105
|
* Add tests for it. This is important so I don't break it in a
|
|
89
106
|
future version unintentionally.
|
|
90
107
|
* Commit, do not mess with rakefile, version, or history.
|
|
108
|
+
|
|
91
109
|
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
|
92
110
|
* Send me a pull request. Bonus points for topic branches.
|
|
93
111
|
|
|
94
112
|
== Copyright
|
|
95
113
|
|
|
96
|
-
Copyright (c) 2010 Jarmo Pertman. See LICENSE for details.
|
|
114
|
+
Copyright (c) 2010-2011 Jarmo Pertman. See LICENSE for details.
|
data/Rakefile
CHANGED
|
@@ -18,6 +18,10 @@ RAutomation provides:
|
|
|
18
18
|
gem.homepage = "http://github.com/jarmo/RAutomation"
|
|
19
19
|
gem.authors = ["Jarmo Pertman"]
|
|
20
20
|
gem.add_development_dependency "rspec", "~>2.3"
|
|
21
|
+
|
|
22
|
+
ignored_files = []
|
|
23
|
+
ignored_files << ".gitignore" << ".gemspec" << "features" << "IAccessibleDLL.sdf"
|
|
24
|
+
gem.files = `git ls-files`.strip.split($/).delete_if {|f| f =~ Regexp.union(*ignored_files)}
|
|
21
25
|
end
|
|
22
26
|
Jeweler::GemcutterTasks.new
|
|
23
27
|
rescue LoadError
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.5.1
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
Microsoft Visual Studio Solution File, Format Version 11.00
|
|
3
|
+
# Visual Studio 2010
|
|
4
|
+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IAccessibleDLL", "IAccessibleDLL\IAccessibleDLL.vcxproj", "{CCE6C620-932C-4B59-A2DA-E11E279F4D9A}"
|
|
5
|
+
EndProject
|
|
6
|
+
Global
|
|
7
|
+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
8
|
+
Debug|Win32 = Debug|Win32
|
|
9
|
+
Release|Win32 = Release|Win32
|
|
10
|
+
EndGlobalSection
|
|
11
|
+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
12
|
+
{CCE6C620-932C-4B59-A2DA-E11E279F4D9A}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
13
|
+
{CCE6C620-932C-4B59-A2DA-E11E279F4D9A}.Debug|Win32.Build.0 = Debug|Win32
|
|
14
|
+
{CCE6C620-932C-4B59-A2DA-E11E279F4D9A}.Release|Win32.ActiveCfg = Release|Win32
|
|
15
|
+
{CCE6C620-932C-4B59-A2DA-E11E279F4D9A}.Release|Win32.Build.0 = Release|Win32
|
|
16
|
+
EndGlobalSection
|
|
17
|
+
GlobalSection(SolutionProperties) = preSolution
|
|
18
|
+
HideSolutionNode = FALSE
|
|
19
|
+
EndGlobalSection
|
|
20
|
+
EndGlobal
|
|
Binary file
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// IAccessibleDLL.cpp : Defines the exported functions for the DLL application.
|
|
2
|
+
//
|
|
3
|
+
|
|
4
|
+
#undef UNICODE
|
|
5
|
+
|
|
6
|
+
#include "stdafx.h"
|
|
7
|
+
#include <windows.h>
|
|
8
|
+
#include <objbase.h>
|
|
9
|
+
#include <OleAcc.h>
|
|
10
|
+
#include <Commctrl.h>
|
|
11
|
+
|
|
12
|
+
extern "C"
|
|
13
|
+
__declspec( dllexport ) long get_button_state(HWND buttonHwnd) {
|
|
14
|
+
IAccessible *pIAccessible ;
|
|
15
|
+
VARIANT varState;
|
|
16
|
+
VARIANT varChildId;
|
|
17
|
+
BOOL checked = FALSE ;
|
|
18
|
+
HRESULT hr ;
|
|
19
|
+
HMODULE hModule ;
|
|
20
|
+
LPFNACCESSIBLEOBJECTFROMWINDOW lpfnAccessibleObjectFromWindow ;
|
|
21
|
+
|
|
22
|
+
hModule = LoadLibraryA("oleacc.dll");
|
|
23
|
+
lpfnAccessibleObjectFromWindow = (LPFNACCESSIBLEOBJECTFROMWINDOW)GetProcAddress(hModule, "AccessibleObjectFromWindow");
|
|
24
|
+
|
|
25
|
+
hr = lpfnAccessibleObjectFromWindow(buttonHwnd, OBJID_CLIENT, IID_IAccessible, (void**)&pIAccessible) ;
|
|
26
|
+
|
|
27
|
+
VariantInit(&varChildId);
|
|
28
|
+
varChildId.vt = VT_I4;
|
|
29
|
+
varChildId.lVal = CHILDID_SELF ;
|
|
30
|
+
|
|
31
|
+
pIAccessible->get_accState(varChildId, &varState);
|
|
32
|
+
|
|
33
|
+
return varState.lVal ;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
3
|
+
<ItemGroup Label="ProjectConfigurations">
|
|
4
|
+
<ProjectConfiguration Include="Debug|Win32">
|
|
5
|
+
<Configuration>Debug</Configuration>
|
|
6
|
+
<Platform>Win32</Platform>
|
|
7
|
+
</ProjectConfiguration>
|
|
8
|
+
<ProjectConfiguration Include="Release|Win32">
|
|
9
|
+
<Configuration>Release</Configuration>
|
|
10
|
+
<Platform>Win32</Platform>
|
|
11
|
+
</ProjectConfiguration>
|
|
12
|
+
</ItemGroup>
|
|
13
|
+
<PropertyGroup Label="Globals">
|
|
14
|
+
<ProjectGuid>{CCE6C620-932C-4B59-A2DA-E11E279F4D9A}</ProjectGuid>
|
|
15
|
+
<Keyword>Win32Proj</Keyword>
|
|
16
|
+
<RootNamespace>IAccessibleDLL</RootNamespace>
|
|
17
|
+
</PropertyGroup>
|
|
18
|
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
19
|
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
20
|
+
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
21
|
+
<UseDebugLibraries>true</UseDebugLibraries>
|
|
22
|
+
<CharacterSet>Unicode</CharacterSet>
|
|
23
|
+
</PropertyGroup>
|
|
24
|
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
25
|
+
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
26
|
+
<UseDebugLibraries>false</UseDebugLibraries>
|
|
27
|
+
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
28
|
+
<CharacterSet>Unicode</CharacterSet>
|
|
29
|
+
</PropertyGroup>
|
|
30
|
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
31
|
+
<ImportGroup Label="ExtensionSettings">
|
|
32
|
+
</ImportGroup>
|
|
33
|
+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
34
|
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
35
|
+
</ImportGroup>
|
|
36
|
+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
37
|
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
38
|
+
</ImportGroup>
|
|
39
|
+
<PropertyGroup Label="UserMacros" />
|
|
40
|
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
41
|
+
<LinkIncremental>true</LinkIncremental>
|
|
42
|
+
</PropertyGroup>
|
|
43
|
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
44
|
+
<LinkIncremental>false</LinkIncremental>
|
|
45
|
+
</PropertyGroup>
|
|
46
|
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
47
|
+
<ClCompile>
|
|
48
|
+
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
49
|
+
<WarningLevel>Level3</WarningLevel>
|
|
50
|
+
<Optimization>Disabled</Optimization>
|
|
51
|
+
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;IACCESSIBLEDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
52
|
+
</ClCompile>
|
|
53
|
+
<Link>
|
|
54
|
+
<SubSystem>Windows</SubSystem>
|
|
55
|
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
56
|
+
</Link>
|
|
57
|
+
</ItemDefinitionGroup>
|
|
58
|
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
59
|
+
<ClCompile>
|
|
60
|
+
<WarningLevel>Level3</WarningLevel>
|
|
61
|
+
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
62
|
+
<Optimization>MaxSpeed</Optimization>
|
|
63
|
+
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
64
|
+
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
65
|
+
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;IACCESSIBLEDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
66
|
+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
67
|
+
</ClCompile>
|
|
68
|
+
<Link>
|
|
69
|
+
<SubSystem>Windows</SubSystem>
|
|
70
|
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
71
|
+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
72
|
+
<OptimizeReferences>true</OptimizeReferences>
|
|
73
|
+
</Link>
|
|
74
|
+
</ItemDefinitionGroup>
|
|
75
|
+
<ItemGroup>
|
|
76
|
+
<None Include="ReadMe.txt" />
|
|
77
|
+
</ItemGroup>
|
|
78
|
+
<ItemGroup>
|
|
79
|
+
<ClInclude Include="stdafx.h" />
|
|
80
|
+
<ClInclude Include="targetver.h" />
|
|
81
|
+
</ItemGroup>
|
|
82
|
+
<ItemGroup>
|
|
83
|
+
<ClCompile Include="dllmain.cpp">
|
|
84
|
+
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsManaged>
|
|
85
|
+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
86
|
+
</PrecompiledHeader>
|
|
87
|
+
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
|
|
88
|
+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
89
|
+
</PrecompiledHeader>
|
|
90
|
+
</ClCompile>
|
|
91
|
+
<ClCompile Include="IAccessibleDLL.cpp" />
|
|
92
|
+
<ClCompile Include="stdafx.cpp">
|
|
93
|
+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
|
94
|
+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
|
95
|
+
</ClCompile>
|
|
96
|
+
</ItemGroup>
|
|
97
|
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
98
|
+
<ImportGroup Label="ExtensionTargets">
|
|
99
|
+
</ImportGroup>
|
|
100
|
+
</Project>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
3
|
+
<ItemGroup>
|
|
4
|
+
<Filter Include="Source Files">
|
|
5
|
+
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
|
6
|
+
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
|
7
|
+
</Filter>
|
|
8
|
+
<Filter Include="Header Files">
|
|
9
|
+
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
|
10
|
+
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
|
11
|
+
</Filter>
|
|
12
|
+
<Filter Include="Resource Files">
|
|
13
|
+
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
|
14
|
+
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
|
15
|
+
</Filter>
|
|
16
|
+
</ItemGroup>
|
|
17
|
+
<ItemGroup>
|
|
18
|
+
<None Include="ReadMe.txt" />
|
|
19
|
+
</ItemGroup>
|
|
20
|
+
<ItemGroup>
|
|
21
|
+
<ClInclude Include="stdafx.h">
|
|
22
|
+
<Filter>Header Files</Filter>
|
|
23
|
+
</ClInclude>
|
|
24
|
+
<ClInclude Include="targetver.h">
|
|
25
|
+
<Filter>Header Files</Filter>
|
|
26
|
+
</ClInclude>
|
|
27
|
+
</ItemGroup>
|
|
28
|
+
<ItemGroup>
|
|
29
|
+
<ClCompile Include="stdafx.cpp">
|
|
30
|
+
<Filter>Source Files</Filter>
|
|
31
|
+
</ClCompile>
|
|
32
|
+
<ClCompile Include="IAccessibleDLL.cpp">
|
|
33
|
+
<Filter>Source Files</Filter>
|
|
34
|
+
</ClCompile>
|
|
35
|
+
<ClCompile Include="dllmain.cpp">
|
|
36
|
+
<Filter>Source Files</Filter>
|
|
37
|
+
</ClCompile>
|
|
38
|
+
</ItemGroup>
|
|
39
|
+
</Project>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
========================================================================
|
|
2
|
+
DYNAMIC LINK LIBRARY : IAccessibleDLL Project Overview
|
|
3
|
+
========================================================================
|
|
4
|
+
|
|
5
|
+
AppWizard has created this IAccessibleDLL DLL for you.
|
|
6
|
+
|
|
7
|
+
This file contains a summary of what you will find in each of the files that
|
|
8
|
+
make up your IAccessibleDLL application.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
IAccessibleDLL.vcxproj
|
|
12
|
+
This is the main project file for VC++ projects generated using an Application Wizard.
|
|
13
|
+
It contains information about the version of Visual C++ that generated the file, and
|
|
14
|
+
information about the platforms, configurations, and project features selected with the
|
|
15
|
+
Application Wizard.
|
|
16
|
+
|
|
17
|
+
IAccessibleDLL.vcxproj.filters
|
|
18
|
+
This is the filters file for VC++ projects generated using an Application Wizard.
|
|
19
|
+
It contains information about the association between the files in your project
|
|
20
|
+
and the filters. This association is used in the IDE to show grouping of files with
|
|
21
|
+
similar extensions under a specific node (for e.g. ".cpp" files are associated with the
|
|
22
|
+
"Source Files" filter).
|
|
23
|
+
|
|
24
|
+
IAccessibleDLL.cpp
|
|
25
|
+
This is the main DLL source file.
|
|
26
|
+
|
|
27
|
+
When created, this DLL does not export any symbols. As a result, it
|
|
28
|
+
will not produce a .lib file when it is built. If you wish this project
|
|
29
|
+
to be a project dependency of some other project, you will either need to
|
|
30
|
+
add code to export some symbols from the DLL so that an export library
|
|
31
|
+
will be produced, or you can set the Ignore Input Library property to Yes
|
|
32
|
+
on the General propert page of the Linker folder in the project's Property
|
|
33
|
+
Pages dialog box.
|
|
34
|
+
|
|
35
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
36
|
+
Other standard files:
|
|
37
|
+
|
|
38
|
+
StdAfx.h, StdAfx.cpp
|
|
39
|
+
These files are used to build a precompiled header (PCH) file
|
|
40
|
+
named IAccessibleDLL.pch and a precompiled types file named StdAfx.obj.
|
|
41
|
+
|
|
42
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
43
|
+
Other notes:
|
|
44
|
+
|
|
45
|
+
AppWizard uses "TODO:" comments to indicate parts of the source code you
|
|
46
|
+
should add to or customize.
|
|
47
|
+
|
|
48
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// dllmain.cpp : Defines the entry point for the DLL application.
|
|
2
|
+
#include "stdafx.h"
|
|
3
|
+
|
|
4
|
+
BOOL APIENTRY DllMain( HMODULE hModule,
|
|
5
|
+
DWORD ul_reason_for_call,
|
|
6
|
+
LPVOID lpReserved
|
|
7
|
+
)
|
|
8
|
+
{
|
|
9
|
+
switch (ul_reason_for_call)
|
|
10
|
+
{
|
|
11
|
+
case DLL_PROCESS_ATTACH:
|
|
12
|
+
case DLL_THREAD_ATTACH:
|
|
13
|
+
case DLL_THREAD_DETACH:
|
|
14
|
+
case DLL_PROCESS_DETACH:
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
17
|
+
return TRUE;
|
|
18
|
+
}
|
|
19
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// stdafx.cpp : source file that includes just the standard includes
|
|
2
|
+
// IAccessibleDLL.pch will be the pre-compiled header
|
|
3
|
+
// stdafx.obj will contain the pre-compiled type information
|
|
4
|
+
|
|
5
|
+
#include "stdafx.h"
|
|
6
|
+
|
|
7
|
+
// TODO: reference any additional headers you need in STDAFX.H
|
|
8
|
+
// and not in this file
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// stdafx.h : include file for standard system include files,
|
|
2
|
+
// or project specific include files that are used frequently, but
|
|
3
|
+
// are changed infrequently
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
#pragma once
|
|
7
|
+
|
|
8
|
+
#include "targetver.h"
|
|
9
|
+
|
|
10
|
+
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
|
11
|
+
// Windows Header Files:
|
|
12
|
+
#include <windows.h>
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
// TODO: reference additional headers your program requires here
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
// Including SDKDDKVer.h defines the highest available Windows platform.
|
|
4
|
+
|
|
5
|
+
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
|
|
6
|
+
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
|
|
7
|
+
|
|
8
|
+
#include <SDKDDKVer.h>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
Microsoft Visual Studio Solution File, Format Version 11.00
|
|
3
|
+
# Visual Studio 2010
|
|
4
|
+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsForms", "WindowsForms\WindowsForms.csproj", "{79C33EDA-58C4-41EF-93DC-BA679895BD43}"
|
|
5
|
+
EndProject
|
|
6
|
+
Global
|
|
7
|
+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
8
|
+
Debug|x86 = Debug|x86
|
|
9
|
+
Release|x86 = Release|x86
|
|
10
|
+
EndGlobalSection
|
|
11
|
+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
12
|
+
{79C33EDA-58C4-41EF-93DC-BA679895BD43}.Debug|x86.ActiveCfg = Debug|x86
|
|
13
|
+
{79C33EDA-58C4-41EF-93DC-BA679895BD43}.Debug|x86.Build.0 = Debug|x86
|
|
14
|
+
{79C33EDA-58C4-41EF-93DC-BA679895BD43}.Release|x86.ActiveCfg = Release|x86
|
|
15
|
+
{79C33EDA-58C4-41EF-93DC-BA679895BD43}.Release|x86.Build.0 = Release|x86
|
|
16
|
+
EndGlobalSection
|
|
17
|
+
GlobalSection(SolutionProperties) = preSolution
|
|
18
|
+
HideSolutionNode = FALSE
|
|
19
|
+
EndGlobalSection
|
|
20
|
+
EndGlobal
|