├── samples ├── 06 - Miscellaneous │ ├── settings.xml │ ├── Cartes │ │ └── Miscellaneous.cartes.rpa │ ├── App.config │ ├── Properties │ │ ├── Settings.settings │ │ ├── Settings.Designer.cs │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── Program.cs │ ├── SampleMiscellaneous.cs │ └── 06 - Miscellaneous.csproj ├── 05 - Outlook and Excel │ ├── settings.xml │ ├── EmailsToSend.xlsx │ ├── Cartes │ │ └── Outlook and Excel.cartes.rpa │ ├── App.config │ ├── Properties │ │ ├── Settings.settings │ │ ├── Settings.Designer.cs │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── Program.cs │ ├── SampleOutlook.cs │ └── 05 - Outlook and Excel.csproj ├── 02 - DoChild │ ├── library │ │ └── notepad.rpa │ ├── app.config │ ├── Properties │ │ ├── Settings.settings │ │ ├── Settings.Designer.cs │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── DoChild.sln │ ├── Program.cs │ └── 02 - DoChild.csproj ├── 02 - Walk Tree │ ├── library │ │ └── notepad.rpa │ ├── App.config │ ├── Properties │ │ ├── Settings.settings │ │ ├── Settings.Designer.cs │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── Walk tree.sln │ ├── Program.cs │ └── 02 - Walk tree.csproj ├── 01 - Most basic │ ├── library │ │ └── notepad.rpa │ ├── App.config │ ├── Properties │ │ ├── Settings.settings │ │ ├── Settings.Designer.cs │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── primes.txt │ ├── MostBasicSolution.sln │ ├── MostBasic.cs │ └── 01 - MostBasic.csproj ├── 03 - Images and OCR │ ├── library │ │ └── Notepad2.rpa │ ├── app.config │ ├── Properties │ │ ├── Settings.settings │ │ ├── Settings.Designer.cs │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── ImagesOCR.sln │ ├── 03 - ImagesOCR.csproj │ └── Program.cs ├── 03 - Abort window and XML │ ├── rpa │ │ └── AbortAndXML.rpa │ ├── app.config │ ├── Properties │ │ ├── Settings.settings │ │ ├── Settings.Designer.cs │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── AbortAndXML.sln │ ├── Program.cs │ └── 03 - AbortAndXML.csproj └── 04 - Project Structure │ ├── Cartes │ └── Project Structure.cartes.rpa │ ├── App.config │ ├── Properties │ ├── Settings.settings │ ├── Settings.Designer.cs │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx │ ├── Program.cs │ ├── settings.xml │ ├── SampleNotepad.cs │ └── 04 - Project Structure.csproj ├── RPABaseAPI ├── Cartes │ ├── VisualStudio.rpa │ └── RPABaseAPI.cartes.rpa ├── Properties │ └── AssemblyInfo.cs ├── RPABaseAPI.csproj └── MyCartesAPIBase.cs ├── APIs ├── ChromeLib │ ├── Cartes │ │ ├── Chrome ES++.rpa │ │ └── Chrome ES.rpa │ ├── Properties │ │ └── AssemblyInfo.cs │ └── ChromeLib.csproj ├── OutlookLib │ ├── Cartes │ │ └── Outlook.cartes.rpa │ ├── Properties │ │ └── AssemblyInfo.cs │ └── OutlookLib.csproj ├── NotepadLib │ ├── Cartes │ │ └── NotepadLib.cartes.rpa │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── NotepadLib.csproj │ └── Notepad.cs └── IExplorerLib │ ├── Cartes │ └── Internet Explorer ES.rpa │ ├── Properties │ └── AssemblyInfo.cs │ ├── IExplorer.cs │ └── IExplorerLib.csproj └── README.md /samples/06 - Miscellaneous/settings.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /RPABaseAPI/Cartes/VisualStudio.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/RPABaseAPI/Cartes/VisualStudio.rpa -------------------------------------------------------------------------------- /APIs/ChromeLib/Cartes/Chrome ES++.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/APIs/ChromeLib/Cartes/Chrome ES++.rpa -------------------------------------------------------------------------------- /APIs/ChromeLib/Cartes/Chrome ES.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/APIs/ChromeLib/Cartes/Chrome ES.rpa -------------------------------------------------------------------------------- /RPABaseAPI/Cartes/RPABaseAPI.cartes.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/RPABaseAPI/Cartes/RPABaseAPI.cartes.rpa -------------------------------------------------------------------------------- /samples/05 - Outlook and Excel/settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | .\EmailsToSend.xlsx 4 | -------------------------------------------------------------------------------- /APIs/OutlookLib/Cartes/Outlook.cartes.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/APIs/OutlookLib/Cartes/Outlook.cartes.rpa -------------------------------------------------------------------------------- /samples/02 - DoChild/library/notepad.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/samples/02 - DoChild/library/notepad.rpa -------------------------------------------------------------------------------- /samples/02 - Walk Tree/library/notepad.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/samples/02 - Walk Tree/library/notepad.rpa -------------------------------------------------------------------------------- /APIs/NotepadLib/Cartes/NotepadLib.cartes.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/APIs/NotepadLib/Cartes/NotepadLib.cartes.rpa -------------------------------------------------------------------------------- /samples/01 - Most basic/library/notepad.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/samples/01 - Most basic/library/notepad.rpa -------------------------------------------------------------------------------- /APIs/IExplorerLib/Cartes/Internet Explorer ES.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/APIs/IExplorerLib/Cartes/Internet Explorer ES.rpa -------------------------------------------------------------------------------- /samples/03 - Images and OCR/library/Notepad2.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/samples/03 - Images and OCR/library/Notepad2.rpa -------------------------------------------------------------------------------- /samples/05 - Outlook and Excel/EmailsToSend.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/samples/05 - Outlook and Excel/EmailsToSend.xlsx -------------------------------------------------------------------------------- /samples/03 - Abort window and XML/rpa/AbortAndXML.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/samples/03 - Abort window and XML/rpa/AbortAndXML.rpa -------------------------------------------------------------------------------- /samples/06 - Miscellaneous/Cartes/Miscellaneous.cartes.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/samples/06 - Miscellaneous/Cartes/Miscellaneous.cartes.rpa -------------------------------------------------------------------------------- /samples/02 - DoChild/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /samples/03 - Images and OCR/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /samples/04 - Project Structure/Cartes/Project Structure.cartes.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/samples/04 - Project Structure/Cartes/Project Structure.cartes.rpa -------------------------------------------------------------------------------- /samples/05 - Outlook and Excel/Cartes/Outlook and Excel.cartes.rpa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rigel-Technologies/RPA-Suite-Csharp-Library/HEAD/samples/05 - Outlook and Excel/Cartes/Outlook and Excel.cartes.rpa -------------------------------------------------------------------------------- /samples/03 - Abort window and XML/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /samples/01 - Most basic/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /samples/02 - Walk Tree/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/06 - Miscellaneous/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /samples/05 - Outlook and Excel/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /samples/04 - Project Structure/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/02 - DoChild/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/02 - Walk Tree/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/01 - Most basic/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/03 - Images and OCR/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/06 - Miscellaneous/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/04 - Project Structure/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/05 - Outlook and Excel/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/03 - Abort window and XML/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/01 - Most basic/primes.txt: -------------------------------------------------------------------------------- 1 | 2 2 | 3 3 | 5 4 | 7 5 | 11 6 | 13 7 | 17 8 | 19 9 | 23 10 | 29 11 | 31 12 | 37 13 | 41 14 | 43 15 | 47 16 | 53 17 | 59 18 | 61 19 | 67 20 | 71 21 | 73 22 | 79 23 | 83 24 | 89 25 | 97 26 | 101 27 | 103 28 | 107 29 | 109 30 | 113 31 | 127 32 | 131 33 | 137 34 | 139 35 | 149 36 | 151 37 | 157 38 | 163 39 | 167 40 | 173 41 | 179 42 | 181 43 | 191 44 | 193 45 | 197 46 | 199 47 | 211 48 | 223 49 | 227 50 | 229 51 | 233 52 | 239 53 | 241 54 | 251 55 | 257 56 | 263 57 | 269 58 | 271 59 | 277 60 | 281 61 | 283 62 | 293 -------------------------------------------------------------------------------- /samples/06 - Miscellaneous/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace Miscellaneous 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// 13 | [STAThread] 14 | static void Main() 15 | { 16 | SampleMiscellaneous sample = null; 17 | 18 | sample = new SampleMiscellaneous(); 19 | sample.Execute(); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /samples/05 - Outlook and Excel/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace Outlook_and_Excel 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// Punto de entrada principal para la aplicación. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | SampleOutlook sample = null; 18 | 19 | sample = new SampleOutlook(); 20 | sample.Execute(); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /samples/04 - Project Structure/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Reflection; 6 | using System.Threading.Tasks; 7 | using System.Windows.Forms; 8 | 9 | namespace Demo_Plugin_Visual_Studio 10 | { 11 | static class Program 12 | { 13 | /// 14 | /// Punto de entrada principal para la aplicación. 15 | /// 16 | [STAThread] 17 | static void Main() 18 | { 19 | SampleNotepad sample = null; 20 | 21 | sample = new SampleNotepad(); 22 | sample.Execute(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /samples/04 - Project Structure/settings.xml: -------------------------------------------------------------------------------- 1 | 2 | Hello %user%. I'm Cartes, the intelligent robot of RPA Suite. 3 | This example shows how to create processes using C# libraries with Cartes. 4 | 5 | 1 - Download RPA Suite C# Library from 6 | https://github.com/Rigel-Technologies/RPA-Suite-Csharp-Library. 7 | 8 | 2 - Create a class library (.NET Framework) with a class to handle the application. 9 | Inherited from MyCartesAPIBase. 10 | 11 | 3 - Create a Windows Forms application (.NET Framework) and delete the form. Create a 12 | class that implements the process, inherited from MyCartesProcessBase. 13 | 14 | -------------------------------------------------------------------------------- /samples/02 - DoChild/DoChild.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.28307.705 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DoChild", "DoChild.csproj", "{461C5E24-13FF-48C4-A5B4-A424F7885206}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {461C5E24-13FF-48C4-A5B4-A424F7885206}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {461C5E24-13FF-48C4-A5B4-A424F7885206}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {461C5E24-13FF-48C4-A5B4-A424F7885206}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {461C5E24-13FF-48C4-A5B4-A424F7885206}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {49DD681D-A828-47CF-AA5A-52E964A85D91} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /samples/02 - Walk Tree/Walk tree.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.28307.489 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Walk tree", "Walk tree.csproj", "{8F43A9A8-DE71-4CC2-AAF9-F39FABA76555}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {8F43A9A8-DE71-4CC2-AAF9-F39FABA76555}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {8F43A9A8-DE71-4CC2-AAF9-F39FABA76555}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {8F43A9A8-DE71-4CC2-AAF9-F39FABA76555}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {8F43A9A8-DE71-4CC2-AAF9-F39FABA76555}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {74F2B168-C794-46AC-A842-8C63DD721326} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /samples/01 - Most basic/MostBasicSolution.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.28307.489 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MostBasic", "MostBasic.csproj", "{D4A3E63C-5233-4497-B271-69BB68AAA2D0}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {D4A3E63C-5233-4497-B271-69BB68AAA2D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {D4A3E63C-5233-4497-B271-69BB68AAA2D0}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {D4A3E63C-5233-4497-B271-69BB68AAA2D0}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {D4A3E63C-5233-4497-B271-69BB68AAA2D0}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {FA9A3293-C0B2-4F77-AC6E-4131EE5C016D} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /samples/03 - Images and OCR/ImagesOCR.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.28307.705 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImagesOCR", "ImagesOCR.csproj", "{44FF9E96-3CD7-439F-8601-A6D748714E9B}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {44FF9E96-3CD7-439F-8601-A6D748714E9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {44FF9E96-3CD7-439F-8601-A6D748714E9B}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {44FF9E96-3CD7-439F-8601-A6D748714E9B}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {44FF9E96-3CD7-439F-8601-A6D748714E9B}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {D1710FC0-413F-4CA3-8C10-A3CDB18A75C3} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /samples/03 - Abort window and XML/AbortAndXML.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.28307.705 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AbortAndXML", "AbortAndXML.csproj", "{CAE766F2-D0B1-4EDC-97D1-9A066F8EBDB9}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {CAE766F2-D0B1-4EDC-97D1-9A066F8EBDB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {CAE766F2-D0B1-4EDC-97D1-9A066F8EBDB9}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {CAE766F2-D0B1-4EDC-97D1-9A066F8EBDB9}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {CAE766F2-D0B1-4EDC-97D1-9A066F8EBDB9}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {01FAF769-CE4B-4652-83BC-AD7FE1457F34} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /samples/01 - Most basic/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Prueba_Cartes_Form.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # RPA-Suite-Csharp-Library 2 | RPA Suite C# Library is an Open Source 3 | https://github.com/Rigel-Technologies/RPA-Suite-Csharp-Library.git 4 | 5 | The RPA Suite for C# library will help you develop RPA processes with no limits to their complexity. You will be able to robotize any business process lacking in creativity, and perhaps also processes with creativity. You can download RPA Suite from www.rigeltechnologies.net 6 | 7 | In these videos you can see: 8 | 9 | 1.- Creating RPA process from Visual Studio 10 | http://licenses.rigeltechnologies.net/furlough/video.php?vd=30&ln=2 11 | 12 | 2.- How to structure an RPA Suite project using this C# library? 13 | http://licenses.rigeltechnologies.net/furlough/video.php?vd=31&ln=2 14 | 15 | Computer studies teach that developments must be Robust, Reliable, Reusable, Legible and Maintainable. Use only high-level modern languages. Don't forget that C# were invented to be Robust, Reliable, Reusable, Legible and Maintainable. 16 | 17 | You can also collaborate with the community and extend this RPA library for C# with your new ideas, with new connectors, classes, examples... 18 | 19 | To collaborate just write a new issues message with subject "join collaborator team" 20 | -------------------------------------------------------------------------------- /samples/02 - DoChild/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime:4.0.30319.42000 5 | // 6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si 7 | // se vuelve a generar el código. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace DoChild.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /samples/06 - Miscellaneous/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace _06___Miscellaneous.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /samples/02 - Walk Tree/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime:4.0.30319.42000 5 | // 6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si 7 | // se vuelve a generar el código. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Walk_tree.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /samples/03 - Images and OCR/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime:4.0.30319.42000 5 | // 6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si 7 | // se vuelve a generar el código. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ImagesOCR.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /samples/05 - Outlook and Excel/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace _05___Outlook_and_Excel.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /samples/03 - Abort window and XML/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime:4.0.30319.42000 5 | // 6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si 7 | // se vuelve a generar el código. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace AbortAndXML.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /samples/04 - Project Structure/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime:4.0.30319.42000 5 | // 6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si 7 | // se vuelve a generar el código. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Demo_Plugin_Visual_Studio.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /APIs/ChromeLib/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ChromeLib")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ChromeLib")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("1f84c91f-9e88-45cc-bb34-23903a4899c6")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /RPABaseAPI/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("RPABaseAPI")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("RPABaseAPI")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("90f0f94d-0faf-4c00-b91b-2985dc868735")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /samples/02 - DoChild/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("DoChild")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("DoChild")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("461c5e24-13ff-48c4-a5b4-a424f7885206")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /APIs/IExplorerLib/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("IExplorerLib")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("IExplorerLib")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("653265fc-a964-4460-945c-d9aba67b138a")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /samples/03 - Images and OCR/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ImagesOCR")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ImagesOCR")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("44ff9e96-3cd7-439f-8601-a6d748714e9b")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /samples/03 - Abort window and XML/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("AbortAndXML")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("AbortAndXML")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("cae766f2-d0b1-4edc-97d1-9a066f8ebdb9")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /APIs/NotepadLib/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // La información general de un ensamblado se controla mediante el siguiente 6 | // conjunto de atributos. Cambie estos valores de atributo para modificar la información 7 | // asociada con un ensamblado. 8 | [assembly: AssemblyTitle("NotepadLib")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("NotepadLib")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Si establece ComVisible en false, los tipos de este ensamblado no estarán visibles 18 | // para los componentes COM. Si es necesario obtener acceso a un tipo en este ensamblado desde 19 | // COM, establezca el atributo ComVisible en true en este tipo. 20 | [assembly: ComVisible(false)] 21 | 22 | // El siguiente GUID sirve como id. de typelib si este proyecto se expone a COM. 23 | [assembly: Guid("4c5df0d3-5892-46ee-92da-ed860cf69546")] 24 | 25 | // La información de versión de un ensamblado consta de los cuatro valores siguientes: 26 | // 27 | // Versión principal 28 | // Versión secundaria 29 | // Número de compilación 30 | // Revisión 31 | // 32 | // Puede especificar todos los valores o usar los números de compilación y de revisión predeterminados 33 | // mediante el carácter "*", como se muestra a continuación: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /APIs/OutlookLib/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // La información general de un ensamblado se controla mediante el siguiente 6 | // conjunto de atributos. Cambie estos valores de atributo para modificar la información 7 | // asociada con un ensamblado. 8 | [assembly: AssemblyTitle("OutlookLib")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("OutlookLib")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Si establece ComVisible en false, los tipos de este ensamblado no estarán visibles 18 | // para los componentes COM. Si es necesario obtener acceso a un tipo en este ensamblado desde 19 | // COM, establezca el atributo ComVisible en true en este tipo. 20 | [assembly: ComVisible(false)] 21 | 22 | // El siguiente GUID sirve como id. de typelib si este proyecto se expone a COM. 23 | [assembly: Guid("75bd77ff-53c2-4060-a4a1-9d75e9f1da9f")] 24 | 25 | // La información de versión de un ensamblado consta de los cuatro valores siguientes: 26 | // 27 | // Versión principal 28 | // Versión secundaria 29 | // Número de compilación 30 | // Revisión 31 | // 32 | // Puede especificar todos los valores o usar los números de compilación y de revisión predeterminados 33 | // mediante el carácter "*", como se muestra a continuación: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /samples/02 - Walk Tree/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // La información general de un ensamblado se controla mediante el siguiente 6 | // conjunto de atributos. Cambie estos valores de atributo para modificar la información 7 | // asociada con un ensamblado. 8 | [assembly: AssemblyTitle("Walk tree")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Walk tree")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Si establece ComVisible en false, los tipos de este ensamblado no estarán visibles 18 | // para los componentes COM. Si es necesario obtener acceso a un tipo en este ensamblado desde 19 | // COM, establezca el atributo ComVisible en true en este tipo. 20 | [assembly: ComVisible(false)] 21 | 22 | // El siguiente GUID sirve como id. de typelib si este proyecto se expone a COM. 23 | [assembly: Guid("8f43a9a8-de71-4cc2-aaf9-f39faba76555")] 24 | 25 | // La información de versión de un ensamblado consta de los cuatro valores siguientes: 26 | // 27 | // Versión principal 28 | // Versión secundaria 29 | // Número de compilación 30 | // Revisión 31 | // 32 | // Puede especificar todos los valores o utilizar los números de compilación y de revisión predeterminados 33 | // mediante el carácter '*', como se muestra a continuación: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /samples/01 - Most basic/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // La información general de un ensamblado se controla mediante el siguiente 6 | // conjunto de atributos. Cambie estos valores de atributo para modificar la información 7 | // asociada con un ensamblado. 8 | [assembly: AssemblyTitle("Prueba Cartes Form")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Prueba Cartes Form")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Si establece ComVisible en false, los tipos de este ensamblado no estarán visibles 18 | // para los componentes COM. Si es necesario obtener acceso a un tipo en este ensamblado desde 19 | // COM, establezca el atributo ComVisible en true en este tipo. 20 | [assembly: ComVisible(false)] 21 | 22 | // El siguiente GUID sirve como id. de typelib si este proyecto se expone a COM. 23 | [assembly: Guid("d4a3e63c-5233-4497-b271-69bb68aaa2d0")] 24 | 25 | // La información de versión de un ensamblado consta de los cuatro valores siguientes: 26 | // 27 | // Versión principal 28 | // Versión secundaria 29 | // Número de compilación 30 | // Revisión 31 | // 32 | // Puede especificar todos los valores o utilizar los números de compilación y de revisión predeterminados 33 | // mediante el carácter '*', como se muestra a continuación: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /samples/06 - Miscellaneous/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // La información general de un ensamblado se controla mediante el siguiente 6 | // conjunto de atributos. Cambie estos valores de atributo para modificar la información 7 | // asociada con un ensamblado. 8 | [assembly: AssemblyTitle("06 - Miscellaneous")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("06 - Miscellaneous")] 13 | [assembly: AssemblyCopyright("Copyright © 2021")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Si establece ComVisible en false, los tipos de este ensamblado no estarán visibles 18 | // para los componentes COM. Si es necesario obtener acceso a un tipo en este ensamblado desde 19 | // COM, establezca el atributo ComVisible en true en este tipo. 20 | [assembly: ComVisible(false)] 21 | 22 | // El siguiente GUID sirve como id. de typelib si este proyecto se expone a COM. 23 | [assembly: Guid("aa184941-0d0c-442f-8d2a-3b0ae6881b8d")] 24 | 25 | // La información de versión de un ensamblado consta de los cuatro valores siguientes: 26 | // 27 | // Versión principal 28 | // Versión secundaria 29 | // Número de compilación 30 | // Revisión 31 | // 32 | // Puede especificar todos los valores o utilizar los números de compilación y de revisión predeterminados 33 | // mediante el carácter '*', como se muestra a continuación: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /samples/05 - Outlook and Excel/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // La información general de un ensamblado se controla mediante el siguiente 6 | // conjunto de atributos. Cambie estos valores de atributo para modificar la información 7 | // asociada con un ensamblado. 8 | [assembly: AssemblyTitle("05 - Outlook and Excel")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("05 - Outlook and Excel")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Si establece ComVisible en false, los tipos de este ensamblado no estarán visibles 18 | // para los componentes COM. Si es necesario obtener acceso a un tipo en este ensamblado desde 19 | // COM, establezca el atributo ComVisible en true en este tipo. 20 | [assembly: ComVisible(false)] 21 | 22 | // El siguiente GUID sirve como id. de typelib si este proyecto se expone a COM. 23 | [assembly: Guid("44b4e0ff-b8c4-46a8-a832-fdc0b6682f82")] 24 | 25 | // La información de versión de un ensamblado consta de los cuatro valores siguientes: 26 | // 27 | // Versión principal 28 | // Versión secundaria 29 | // Número de compilación 30 | // Revisión 31 | // 32 | // Puede especificar todos los valores o utilizar los números de compilación y de revisión predeterminados 33 | // mediante el carácter '*', como se muestra a continuación: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /samples/04 - Project Structure/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // La información general de un ensamblado se controla mediante el siguiente 6 | // conjunto de atributos. Cambie estos valores de atributo para modificar la información 7 | // asociada con un ensamblado. 8 | [assembly: AssemblyTitle("Demo Plugin Visual Studio")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Demo Plugin Visual Studio")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Si establece ComVisible en false, los tipos de este ensamblado no estarán visibles 18 | // para los componentes COM. Si es necesario obtener acceso a un tipo en este ensamblado desde 19 | // COM, establezca el atributo ComVisible en true en este tipo. 20 | [assembly: ComVisible(false)] 21 | 22 | // El siguiente GUID sirve como id. de typelib si este proyecto se expone a COM. 23 | [assembly: Guid("6e840137-6bae-4ff9-975e-96accb8374ec")] 24 | 25 | // La información de versión de un ensamblado consta de los cuatro valores siguientes: 26 | // 27 | // Versión principal 28 | // Versión secundaria 29 | // Número de compilación 30 | // Revisión 31 | // 32 | // Puede especificar todos los valores o utilizar los números de compilación y de revisión predeterminados 33 | // mediante el carácter '*', como se muestra a continuación: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /APIs/IExplorerLib/IExplorer.cs: -------------------------------------------------------------------------------- 1 | using MiTools; 2 | using RPABaseAPI; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace IExplorerLib 10 | { 11 | public class IExplorer : MyCartesAPIBase 12 | { 13 | private static bool loaded = false; 14 | 15 | public IExplorer(MyCartesProcess owner) : base(owner) 16 | { 17 | MergeLibrariesAndLoadVariables(); 18 | } 19 | protected override void MergeLibrariesAndLoadVariables() 20 | { 21 | if (!loaded || !isVariable("$InternetExplorer")) 22 | { 23 | loaded = cartes.merge(CurrentPath + "\\Cartes\\Internet Explorer ES.rpa") == 1; 24 | } 25 | } 26 | 27 | public override void Close() // It closes Internet Explorer. 28 | { 29 | Execute("$cshIExplorer00 = new TInternetExplorer(" + Owner.Abort + ");\r\n" + 30 | "$cshIExplorer00.closeAll();"); 31 | } 32 | public void CloseOptionPanel() 33 | { 34 | Execute("$cshIExplorer00 = new TInternetExplorer(" + Owner.Abort + ");\r\n" + 35 | "$cshIExplorer00.CloseOptionPanel();"); 36 | } 37 | public void OpenURL(string URL, string csvComponente) /* It opens the indicated web page. "csvComponente" must be a component of the page 38 | that indicates when the page has been loaded: for example, "$googlelogo". */ 39 | { 40 | Execute("$cshIExplorer00 = new TInternetExplorer(" + Owner.Abort + ");\r\n" + 41 | "$cshIExplorer00.OpenURL(\"" + URL.Replace("\"", "\"\"") + "\", " + csvComponente.Replace("\"", "\"\"") + ");"); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /samples/01 - Most basic/MostBasic.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using System.Windows.Forms; 7 | using System.Runtime.InteropServices; 8 | using Cartes; 9 | using MiTools; 10 | 11 | namespace MostBasic 12 | { 13 | static class MostBasic 14 | { 15 | [STAThread] 16 | static void Main() 17 | { 18 | CartesObj robot = new CartesObj(); 19 | String primes; 20 | DateTime start; 21 | Cartes.RPAWin32Component notepad; 22 | String workingFile; 23 | String primesFile; 24 | 25 | try{ 26 | start = DateTime.Now; 27 | workingFile = Environment.CurrentDirectory; 28 | primesFile = workingFile + "\\primes.txt"; 29 | robot.open(workingFile + "\\library\\notepad.rpa"); 30 | robot.Execute("visualmode(true);"); 31 | primes = robot.Execute("LoadFromTxtFile(\"" + primesFile + "\");"); 32 | notepad = robot.GetComponent("$NotePadEditor"); 33 | if (notepad.componentexist(0) == 0){ 34 | robot.run("notepad.exe"); 35 | notepad.waitforcomponent(30); 36 | robot.reset(notepad.api()); /* "reset" warns Cartes of changes in 37 | screen applications. Cartes reduces consumption of C.P.U. with 38 | this notice. The A.I. of Cartes presupposes these opportune 39 | notices in the source code. */ 40 | } 41 | notepad.Value = notepad.ActiveXClass() + "\r\n" + primes; 42 | notepad.focus(); 43 | robot.balloon("This example has opened the Notepad to write the first prime numbers."); 44 | robot.RegisterIteration(start, "ok", "Put your trace here in xml", 1); 45 | robot.forensic("This is a trace for the swarm log, and the Windows event viewer."); 46 | MessageBox.Show ("End"); 47 | } 48 | finally{ 49 | robot.close(); 50 | } 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /samples/02 - Walk Tree/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using System.Windows.Forms; 7 | using System.Runtime.InteropServices; 8 | using Cartes; 9 | using MiTools; 10 | 11 | namespace Walk_tree 12 | { 13 | static class MostBasic 14 | { 15 | [STAThread] 16 | static void Main() 17 | { 18 | DateTime start; 19 | CartesObj robot = new CartesObj(); 20 | Cartes.RPAWin32Component notepad; 21 | String workingFile; 22 | 23 | try 24 | { 25 | start = DateTime.Now; 26 | workingFile = Environment.CurrentDirectory; 27 | robot.open(workingFile + "\\library\\notepad.rpa"); 28 | notepad = robot.GetComponent("$NotePadEditor"); 29 | if (notepad.componentexist(0) == 0) 30 | { 31 | robot.run("notepad.exe"); 32 | notepad.waitforcomponent(30); 33 | } 34 | notepad.Value = WalkTree(0, notepad.Root()); ; 35 | notepad.focus(); 36 | robot.balloon("This example has opened the notepad and has presented you the component tree with its structure."); 37 | robot.RegisterIteration(start, "ok", "Put your trace here in xml", 1); 38 | robot.forensic("This is a trace for the swarm log, and the Windows event viewer."); 39 | MessageBox.Show("End"); 40 | } 41 | finally 42 | { 43 | robot.close(); 44 | } 45 | } 46 | 47 | 48 | public static string WalkTree (int level, RPAWin32Component component) 49 | { 50 | RPAParameters param = new RPAParameters(); 51 | string margin = ""; 52 | string result = ""; 53 | 54 | int i; 55 | 56 | i = 0; 57 | while (i < level) 58 | { 59 | margin = margin + " "; 60 | i = i + 1; 61 | } 62 | result = margin + level + " - " + component.name() + " " + "[" + component.Execute("class", param) + "] = " + component.Wrapper(); 63 | i = 0; 64 | while (i < component.descendants) 65 | { 66 | result = result + "\r\n" + WalkTree(level + 1, (RPAWin32Component) component.child(i)); 67 | i = i + 1; 68 | } 69 | return result; 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /samples/03 - Abort window and XML/Program.cs: -------------------------------------------------------------------------------- 1 | using Cartes; 2 | using CE_Data; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Threading; 7 | using System.Windows.Forms; 8 | using System.Xml; 9 | 10 | namespace AbortAndXML 11 | { 12 | static class Program 13 | { 14 | [STAThread] 15 | static void Main() 16 | { 17 | CartesObj cartes = new CartesObj(); 18 | RPADataString Abort; 19 | string workingFile; 20 | 21 | workingFile = Environment.CurrentDirectory; 22 | cartes.open(workingFile + "\\rpa\\AbortAndXML.rpa"); 23 | try 24 | { 25 | XmlDocument doc = new XmlDocument(); 26 | XmlNode usersNode = doc.CreateElement("users"); 27 | XMLFile datos2 = new XMLFile(); // Cartes class from CE_Data 28 | 29 | Abort = (RPADataString) cartes.component("$Abort"); 30 | Abort.ShowAbortDialog("Presss the button to end", "Bye", "Abort"); 31 | if (Abort.Value == "0") 32 | { 33 | XmlNode userNode = null; 34 | XmlNode phoneNode = null; 35 | 36 | // I create the XML with the native class of C # 37 | doc.AppendChild(usersNode); 38 | userNode = doc.CreateElement("name"); 39 | userNode.InnerText = "Federico Codd"; 40 | usersNode.AppendChild(userNode); 41 | phoneNode = doc.CreateElement("telephone"); 42 | phoneNode.InnerText = "985124753"; 43 | usersNode.AppendChild(phoneNode); 44 | phoneNode = doc.CreateElement("telephone"); 45 | phoneNode.InnerText = "654357951"; 46 | usersNode.AppendChild(phoneNode); 47 | // I create the XML with the Cartes class 48 | datos2.AsString["name"] = userNode.InnerText; 49 | datos2.getKey("telephone").listAsString[0] = "985124753"; 50 | datos2.getKey("telephone").listAsString[1] = "985124753"; 51 | do 52 | { 53 | Thread.Sleep(2000); 54 | } 55 | while (Abort.Value == "0"); 56 | doc.Save(workingFile + "\\datos1.xml"); 57 | datos2.SaveToFile(workingFile + "\\datos2.xml"); 58 | } 59 | } 60 | finally 61 | { 62 | cartes.close(); 63 | } 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /samples/04 - Project Structure/SampleNotepad.cs: -------------------------------------------------------------------------------- 1 | using Cartes; 2 | using MiTools; 3 | using NotepadLib; 4 | using RPABaseAPI; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Linq; 8 | using System.Text; 9 | using System.Threading; 10 | using System.Threading.Tasks; 11 | using System.Xml; 12 | 13 | namespace Demo_Plugin_Visual_Studio 14 | { 15 | class SampleNotepad : MyCartesProcessBase 16 | { 17 | private string fMessage; 18 | private Notepad fNotepad; 19 | 20 | public SampleNotepad() : base() 21 | { 22 | fMessage = ""; 23 | fNotepad = null; 24 | ShowAbort = true; 25 | } 26 | 27 | protected override string getNeededRPASuiteVersion() 28 | { 29 | return "3.0.1.0"; 30 | } 31 | protected override string getRPAMainFile() 32 | { 33 | return CurrentPath + "\\Cartes\\Project Structure.cartes.rpa"; 34 | } 35 | protected override void LoadConfiguration(XmlDocument XmlCfg) 36 | { 37 | fMessage = ToString(XmlCfg.SelectSingleNode("//demo//message")); 38 | } 39 | protected override void DoExecute(ref DateTime start) 40 | { 41 | bool exit; 42 | DateTime timeout; 43 | 44 | try 45 | { 46 | notepad.Write(fMessage.Replace("%user%", CartesScriptExecute("SessionUser;"))); 47 | if (IsSwarmExecution) cartes.balloon("This example shows how to use C# libraries in a process launched by the swarm."); 48 | else cartes.balloon("This example shows how to use C# libraries in a process that you could launch with the swarm."); 49 | forensic("This is a trace for the swarm log and the Windows event viewer."); 50 | timeout = DateTime.Now.AddSeconds(60); 51 | exit = false; 52 | do 53 | { 54 | Thread.Sleep(500); 55 | CheckAbort(); 56 | if (timeout < DateTime.Now) exit = true; 57 | else if (!notepad.Exists()) exit = true; 58 | } while (!exit); 59 | RegisterIteration(start, EXIT_OK, "Put your trace here in xml"); 60 | }catch(Exception e) 61 | { 62 | if (e is MyException me) RegisterIteration(start, me.code, e.Message, true); 63 | else RegisterIteration(start, EXIT_ERROR, e.Message, true); 64 | } 65 | start = DateTime.Now; 66 | } 67 | 68 | public Notepad notepad 69 | { 70 | get 71 | { 72 | if (fNotepad == null) 73 | fNotepad = new Notepad(this); 74 | return fNotepad; 75 | } 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /samples/06 - Miscellaneous/SampleMiscellaneous.cs: -------------------------------------------------------------------------------- 1 | using Cartes; 2 | using ChromeLib; 3 | using IExplorerLib; 4 | using RPABaseAPI; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Linq; 8 | using System.Text; 9 | using System.Threading.Tasks; 10 | using System.Xml; 11 | 12 | namespace Miscellaneous 13 | { 14 | class SampleMiscellaneous : MyCartesProcessBase 15 | { 16 | private Chrome fChrome; 17 | private IExplorer fIExplorer; 18 | 19 | public SampleMiscellaneous() : base() 20 | { 21 | fChrome = null; 22 | fIExplorer = null; 23 | } 24 | 25 | protected override string getNeededRPASuiteVersion() 26 | { 27 | return "3.2.1.0"; 28 | } 29 | protected override string getRPAMainFile() 30 | { 31 | return CurrentPath + "\\Cartes\\Miscellaneous.cartes.rpa"; 32 | } 33 | protected override void LoadConfiguration(XmlDocument XmlCfg) 34 | { 35 | } 36 | protected override void DoExecute(ref DateTime start) 37 | { 38 | Chrome GBrowser = Chrome; 39 | IExplorer MBrowser = IExplorer; 40 | RPAWin32Component crmlogo = GetComponent("$ChrmRigelLogo"); 41 | 42 | LoopForever = true; 43 | GBrowser.Incognito = false; 44 | GBrowser.OpenURL("www.rigeltechnologies.net", crmlogo); 45 | MBrowser.OpenURL("www.rigeltechnologies.net", "$IExplrRigelLogo"); 46 | Balloon("Browsers are already open"); 47 | WaitFor(5); 48 | } 49 | protected Chrome GetChrome() 50 | { 51 | if (fChrome == null) 52 | { 53 | CR.WaitOne(); 54 | try 55 | { 56 | if (fChrome == null) 57 | fChrome = new Chrome(this); 58 | } 59 | finally 60 | { 61 | CR.ReleaseMutex(); 62 | } 63 | } 64 | return fChrome; 65 | } 66 | protected IExplorer GetIExplorer() 67 | { 68 | if (fIExplorer == null) 69 | { 70 | CR.WaitOne(); 71 | try 72 | { 73 | if (fIExplorer == null) 74 | fIExplorer = new IExplorer(this); 75 | } 76 | finally 77 | { 78 | CR.ReleaseMutex(); 79 | } 80 | } 81 | return fIExplorer; 82 | } 83 | 84 | public Chrome Chrome 85 | { 86 | get { return GetChrome(); } 87 | } 88 | public IExplorer IExplorer 89 | { 90 | get { return GetIExplorer(); } 91 | } 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /samples/02 - DoChild/Program.cs: -------------------------------------------------------------------------------- 1 | using Cartes; 2 | using MiTools; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Windows.Forms; 7 | 8 | namespace DoChild 9 | { 10 | static class Program 11 | { 12 | static private CartesObj cartes = new CartesObj(); 13 | 14 | [STAThread] 15 | static void Main() 16 | { 17 | DateTime start; 18 | RPAParameters parameters = new RPAParameters(); 19 | IRPAComponent notepad; 20 | RPAWin32Component editor; 21 | String workingFile, editorRoute; 22 | 23 | try 24 | { 25 | start = DateTime.Now; 26 | workingFile = Environment.CurrentDirectory; 27 | cartes.open(workingFile + "\\library\\notepad.rpa"); 28 | editor = cartes.GetComponent("$NotePadEditor"); 29 | if (editor.ComponentNotExist()) 30 | { 31 | cartes.run("notepad.exe"); 32 | editor.waitforcomponent(30); 33 | } 34 | editorRoute = editor.route(); 35 | notepad = editor.Root(); 36 | parameters.item[0] = WalkTree(0, notepad, ""); 37 | notepad.dochild(editorRoute, "TypeFromClipboard", parameters); 38 | editor.focus(); 39 | cartes.balloon("This example has opened the notepad and has presented you the component tree with its structure."); 40 | cartes.RegisterIteration(start, "ok", "Put your trace here in xml", 1); 41 | cartes.forensic("This is a trace for the swarm log, and the Windows event viewer."); 42 | MessageBox.Show("End"); 43 | } 44 | finally 45 | { 46 | cartes.close(); 47 | } 48 | } 49 | 50 | public static string WalkTree(int level, IRPAComponent component, string path) 51 | { 52 | RPAParameters param = new RPAParameters(); 53 | string margin = ""; 54 | string result = ""; 55 | int i; 56 | 57 | cartes.balloon("Component : " + path + "\r\nClass : " + component.dochild(path, "class", param)); 58 | i = 0; 59 | while (i < level) 60 | { 61 | margin = margin + " "; 62 | i = i + 1; 63 | } 64 | result = margin + level + " - " + component.dochild(path, "name", param) + " " + "[" + component.dochild(path, "class", param) + "] = " + component.dochild(path, "wrapper", param); 65 | i = 0; 66 | while (i < int.Parse(component.dochild(path, "descendants", param))) 67 | { 68 | result = result + "\r\n" + WalkTree(level + 1, component, path + "\\" + i.ToString()); 69 | i = i + 1; 70 | } 71 | return result; 72 | } 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /samples/02 - DoChild/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime:4.0.30319.42000 5 | // 6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si 7 | // se vuelve a generar el código. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace DoChild.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc. 17 | /// 18 | // StronglyTypedResourceBuilder generó automáticamente esta clase 19 | // a través de una herramienta como ResGen o Visual Studio. 20 | // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen 21 | // con la opción /str o recompile su proyecto de VS. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DoChild.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las 51 | /// búsquedas de recursos mediante esta clase de recurso fuertemente tipado. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /samples/02 - Walk Tree/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime:4.0.30319.42000 5 | // 6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si 7 | // se vuelve a generar el código. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Walk_tree.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc. 17 | /// 18 | // StronglyTypedResourceBuilder generó automáticamente esta clase 19 | // a través de una herramienta como ResGen o Visual Studio. 20 | // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen 21 | // con la opción /str o recompile su proyecto de VS. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Walk_tree.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las 51 | /// búsquedas de recursos mediante esta clase de recurso fuertemente tipado. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /samples/03 - Images and OCR/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime:4.0.30319.42000 5 | // 6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si 7 | // se vuelve a generar el código. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ImagesOCR.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc. 17 | /// 18 | // StronglyTypedResourceBuilder generó automáticamente esta clase 19 | // a través de una herramienta como ResGen o Visual Studio. 20 | // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen 21 | // con la opción /str o recompile su proyecto de VS. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ImagesOCR.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las 51 | /// búsquedas de recursos mediante esta clase de recurso fuertemente tipado. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /samples/03 - Abort window and XML/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime:4.0.30319.42000 5 | // 6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si 7 | // se vuelve a generar el código. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace AbortAndXML.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc. 17 | /// 18 | // StronglyTypedResourceBuilder generó automáticamente esta clase 19 | // a través de una herramienta como ResGen o Visual Studio. 20 | // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen 21 | // con la opción /str o recompile su proyecto de VS. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AbortAndXML.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las 51 | /// búsquedas de recursos mediante esta clase de recurso fuertemente tipado. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /APIs/IExplorerLib/IExplorerLib.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {653265FC-A964-4460-945C-D9ABA67B138A} 8 | Library 9 | Properties 10 | IExplorerLib 11 | IExplorerLib 12 | v4.5.2 13 | 512 14 | true 15 | 16 | 17 | 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | {90f0f94d-0faf-4c00-b91b-2985dc868735} 51 | RPABaseAPI 52 | 53 | 54 | 55 | 56 | {51E52F24-2771-41FC-8829-C9719D373AA0} 57 | 1 58 | 0 59 | 0 60 | tlbimp 61 | False 62 | True 63 | 64 | 65 | 66 | 67 | Always 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /samples/04 - Project Structure/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime:4.0.30319.42000 5 | // 6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si 7 | // se vuelve a generar el código. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Demo_Plugin_Visual_Studio.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc. 17 | /// 18 | // StronglyTypedResourceBuilder generó automáticamente esta clase 19 | // a través de una herramienta como ResGen o Visual Studio. 20 | // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen 21 | // con la opción /str o recompile su proyecto de VS. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Demo_Plugin_Visual_Studio.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las 51 | /// búsquedas de recursos mediante esta clase de recurso fuertemente tipado. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /samples/01 - Most basic/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime: 4.0.30319.42000 5 | // 6 | // Los cambios de este archivo pueden provocar un comportamiento inesperado y se perderán si 7 | // el código se vuelve a generar. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Prueba_Cartes_Form.Properties 12 | { 13 | 14 | 15 | /// 16 | /// Clase de recurso fuertemente tipado para buscar cadenas traducidas, etc. 17 | /// 18 | // StronglyTypedResourceBuilder generó automáticamente esta clase 19 | // a través de una herramienta como ResGen o Visual Studio. 20 | // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen 21 | // con la opción /str o recompile su proyecto de VS. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// Devuelve la instancia ResourceManager almacenada en caché utilizada por esta clase. 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Prueba_Cartes_Form.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// Invalida la propiedad CurrentUICulture del subproceso actual para todas las 56 | /// búsquedas de recursos usando esta clase de recursos fuertemente tipados. 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /samples/06 - Miscellaneous/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime: 4.0.30319.42000 5 | // 6 | // Los cambios de este archivo pueden provocar un comportamiento inesperado y se perderán si 7 | // el código se vuelve a generar. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace _06___Miscellaneous.Properties 12 | { 13 | 14 | 15 | /// 16 | /// Clase de recurso fuertemente tipado para buscar cadenas traducidas, etc. 17 | /// 18 | // StronglyTypedResourceBuilder generó automáticamente esta clase 19 | // a través de una herramienta como ResGen o Visual Studio. 20 | // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen 21 | // con la opción /str o recompile su proyecto de VS. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// Devuelve la instancia ResourceManager almacenada en caché utilizada por esta clase. 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("_06___Miscellaneous.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// Invalida la propiedad CurrentUICulture del subproceso actual para todas las 56 | /// búsquedas de recursos usando esta clase de recursos fuertemente tipados. 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /APIs/ChromeLib/ChromeLib.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {1F84C91F-9E88-45CC-BB34-23903A4899C6} 8 | Library 9 | Properties 10 | ChromeLib 11 | ChromeLib 12 | v4.5.2 13 | 512 14 | true 15 | 16 | 17 | 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | {51E52F24-2771-41FC-8829-C9719D373AA0} 52 | 1 53 | 0 54 | 0 55 | tlbimp 56 | False 57 | True 58 | 59 | 60 | 61 | 62 | Always 63 | 64 | 65 | 66 | 67 | {90f0f94d-0faf-4c00-b91b-2985dc868735} 68 | RPABaseAPI 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /samples/05 - Outlook and Excel/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Este código fue generado por una herramienta. 4 | // Versión de runtime: 4.0.30319.42000 5 | // 6 | // Los cambios de este archivo pueden provocar un comportamiento inesperado y se perderán si 7 | // el código se vuelve a generar. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace _05___Outlook_and_Excel.Properties 12 | { 13 | 14 | 15 | /// 16 | /// Clase de recurso fuertemente tipado para buscar cadenas traducidas, etc. 17 | /// 18 | // StronglyTypedResourceBuilder generó automáticamente esta clase 19 | // a través de una herramienta como ResGen o Visual Studio. 20 | // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen 21 | // con la opción /str o recompile su proyecto de VS. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// Devuelve la instancia ResourceManager almacenada en caché utilizada por esta clase. 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("_05___Outlook_and_Excel.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// Invalida la propiedad CurrentUICulture del subproceso actual para todas las 56 | /// búsquedas de recursos usando esta clase de recursos fuertemente tipados. 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /APIs/NotepadLib/NotepadLib.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {4C5DF0D3-5892-46EE-92DA-ED860CF69546} 8 | Library 9 | Properties 10 | NotepadLib 11 | NotepadLib 12 | v4.5.2 13 | 512 14 | true 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | true 27 | full 28 | false 29 | bin\Debug\ 30 | DEBUG;TRACE 31 | prompt 32 | 4 33 | 34 | 35 | pdbonly 36 | true 37 | bin\Release\ 38 | TRACE 39 | prompt 40 | 4 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | {51E52F24-2771-41FC-8829-C9719D373AA0} 60 | 1 61 | 0 62 | 0 63 | tlbimp 64 | False 65 | True 66 | 67 | 68 | 69 | 70 | Always 71 | 72 | 73 | 74 | 75 | {90f0f94d-0faf-4c00-b91b-2985dc868735} 76 | RPABaseAPI 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /RPABaseAPI/RPABaseAPI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {90F0F94D-0FAF-4C00-B91B-2985DC868735} 8 | Library 9 | Properties 10 | RPABaseAPI 11 | RPABaseAPI 12 | v4.5.2 13 | 512 14 | true 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | true 26 | full 27 | false 28 | bin\Debug\ 29 | DEBUG;TRACE 30 | prompt 31 | 4 32 | 33 | 34 | pdbonly 35 | true 36 | bin\Release\ 37 | TRACE 38 | prompt 39 | 4 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | {51E52F24-2771-41FC-8829-C9719D373AA0} 63 | 1 64 | 0 65 | 0 66 | tlbimp 67 | False 68 | True 69 | 70 | 71 | {87E4E2F7-3C74-4888-8CB0-3FDA0AE3D144} 72 | 1 73 | 0 74 | 0 75 | tlbimp 76 | False 77 | True 78 | 79 | 80 | 81 | 82 | Always 83 | 84 | 85 | 86 | 87 | Always 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /samples/02 - DoChild/02 - DoChild.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {461C5E24-13FF-48C4-A5B4-A424F7885206} 8 | WinExe 9 | DoChild 10 | DoChild 11 | v4.5.2 12 | 512 13 | true 14 | 15 | 16 | 17 | AnyCPU 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | false 26 | 27 | 28 | AnyCPU 29 | pdbonly 30 | true 31 | bin\Release\ 32 | TRACE 33 | prompt 34 | 4 35 | false 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | ResXFileCodeGenerator 54 | Resources.Designer.cs 55 | Designer 56 | 57 | 58 | True 59 | Resources.resx 60 | True 61 | 62 | 63 | Always 64 | 65 | 66 | 67 | SettingsSingleFileGenerator 68 | Settings.Designer.cs 69 | 70 | 71 | True 72 | Settings.settings 73 | True 74 | 75 | 76 | 77 | 78 | {51E52F24-2771-41FC-8829-C9719D373AA0} 79 | 1 80 | 0 81 | 0 82 | tlbimp 83 | False 84 | True 85 | 86 | 87 | 88 | 89 | {90f0f94d-0faf-4c00-b91b-2985dc868735} 90 | RPABaseAPI 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /samples/03 - Images and OCR/03 - ImagesOCR.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {44FF9E96-3CD7-439F-8601-A6D748714E9B} 8 | WinExe 9 | ImagesOCR 10 | ImagesOCR 11 | v4.5.2 12 | 512 13 | true 14 | 15 | 16 | 17 | AnyCPU 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | false 26 | 27 | 28 | AnyCPU 29 | pdbonly 30 | true 31 | bin\Release\ 32 | TRACE 33 | prompt 34 | 4 35 | false 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | ResXFileCodeGenerator 54 | Resources.Designer.cs 55 | Designer 56 | 57 | 58 | True 59 | Resources.resx 60 | True 61 | 62 | 63 | Always 64 | 65 | 66 | 67 | SettingsSingleFileGenerator 68 | Settings.Designer.cs 69 | 70 | 71 | True 72 | Settings.settings 73 | True 74 | 75 | 76 | 77 | 78 | {51E52F24-2771-41FC-8829-C9719D373AA0} 79 | 1 80 | 0 81 | 0 82 | tlbimp 83 | False 84 | True 85 | 86 | 87 | 88 | 89 | {90f0f94d-0faf-4c00-b91b-2985dc868735} 90 | RPABaseAPI 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /APIs/OutlookLib/OutlookLib.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {75BD77FF-53C2-4060-A4A1-9D75E9F1DA9F} 8 | Library 9 | Properties 10 | OutlookLib 11 | OutlookLib 12 | v4.5.2 13 | 512 14 | true 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | {90f0f94d-0faf-4c00-b91b-2985dc868735} 50 | RPABaseAPI 51 | 52 | 53 | 54 | 55 | {51E52F24-2771-41FC-8829-C9719D373AA0} 56 | 1 57 | 0 58 | 0 59 | tlbimp 60 | False 61 | True 62 | 63 | 64 | {2DF8D04C-5BFA-101B-BDE5-00AA0044DE52} 65 | 2 66 | 5 67 | 0 68 | primary 69 | False 70 | True 71 | 72 | 73 | {00062FFF-0000-0000-C000-000000000046} 74 | 9 75 | 4 76 | 0 77 | primary 78 | False 79 | True 80 | 81 | 82 | {00020430-0000-0000-C000-000000000046} 83 | 2 84 | 0 85 | 0 86 | primary 87 | False 88 | True 89 | 90 | 91 | 92 | 93 | Always 94 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /samples/02 - Walk Tree/02 - Walk tree.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {8F43A9A8-DE71-4CC2-AAF9-F39FABA76555} 8 | WinExe 9 | Walk_tree 10 | Walk tree 11 | v4.5.2 12 | 512 13 | true 14 | true 15 | 16 | 17 | 18 | AnyCPU 19 | true 20 | full 21 | false 22 | bin\Debug\ 23 | DEBUG;TRACE 24 | prompt 25 | 4 26 | 27 | 28 | AnyCPU 29 | pdbonly 30 | true 31 | bin\Release\ 32 | TRACE 33 | prompt 34 | 4 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | ResXFileCodeGenerator 54 | Resources.Designer.cs 55 | Designer 56 | 57 | 58 | True 59 | Resources.resx 60 | True 61 | 62 | 63 | Always 64 | 65 | 66 | SettingsSingleFileGenerator 67 | Settings.Designer.cs 68 | 69 | 70 | True 71 | Settings.settings 72 | True 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | {51E52F24-2771-41FC-8829-C9719D373AA0} 81 | 1 82 | 0 83 | 0 84 | tlbimp 85 | False 86 | True 87 | 88 | 89 | 90 | 91 | {90f0f94d-0faf-4c00-b91b-2985dc868735} 92 | RPABaseAPI 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /samples/01 - Most basic/01 - MostBasic.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {D4A3E63C-5233-4497-B271-69BB68AAA2D0} 8 | WinExe 9 | Prueba_Cartes_Form 10 | Prueba Cartes Form 11 | v4.6.1 12 | 512 13 | true 14 | true 15 | 16 | 17 | AnyCPU 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | AnyCPU 28 | pdbonly 29 | true 30 | bin\Release\ 31 | TRACE 32 | prompt 33 | 4 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | Always 53 | 54 | 55 | ResXFileCodeGenerator 56 | Resources.Designer.cs 57 | Designer 58 | 59 | 60 | True 61 | Resources.resx 62 | 63 | 64 | Always 65 | 66 | 67 | SettingsSingleFileGenerator 68 | Settings.Designer.cs 69 | 70 | 71 | True 72 | Settings.settings 73 | True 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | {51E52F24-2771-41FC-8829-C9719D373AA0} 82 | 1 83 | 0 84 | 0 85 | tlbimp 86 | False 87 | True 88 | 89 | 90 | 91 | 92 | {90f0f94d-0faf-4c00-b91b-2985dc868735} 93 | RPABaseAPI 94 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /samples/03 - Abort window and XML/03 - AbortAndXML.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {CAE766F2-D0B1-4EDC-97D1-9A066F8EBDB9} 8 | WinExe 9 | AbortAndXML 10 | AbortAndXML 11 | v4.5.2 12 | 512 13 | true 14 | 15 | 16 | 17 | AnyCPU 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | false 26 | 27 | 28 | AnyCPU 29 | pdbonly 30 | true 31 | bin\Release\ 32 | TRACE 33 | prompt 34 | 4 35 | false 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | ResXFileCodeGenerator 54 | Resources.Designer.cs 55 | Designer 56 | 57 | 58 | True 59 | Resources.resx 60 | True 61 | 62 | 63 | 64 | SettingsSingleFileGenerator 65 | Settings.Designer.cs 66 | 67 | 68 | True 69 | Settings.settings 70 | True 71 | 72 | 73 | Always 74 | 75 | 76 | 77 | 78 | {51E52F24-2771-41FC-8829-C9719D373AA0} 79 | 1 80 | 0 81 | 0 82 | tlbimp 83 | False 84 | True 85 | 86 | 87 | {87E4E2F7-3C74-4888-8CB0-3FDA0AE3D144} 88 | 1 89 | 0 90 | 0 91 | tlbimp 92 | False 93 | True 94 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /samples/06 - Miscellaneous/06 - Miscellaneous.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {AA184941-0D0C-442F-8D2A-3B0AE6881B8D} 8 | WinExe 9 | _06___Miscellaneous 10 | 06 - Miscellaneous 11 | v4.5.2 12 | 512 13 | true 14 | true 15 | 16 | 17 | AnyCPU 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | AnyCPU 28 | pdbonly 29 | true 30 | bin\Release\ 31 | TRACE 32 | prompt 33 | 4 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | ResXFileCodeGenerator 54 | Resources.Designer.cs 55 | Designer 56 | 57 | 58 | True 59 | Resources.resx 60 | 61 | 62 | Always 63 | 64 | 65 | SettingsSingleFileGenerator 66 | Settings.Designer.cs 67 | 68 | 69 | True 70 | Settings.settings 71 | True 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | {1f84c91f-9e88-45cc-bb34-23903a4899c6} 80 | ChromeLib 81 | 82 | 83 | {653265fc-a964-4460-945c-d9aba67b138a} 84 | IExplorerLib 85 | 86 | 87 | {90F0F94D-0FAF-4C00-B91B-2985DC868735} 88 | RPABaseAPI 89 | 90 | 91 | 92 | 93 | Always 94 | 95 | 96 | 97 | 98 | {51E52F24-2771-41FC-8829-C9719D373AA0} 99 | 1 100 | 0 101 | 0 102 | tlbimp 103 | False 104 | True 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /samples/03 - Images and OCR/Program.cs: -------------------------------------------------------------------------------- 1 | using Cartes; 2 | using MiTools; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Threading; 7 | using System.Windows.Forms; 8 | 9 | namespace ImagesOCR 10 | { 11 | static class Program 12 | { 13 | static private CartesObj cartes = new CartesObj(); 14 | 15 | [STAThread] 16 | static void Main() 17 | { 18 | DateTime start; 19 | RPAParameters parameters = new RPAParameters(), output = null; 20 | RPAWin32Component notepad = null, notepadclose = null, notepadeditor = null, 21 | notepadnosave = null, notepaddialog = null; 22 | String workingFile, language = "eng", imageCloseButton; 23 | 24 | start = DateTime.Now; 25 | workingFile = Environment.CurrentDirectory; 26 | imageCloseButton = workingFile + "\\closebutton.bmp"; 27 | cartes.open(workingFile + "\\library\\notepad2.rpa"); 28 | try 29 | { 30 | notepad = cartes.GetComponent("$Notepad"); 31 | notepadclose = cartes.GetComponent("$NotepadClose"); 32 | notepadeditor = cartes.GetComponent("$NotepadEditor"); 33 | notepadnosave = cartes.GetComponent("$NotepadNoSave"); 34 | notepaddialog = cartes.GetComponent("$NotepadDialog"); 35 | if (notepadeditor.componentexist(0) == 0) 36 | { 37 | cartes.run("notepad.exe"); 38 | notepadeditor.waitforcomponent(30); 39 | } 40 | notepad.ReSize(890, 600); 41 | notepad.Move(1, 5); 42 | notepad.focus(); 43 | notepad.SaveRectPartToFile(notepadclose.x - notepad.x, 44 | notepadclose.y - notepad.y, 45 | notepadclose.width, notepadclose.height, 46 | imageCloseButton); 47 | parameters.item[0] = imageCloseButton; 48 | output = notepad.FindPicture(parameters); 49 | if (output.item[0] == "1") 50 | { 51 | notepadeditor.TypeFromClipboard("RESULT : " + output.item[0] + "\r\n" + 52 | "X : " + output.item[1] + "\r\n" + 53 | "Y : " + output.item[2] + "\r\n" + 54 | "WIDTH : " + output.item[3] + "\r\n" + 55 | "HEIGHT : " + output.item[4] + "\r\n" + 56 | "INDEX : " + output.item[5] + "\r\n"); 57 | // I use the OCR directly on the screen with zoom 58 | string message = notepadeditor.RecognitionRatio(language, 1.3, 1); 59 | MessageBox.Show(message); 60 | // I use the OCR in an image file 61 | Thread.Sleep(2000); 62 | notepadeditor.focus(); 63 | notepadeditor.SaveRectToFile(imageCloseButton); 64 | message = "$OCR = new OCR;\r\n" + 65 | "ShowMessage($OCR.run(\"" + imageCloseButton + "\", \"" + language + "\"));\r\n"; 66 | cartes.Execute("$OCR = new OCR;\r\n" + 67 | "ShowMessage($OCR.run(\"" + imageCloseButton + "\", \"" + language + "\"));\r\n"); 68 | // Closing... 69 | notepad.clickon(int.Parse(output.item[1]) + int.Parse(output.item[3]) / 2, 70 | int.Parse(output.item[2]) + int.Parse(output.item[4]) / 2, 1); // I use the "ClickOn" function directly with the coordinates 71 | Thread.Sleep(1000); 72 | cartes.reset(notepadnosave.api()); 73 | notepadnosave.waitforcomponent(10); 74 | notepaddialog.SaveRectPartToFile(notepadnosave.x - notepaddialog.x, 75 | notepadnosave.y - notepaddialog.y, 76 | notepadnosave.width, notepadnosave.height, 77 | imageCloseButton); 78 | notepaddialog.ClickOnImage(true, imageCloseButton); 79 | } 80 | cartes.RegisterIteration(start, "ok", "Put your trace here in xml for your swarm", 1); 81 | cartes.forensic("This is a trace for the swarm log, and the Windows event viewer."); 82 | cartes.balloon("This example has opened the notepad and has shown how to use image recognition and OCR."); 83 | } 84 | finally 85 | { 86 | cartes.close(); 87 | MessageBox.Show("End"); 88 | } 89 | } 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /samples/04 - Project Structure/04 - Project Structure.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {6E840137-6BAE-4FF9-975E-96ACCB8374EC} 8 | WinExe 9 | Demo_Plugin_Visual_Studio 10 | Demo Plugin Visual Studio 11 | v4.5.2 12 | 512 13 | true 14 | true 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | AnyCPU 27 | true 28 | full 29 | false 30 | bin\Debug\ 31 | DEBUG;TRACE 32 | prompt 33 | 4 34 | 35 | 36 | AnyCPU 37 | pdbonly 38 | true 39 | bin\Release\ 40 | TRACE 41 | prompt 42 | 4 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | Always 63 | Designer 64 | 65 | 66 | ResXFileCodeGenerator 67 | Resources.Designer.cs 68 | Designer 69 | 70 | 71 | True 72 | Resources.resx 73 | True 74 | 75 | 76 | Always 77 | 78 | 79 | SettingsSingleFileGenerator 80 | Settings.Designer.cs 81 | 82 | 83 | True 84 | Settings.settings 85 | True 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | {51E52F24-2771-41FC-8829-C9719D373AA0} 94 | 1 95 | 0 96 | 0 97 | tlbimp 98 | False 99 | True 100 | 101 | 102 | 103 | 104 | {4c5df0d3-5892-46ee-92da-ed860cf69546} 105 | NotepadLib 106 | 107 | 108 | {90f0f94d-0faf-4c00-b91b-2985dc868735} 109 | RPABaseAPI 110 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /APIs/NotepadLib/Notepad.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Reflection; 6 | using System.Text; 7 | using System.Threading; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | using Cartes; 11 | using MiTools; 12 | using RPABaseAPI; 13 | 14 | namespace NotepadLib 15 | { 16 | public class Notepad : MyCartesAPIBase 17 | { 18 | private static bool loaded = false; 19 | private RPAWin32Component notepad = null, notepadclose = null, notepadnosave = null; 20 | 21 | public Notepad(MyCartesProcess owner) : base(owner) 22 | { 23 | } 24 | protected override void MergeLibrariesAndLoadVariables() 25 | { 26 | if (!loaded || (Execute("isVariable(\"$NotePadEditor\");") != "1")) 27 | { 28 | notepad = null; 29 | loaded = cartes.merge(CurrentPath + "\\Cartes\\NotepadLib.cartes.rpa") == 1; 30 | } 31 | if (notepadnosave == null) 32 | { 33 | notepad = GetComponent("$NotePadEditor"); 34 | notepadclose = GetComponent("$NotePadClose"); 35 | notepadnosave = GetComponent("$NotePadNoSave"); 36 | } 37 | } 38 | 39 | protected override string getNeededRPASuiteVersion() 40 | { 41 | return "3.0.1.0"; 42 | } 43 | protected void Open() 44 | { 45 | bool exit; 46 | DateTime timeout; 47 | RPAParameters parameters; 48 | 49 | parameters = new RPAParameters(); 50 | timeout = DateTime.Now.AddSeconds(60); 51 | exit = false; 52 | do 53 | { 54 | cartes.reset(notepad.api()); /* "reset" warns Cartes of changes in 55 | screen applications. Cartes reduces consumption of C.P.U. with 56 | this notice. The A.I. of Cartes presupposes these opportune 57 | notices in your source code. */ 58 | if (timeout < DateTime.Now) throw new Exception("Exhausted timeout opening Notepad."); 59 | else if (notepad.ComponentExist()) 60 | { 61 | parameters.clear(); 62 | parameters.item[0] = "900"; 63 | parameters.item[1] = "580"; 64 | notepad.doroot("resize", parameters); // This code is an example to use RPAParameters, 65 | // notepad.Root().ReSize(900, 580); because resizing is easier that way. 66 | exit = true; 67 | } 68 | else 69 | { 70 | cartes.run("notepad.exe"); 71 | notepad.waitforcomponent(30); 72 | } 73 | } while (!exit); 74 | } 75 | 76 | public override void Close() 77 | { 78 | bool exit; 79 | DateTime timeout; 80 | 81 | timeout = DateTime.Now.AddSeconds(120); 82 | exit = false; 83 | do 84 | { 85 | reset(notepad); /* "reset" warns Cartes of changes in 86 | screen applications. Cartes reduces consumption of C.P.U. with 87 | this notice. The A.I. of Cartes presupposes these opportune 88 | notices in your source code. */ 89 | Thread.Sleep(250); 90 | if (timeout < DateTime.Now) throw new Exception("Time out closing Notepad."); 91 | else if (notepadnosave.ComponentExist()) notepadnosave.click(); 92 | else if (notepadclose.ComponentExist()) notepadclose.click(); 93 | else exit = !notepad.ComponentExist(); 94 | } 95 | while (!exit); 96 | } 97 | public bool Exists() // The method returns true if notepad exists 98 | { 99 | reset(notepad); 100 | return notepad.ComponentExist(); 101 | } 102 | public void Write (string value) 103 | { 104 | bool exit; 105 | DateTime timeout; 106 | 107 | timeout = DateTime.Now.AddSeconds(60); 108 | exit = false; 109 | do 110 | { 111 | cartes.reset(notepad.api()); /* "reset" warns Cartes of changes in 112 | screen applications. Cartes reduces consumption of C.P.U. with 113 | this notice. The A.I. of Cartes presupposes these opportune 114 | notices in your source code. */ 115 | if (timeout < DateTime.Now) throw new Exception("Exhausted timeout opening Notepad."); 116 | else if (notepad.componentexist(0) == 1) 117 | { 118 | AssignValueInsistently(timeout, notepad, value, false); 119 | notepad.focus(); 120 | exit = true; 121 | } 122 | else Open(); 123 | }while (!exit); 124 | } 125 | } 126 | } 127 | -------------------------------------------------------------------------------- /samples/02 - DoChild/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /samples/01 - Most basic/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /samples/02 - Walk Tree/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /samples/06 - Miscellaneous/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /samples/03 - Images and OCR/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /samples/04 - Project Structure/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /samples/05 - Outlook and Excel/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /samples/03 - Abort window and XML/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /RPABaseAPI/MyCartesAPIBase.cs: -------------------------------------------------------------------------------- 1 | using Cartes; 2 | using MiTools; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Runtime.InteropServices; 7 | using System.Text; 8 | using System.Threading; 9 | using System.Windows.Forms; 10 | 11 | namespace RPABaseAPI 12 | { 13 | public abstract class MyCartesAPIBase : MyCartesAPI 14 | { 15 | public MyCartesAPIBase(MyCartesProcess owner) : base(owner) 16 | { 17 | } 18 | protected override void UnMergeLibrariesAndUnLoadVariables() // Normally, you don't need to do anything to download the library. 19 | { 20 | } 21 | } 22 | 23 | public class ClassVisualStudio : MyCartesAPIBase 24 | { 25 | private static bool loaded = false; 26 | private RPAWin32Component vsWindow = null; 27 | private RPAWin32Automation vsClose = null; 28 | 29 | public ClassVisualStudio(MyCartesProcess owner) : base(owner) 30 | { 31 | } 32 | 33 | protected override void MergeLibrariesAndLoadVariables() 34 | { 35 | if (!loaded || !isVariable("$VisualStudio")) 36 | { 37 | loaded = cartes.merge(CurrentPath + "\\Cartes\\VisualStudio.rpa") == 1; 38 | } 39 | if (vsWindow == null) 40 | { 41 | vsWindow = GetComponent("$VisualStudio"); 42 | vsClose = GetComponent("$VisualStudioClose"); 43 | } 44 | } 45 | protected override void UnMergeLibrariesAndUnLoadVariables() 46 | { 47 | loaded = false; 48 | vsWindow = null; 49 | } 50 | 51 | public override void Close() 52 | { 53 | bool exit; 54 | DateTime timeout; 55 | 56 | timeout = DateTime.Now.AddSeconds(120); 57 | exit = false; 58 | while (!exit) 59 | { 60 | cartes.reset(vsWindow.api()); 61 | Thread.Sleep(200); 62 | if (timeout < DateTime.Now) throw new Exception("Time out closing Visual Studio."); 63 | else try 64 | { 65 | if (vsClose.componentexist(0) == 1) vsClose.click(0); 66 | else if (vsWindow.componentexist(0) != 1) exit = true; 67 | } 68 | catch (Exception e) 69 | { 70 | forensic("ClassVisualStudio::Close", e); 71 | } 72 | } 73 | } 74 | public virtual bool Minimize() // Minimize the Visual Studio 75 | { 76 | bool result = false; 77 | 78 | if (vsWindow.componentexist(0) == 1) 79 | { 80 | RPAWin32Component lpWindow = vsWindow.Root(); 81 | if ((lpWindow.Visible == 1) && !StringIn(lpWindow.WindowState, "Minimized")) 82 | lpWindow.Show("Minimize"); 83 | } 84 | return result; 85 | } 86 | public virtual bool Restore() // Restore the Visual Studio 87 | { 88 | bool result = false; 89 | 90 | if (vsWindow.componentexist(0) == 1) 91 | { 92 | RPAWin32Component lpWindow = vsWindow.Root(); 93 | if (StringIn(lpWindow.WindowState, "Minimized", "Maximized")) 94 | lpWindow.Show("Restore"); 95 | } 96 | return result; 97 | } 98 | } 99 | 100 | public abstract class MyCartesProcessBase : MyCartesProcess 101 | { 102 | private ClassVisualStudio fVS = null; 103 | 104 | public MyCartesProcessBase() : base("$Abort") 105 | { 106 | } 107 | 108 | protected override void MergeLibrariesAndLoadVariables() 109 | { 110 | try 111 | { 112 | cartes.merge(CurrentPath + "\\Cartes\\RPABaseAPI.cartes.rpa"); 113 | base.MergeLibrariesAndLoadVariables(); 114 | } 115 | catch (Exception e) 116 | { 117 | forensic("MyCartesProcessBase.MergeLibrariesAndLoadVariables", e); 118 | throw new MyException(EXIT_ERROR, e.Message); 119 | } 120 | } 121 | protected override bool DoInit() 122 | { 123 | VisualStudio.Minimize(); 124 | return base.DoInit(); 125 | } 126 | protected override void DoEnd() 127 | { 128 | VisualStudio.Restore(); 129 | base.DoEnd(); 130 | } 131 | protected static DateTime GetFormatDateTime(string mask, string value) 132 | { 133 | CE_Data.DateTime dt = new CE_Data.DateTime(); 134 | dt.Text[mask] = value; 135 | return new DateTime(int.Parse(dt.Text["yyyy"]), int.Parse(dt.Text["mm"]), int.Parse(dt.Text["dd"]), 136 | int.Parse(dt.Text["hh"]), int.Parse(dt.Text["nn"]), int.Parse(dt.Text["ss"])); 137 | } 138 | protected virtual ClassVisualStudio GetVisualStudio() 139 | { 140 | if (fVS == null) fVS = new ClassVisualStudio(this); 141 | return fVS; 142 | } 143 | 144 | public override void Close() 145 | { 146 | int i; 147 | 148 | i = 0; 149 | while (i < GetApis()) 150 | { 151 | try 152 | { 153 | if (GetApi(i) is ClassVisualStudio vs) 154 | { 155 | // Nothing to do 156 | } 157 | else GetApi(i).Close(); 158 | } 159 | catch (Exception e) 160 | { 161 | forensic("MyCartesProcessBase::Close()\r\n" + "GetApi(" + i.ToString() + ").Close()", e); 162 | } 163 | i++; 164 | } 165 | } 166 | 167 | public ClassVisualStudio VisualStudio 168 | { 169 | get { return GetVisualStudio(); } 170 | } // Read 171 | } 172 | } 173 | -------------------------------------------------------------------------------- /samples/05 - Outlook and Excel/SampleOutlook.cs: -------------------------------------------------------------------------------- 1 | using MiTools; 2 | using OutlookLib; 3 | using RPABaseAPI; 4 | using System; 5 | using System.Collections.Generic; 6 | using System.IO; 7 | using System.Linq; 8 | using System.Runtime.InteropServices; 9 | using System.Text; 10 | using System.Threading; 11 | using System.Threading.Tasks; 12 | using System.Windows.Forms; 13 | using System.Xml; 14 | using Excel = Microsoft.Office.Interop.Excel; 15 | using Outlook = Microsoft.Office.Interop.Outlook; 16 | 17 | namespace Outlook_and_Excel 18 | { 19 | public class SampleOutlook : MyCartesProcessBase 20 | { 21 | private string fExcelFile; 22 | private OutlookAPI fOutlook; 23 | 24 | public SampleOutlook() : base() 25 | { 26 | fExcelFile = null; 27 | fOutlook = null; 28 | ShowAbort = true; 29 | } 30 | 31 | protected override string getNeededRPASuiteVersion() 32 | { 33 | return "3.2.1.0"; 34 | } 35 | protected override string getRPAMainFile() 36 | { 37 | return CurrentPath + "\\Cartes\\Outlook and Excel.cartes.rpa"; 38 | } 39 | protected override void LoadConfiguration(XmlDocument XmlCfg) 40 | { 41 | fExcelFile = ToString(XmlCfg.SelectSingleNode("//emails")); 42 | if (File.Exists(fExcelFile)) 43 | fExcelFile = Path.GetFullPath(fExcelFile); 44 | else throw new Exception("\"" + fExcelFile + "\" is not a file"); 45 | } 46 | protected override void DoExecute(ref DateTime start) 47 | { 48 | Excel.Application objExl; 49 | bool ReadOnly = true, lbExit; 50 | int row, i, j; 51 | string EmailTo, EmailSubject, EmailMessage; 52 | 53 | objExl = new Excel.Application(); 54 | try 55 | { 56 | objExl.DisplayAlerts = false; 57 | objExl.Visible = true; 58 | Excel.Workbook wb = objExl.Workbooks.Open(ExcelFile, false, ReadOnly); 59 | try 60 | { 61 | Excel.Worksheet xlWorkSheet = wb.Worksheets.get_Item(1); 62 | try 63 | { 64 | Outlook.VisibleMode = true; 65 | // I go through Excel to send all the emails 66 | lbExit = false; 67 | row = 2; 68 | do 69 | { 70 | CheckAbort(); 71 | EmailTo = ToString(xlWorkSheet.Cells[row, "A"].Text).Trim(); 72 | if (EmailTo.Length == 0) lbExit = true; 73 | else 74 | { 75 | Balloon(EmailTo); 76 | EmailSubject = ToString(xlWorkSheet.Cells[row, "B"].Text).Trim(); 77 | EmailMessage = ToString(xlWorkSheet.Cells[row, "C"].Text).Trim(); 78 | Outlook.SendEmail(EmailTo, EmailSubject, EmailMessage); 79 | } 80 | row++; 81 | } while (!lbExit); 82 | // I go through all the emails in the inbox 83 | List folders = new List(); 84 | folders.Add(Outlook.Inbox); 85 | j = 0; 86 | i = 0; 87 | while ((i < folders.Count) && (j < 200)) 88 | { 89 | CheckAbort(); 90 | Outlook.MAPIFolder folder = folders.ElementAt(i); 91 | row = 1; 92 | while (row <= folder.Folders.Count) // I add all the folders 93 | { 94 | folders.Add(Outlook.Inbox.Folders[row]); 95 | row++; 96 | } 97 | row = 1; 98 | while (row <= folder.Items.Count) // I show all the emails 99 | { 100 | CheckAbort(); 101 | dynamic item = folder.Items[row]; 102 | if (item is Outlook.MailItem mail) 103 | Balloon(folder.Name + LF + mail.SenderEmailAddress + LF + mail.Subject); 104 | else if (item is Outlook.ReportItem report) 105 | Balloon(folder.Name + LF + report.Subject); 106 | row++; 107 | j++; 108 | } 109 | i++; 110 | } 111 | } 112 | finally 113 | { 114 | Marshal.FinalReleaseComObject(xlWorkSheet); 115 | xlWorkSheet = null; 116 | } 117 | } 118 | finally 119 | { 120 | wb.Close(false); 121 | Marshal.FinalReleaseComObject(wb); 122 | wb = null; 123 | } 124 | } 125 | finally 126 | { 127 | try 128 | { 129 | objExl.Visible = false; 130 | } 131 | finally 132 | { 133 | try 134 | { 135 | objExl.Quit(); 136 | Marshal.FinalReleaseComObject(objExl); 137 | objExl = null; 138 | } 139 | catch { } 140 | } 141 | } 142 | } 143 | 144 | public string ExcelFile 145 | { 146 | get { return fExcelFile; } 147 | } 148 | public OutlookAPI Outlook 149 | { 150 | get 151 | { 152 | if (fOutlook == null) 153 | fOutlook = new OutlookAPI(this); 154 | return fOutlook; 155 | } 156 | } 157 | } 158 | } 159 | -------------------------------------------------------------------------------- /samples/05 - Outlook and Excel/05 - Outlook and Excel.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {44B4E0FF-B8C4-46A8-A832-FDC0B6682F82} 8 | WinExe 9 | _05___Outlook_and_Excel 10 | 05 - Outlook and Excel 11 | v4.5.2 12 | 512 13 | true 14 | true 15 | 16 | 17 | AnyCPU 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | AnyCPU 28 | pdbonly 29 | true 30 | bin\Release\ 31 | TRACE 32 | prompt 33 | 4 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | Always 54 | 55 | 56 | ResXFileCodeGenerator 57 | Resources.Designer.cs 58 | Designer 59 | 60 | 61 | True 62 | Resources.resx 63 | 64 | 65 | Always 66 | 67 | 68 | Always 69 | 70 | 71 | SettingsSingleFileGenerator 72 | Settings.Designer.cs 73 | 74 | 75 | True 76 | Settings.settings 77 | True 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | {75bd77ff-53c2-4060-a4a1-9d75e9f1da9f} 86 | OutlookLib 87 | 88 | 89 | {90f0f94d-0faf-4c00-b91b-2985dc868735} 90 | RPABaseAPI 91 | 92 | 93 | 94 | 95 | {2DF8D04C-5BFA-101B-BDE5-00AA0044DE52} 96 | 2 97 | 5 98 | 0 99 | primary 100 | False 101 | True 102 | 103 | 104 | {00020813-0000-0000-C000-000000000046} 105 | 1 106 | 7 107 | 0 108 | primary 109 | False 110 | True 111 | 112 | 113 | {00062FFF-0000-0000-C000-000000000046} 114 | 9 115 | 4 116 | 0 117 | primary 118 | False 119 | True 120 | 121 | 122 | {00020430-0000-0000-C000-000000000046} 123 | 2 124 | 0 125 | 0 126 | primary 127 | False 128 | True 129 | 130 | 131 | {0002E157-0000-0000-C000-000000000046} 132 | 5 133 | 3 134 | 0 135 | primary 136 | False 137 | True 138 | 139 | 140 | 141 | --------------------------------------------------------------------------------