rautomation 0.4.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. data/History.rdoc +16 -1
  2. data/LICENSE +1 -1
  3. data/README.rdoc +25 -7
  4. data/Rakefile +4 -0
  5. data/VERSION +1 -1
  6. data/ext/IAccessibleDLL/IAccessibleDLL.sln +20 -0
  7. data/ext/IAccessibleDLL/IAccessibleDLL.suo +0 -0
  8. data/ext/IAccessibleDLL/IAccessibleDLL/IAccessibleDLL.cpp +36 -0
  9. data/ext/IAccessibleDLL/IAccessibleDLL/IAccessibleDLL.vcxproj +100 -0
  10. data/ext/IAccessibleDLL/IAccessibleDLL/IAccessibleDLL.vcxproj.filters +39 -0
  11. data/ext/IAccessibleDLL/IAccessibleDLL/IAccessibleDLL.vcxproj.user +3 -0
  12. data/ext/IAccessibleDLL/IAccessibleDLL/ReadMe.txt +48 -0
  13. data/ext/IAccessibleDLL/IAccessibleDLL/dllmain.cpp +19 -0
  14. data/ext/IAccessibleDLL/IAccessibleDLL/stdafx.cpp +8 -0
  15. data/ext/IAccessibleDLL/IAccessibleDLL/stdafx.h +16 -0
  16. data/ext/IAccessibleDLL/IAccessibleDLL/targetver.h +8 -0
  17. data/ext/IAccessibleDLL/Release/IAccessibleDLL.dll +0 -0
  18. data/ext/IAccessibleDLL/Release/IAccessibleDLL.exp +0 -0
  19. data/ext/IAccessibleDLL/Release/IAccessibleDLL.lib +0 -0
  20. data/ext/WindowsForms/bin/WindowsForms.exe +0 -0
  21. data/ext/WindowsForms/src/WindowsForms/WindowsForms.sln +20 -0
  22. data/ext/WindowsForms/src/WindowsForms/WindowsForms.suo +0 -0
  23. data/ext/WindowsForms/src/WindowsForms/WindowsForms/AboutBox.Designer.cs +80 -0
  24. data/ext/WindowsForms/src/WindowsForms/WindowsForms/AboutBox.cs +103 -0
  25. data/ext/WindowsForms/src/WindowsForms/WindowsForms/AboutBox.resx +120 -0
  26. data/ext/WindowsForms/src/WindowsForms/WindowsForms/DataEntryForm.Designer.cs +167 -0
  27. data/ext/WindowsForms/src/WindowsForms/WindowsForms/DataEntryForm.cs +45 -0
  28. data/ext/WindowsForms/src/WindowsForms/WindowsForms/DataEntryForm.resx +120 -0
  29. data/ext/WindowsForms/src/WindowsForms/WindowsForms/MainFormWindow.Designer.cs +278 -0
  30. data/ext/WindowsForms/src/WindowsForms/WindowsForms/MainFormWindow.cs +78 -0
  31. data/ext/WindowsForms/src/WindowsForms/WindowsForms/MainFormWindow.resx +120 -0
  32. data/ext/WindowsForms/src/WindowsForms/WindowsForms/PersonForm.Designer.cs +119 -0
  33. data/ext/WindowsForms/src/WindowsForms/WindowsForms/PersonForm.cs +34 -0
  34. data/ext/WindowsForms/src/WindowsForms/WindowsForms/PersonForm.resx +120 -0
  35. data/ext/WindowsForms/src/WindowsForms/WindowsForms/Program.cs +21 -0
  36. data/ext/WindowsForms/src/WindowsForms/WindowsForms/Properties/AssemblyInfo.cs +36 -0
  37. data/ext/WindowsForms/src/WindowsForms/WindowsForms/Properties/Resources.Designer.cs +71 -0
  38. data/ext/WindowsForms/src/WindowsForms/WindowsForms/Properties/Resources.resx +117 -0
  39. data/ext/WindowsForms/src/WindowsForms/WindowsForms/Properties/Settings.Designer.cs +30 -0
  40. data/ext/WindowsForms/src/WindowsForms/WindowsForms/Properties/Settings.settings +7 -0
  41. data/ext/WindowsForms/src/WindowsForms/WindowsForms/SimpleElementsForm.Designer.cs +93 -0
  42. data/ext/WindowsForms/src/WindowsForms/WindowsForms/SimpleElementsForm.cs +19 -0
  43. data/ext/WindowsForms/src/WindowsForms/WindowsForms/SimpleElementsForm.resx +120 -0
  44. data/ext/WindowsForms/src/WindowsForms/WindowsForms/WindowsForms.csproj +123 -0
  45. data/ext/WindowsForms/src/WindowsForms/WindowsForms/bin/Debug/WindowsForms.exe +0 -0
  46. data/ext/WindowsForms/src/WindowsForms/WindowsForms/bin/Debug/WindowsForms.pdb +0 -0
  47. data/ext/WindowsForms/src/WindowsForms/WindowsForms/bin/Debug/WindowsForms.vshost.exe +0 -0
  48. data/ext/WindowsForms/src/WindowsForms/WindowsForms/bin/Debug/WindowsForms.vshost.exe.manifest +11 -0
  49. data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache +0 -0
  50. data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache +0 -0
  51. data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/GenerateResource.read.1.tlog +0 -0
  52. data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/GenerateResource.write.1.tlog +0 -0
  53. data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/ResolveAssemblyReference.cache +0 -0
  54. data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.AboutBox.resources +0 -0
  55. data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.DataEntryForm.resources +0 -0
  56. data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.MainFormWindow.resources +0 -0
  57. data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.PersonForm.resources +0 -0
  58. data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.Properties.Resources.resources +0 -0
  59. data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.SimpleElementsForm.resources +0 -0
  60. data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.csproj.FileListAbsolute.txt +25 -0
  61. data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.exe +0 -0
  62. data/ext/WindowsForms/src/WindowsForms/WindowsForms/obj/x86/Debug/WindowsForms.pdb +0 -0
  63. data/lib/{RAutomation.rb → rautomation.rb} +3 -1
  64. data/lib/rautomation/adapter/autoit/button.rb +7 -4
  65. data/lib/rautomation/adapter/autoit/locators.rb +4 -2
  66. data/lib/rautomation/adapter/autoit/text_field.rb +8 -5
  67. data/lib/rautomation/adapter/autoit/window.rb +23 -7
  68. data/lib/rautomation/adapter/win_ffi.rb +9 -3
  69. data/lib/rautomation/adapter/win_ffi/button.rb +3 -34
  70. data/lib/rautomation/adapter/win_ffi/button_helper.rb +24 -0
  71. data/lib/rautomation/adapter/win_ffi/checkbox.rb +12 -0
  72. data/lib/rautomation/adapter/win_ffi/constants.rb +21 -0
  73. data/lib/rautomation/adapter/win_ffi/control.rb +46 -0
  74. data/lib/rautomation/adapter/win_ffi/functions.rb +52 -1
  75. data/lib/rautomation/adapter/win_ffi/locators.rb +2 -1
  76. data/lib/rautomation/adapter/win_ffi/radio.rb +12 -0
  77. data/lib/rautomation/adapter/win_ffi/select_list.rb +64 -0
  78. data/lib/rautomation/adapter/win_ffi/table.rb +18 -0
  79. data/lib/rautomation/adapter/win_ffi/text_field.rb +4 -20
  80. data/lib/rautomation/adapter/win_ffi/window.rb +48 -10
  81. data/lib/rautomation/element_collections.rb +44 -0
  82. data/lib/rautomation/window.rb +29 -5
  83. data/spec/adapter/win_ffi/checkbox_spec.rb +29 -0
  84. data/spec/adapter/win_ffi/radio_spec.rb +21 -0
  85. data/spec/adapter/win_ffi/select_list_spec.rb +41 -0
  86. data/spec/adapter/win_ffi/table_spec.rb +20 -0
  87. data/spec/adapter/win_ffi/window_spec.rb +6 -12
  88. data/spec/button_spec.rb +28 -20
  89. data/spec/buttons_spec.rb +21 -0
  90. data/spec/spec_helper.rb +46 -37
  91. data/spec/text_field_spec.rb +11 -11
  92. data/spec/text_fields_spec.rb +22 -0
  93. data/spec/window_spec.rb +11 -19
  94. data/spec/windows_spec.rb +55 -0
  95. metadata +84 -9
  96. data/.gitignore +0 -25
  97. data/rautomation.gemspec +0 -90
  98. 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
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009-2010 Jarmo Pertman
1
+ Copyright (c) 2010-2011 Jarmo Pertman
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
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.4.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
@@ -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,3 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ </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>
@@ -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