Download ElektroKit Framework for .NET


ElektroKit Framework for .NET

What is ElektroKit?

ElektroKit is a utility framework containing new APIs and extensions to the core .NET Framework to help complete your developer toolbox.

It is a set of general purpose classes provided as easy to consume packages.

These utility classes and components provide productivity in day to day software development mainly focused to WindowsForms. Many of these tools and components have been published individually in articles, forums or blog entries and there have been many requests to publish them as a supported and consolidated library, which turned into this unified toolkit that is integrated, documented and fully supported.

What’s in it?

ElektroKit is made up of the following assemblies:

  • ElektroKit.Core.dll
  • ElektroKit.Interop.dll
  • ElektroKit.ThirdParty.dll
  • ElektroKit.UserControls.dll
    Contains the user controls for WinForms user-interface.

What can do ElektroKit for me?

It’s impossible to summarize all the functionalities in a single article, but here is a list of interesting things that you could do with ElektroKit:

  • ElektroKit.Core
    Extend IEnumerable types by adding extension-methods to find-by-index an element, split a collection into a number of sequences, randomize, bubble-sorting, etc…
    Use a stack or queue with fixed capacity, with the FixedStack(Of T) and FixedQueue(Of T) types.
    Permute all the possible sequences of characters.
    Convert an amount of time, from unit of time to other.
    Measure time as a chronometer or a countdown in a event-oriented way with the TimeMeasurer class.
    Manage a simple logfile system with the LogfileWriter class.
    Retrieve the current Visual Studio instance for further debug or automation operations.
    Test the execution of a target member and the time that the member takes to finish execution.
    A keyboard hook in a event-oriented way, with the KeyboardMonitor class.
    A mouse hook in a event-oriented way, with the MouseMonitor class.
    A mouse recorder (macro) with the MouseRecorder class.
    A shortcut manager to create or edit shortcuts, with the Shortcuts class.
    A file splitter and a file merger, with the FileSplitter class.
    The Files class that contains helper methods to set the user-rights of a file, manipulate file attributes, find files by patterns, compare files byte-by-byte, create dummy files, etc…
    The Directories class that contains helper methods set the user-rights of a directory, manipulate directory attributes, find directories by patterns, get the size of a directory, etc…
    The Hardware class that helps to format a drive, list drives of specific drive-type, getting hardware identifiers (Cpu, Motherdoard) or print a document, etc…
    The DriveWatcher class that notifies about hardware changes about the insertion or removal of drives (eg. useful for USB monitoring).
    The FileCopy class that copies files reporting the copy-progress by firing evenets, and can cancel a copy operation.
    Calculate percentages, determine if number is multiple by, divisible by, prime, positive, negative, etc…
  • Split-by-length, rename in a specific string-case, randomize, measure, determine its size in memory or textfile, reverse, rotate/shift, and much more like custom Find-by-RegEx and Replace-by-RegEx utilities’
    The Patterns class that exposes common regular expression patterns.
    Beuautify Xml documents.
    Get X-Paths of Xml documents.
    Sort or distinct Xml documents by name of element.
  • ElektroKit.Core.Application
    Enumerate the loaded assemblies of the current application.
    Enumerate the threads of the current application.
    Register system-wide hotkeys with the Hotkey type.
    Represent command-line parameters for CLI applications, with the CommandlineParameter type.
    Serialize and deserialize objects as Binary, Xml, or JSon formats.
    The always useful ExtractResourceToDisk which extracts a managed resource to local disk.
    Create and manage INI files for your portable application with the IniManager class.
    Create, save and load MRU lists with the MruUtil class and MruItem type.
    Retrieve any setting from the AppConfig file with the GetAppConfigSetting function.
    Dock your application window to any border of the screen with the WindowToScreenDocker class.
    Dock your application window to other windows on the screen with the WindowToWindowDocker class.
    Add magnetism to the borders of your window with the WindowMagnetizer class.
    Lock the parts that composes your window with the WindowLocker class.
    Add an Undo/Redo mechanism for your controls with the UndoRedo class and their inheritances.
    Resize controls at run-time by dragging the control, with the ControlResizer class.
    Manage the hints (cue-banners) of your controls, with the ControlHintManager class.
    Drag controls at run-time with the ControlDragger class.
    Make a borderless Form moveable with the FormDragger’ class.
  • Generate captchas for your application with the CaptchaGenerator class and the Captcha type.
    Load true-type fonts from a resource or filepath, with the FontData class.
    Animate forms, center to other forms, activate full-screen mode and other single tasks with the GuiUtil class.
  • ElektroKit.Core.Imaging
    Take screenshots from a screen, a Form, a region, or an object with the ImageUtil class.
    Let the end-user select a region on the screen in a event-oriented way with the ScreenRegionSelector class.
    Transform images into black-and-white or grayscale, set the brightness, gamma, opacity or contrast of a image, resize or scale a image, and much more…
  • ElektroKit.Interop
    The WindowsDataTypes class assists for the creation or manipulation between some unmanaged types (WORD, DWORD, DWORDLONG, etc).
    The Win32 namespace which exposes all the dependant P/invokes of ElektroKit (and a lot of non-dependant more, such as ll-hooks) to arbitrary use them wherever in your applications.
  • ElektroKit.Core.Multimedia
    Record and play Wave files with the WaveRecorder class.
    Play, pause and seek audio files like an audio player with the AudioPlayer class.
    Create or edit playlists with the PlaylistEditor class.
    Convert karaoke lyrics with the LyricUtil class.
  • ElektroKit.Core.Net
    Validate an ip, url, or an email.
    A pinger, and a port-scanner.
    A huge list of known mimetypes and they file-extension relationship’
  • Determine if network or specific webpage is available.
    Manage the Windows Firewall, enable or disable it, and add or remove firewall rules, with the FirewallUtil class.
    Monitors the network traffic by firing events to notify about changes, with the NetworkTrafficMonitor class.
    Monitors the network traffic of the current process by firing events to notify about changes, with the ProcessTrafficMonitor class.
    Translate between languages with the GoogleTranslator class.
    Geo-locate addresses, download files, upload to FTP, or send emails using Gmail, etc…
  • ElektroKit.Core.Processes
    Monitors the execution and closure of processes, with the ProcessMonitor class.
    Kill or close processes by their name, do WMI queries for processes, run and wait until a process is fully loaded, etc…
    Manages the creation and manipulation of shared-memory blocks with another application, with the SharedMemory class.
    Automate external processes, move or resize windows, modify text of an edit-control, flash a window, etc. with the UIAutomation class.
  • ElektroKit.Core.System
    Launch a controlpanel applet, arrange desktop icons, show or hide the desktop or taskbar…
    Add a file to recent docs, pin or unpin a file into taskbar or startmenu, refresh the windows explorer instances…
    The Theming namespace that manages the personalization of system cursors, wallpapers, fonts, screen saver, and visual themes.
    The Tweaking namespace that exposes a way to tweak various operating system properties.
    The Registry class that exposes helper methods to create, find, remove, and manipulate registry keys in general.
    The UserAccounts class that exposes helper methods to add, find, remove or edit user accounts.
    Manage the address mappings of the HOSTS file with the Hosts class.
    Manage the recycle-bins and their items inside with the RecycleBin class.
    Manage the environment variables with the EnvironmentVariables class.
    Manage the PATH and EXTPATH content with the EnvironmentPath class.
    Add or remove items to windows startup with the WinStartup class.
  • ElektroKit.ThirdParty
    A lot of command-line wrappers for 3rd part applications.

Documentation

All the members of ElektroKit source-code are documented and exposed in different ways.

Offline documentation is available as .chm file included in the package.

Note there are a lot of code examples for most of the ElektroKit members which can be a good starting place, like this random example:

The code examples are also available in the source-code as part of the Xml documentation.

An xample of the Xml documentation format:

An example of Intellisense preview at design-time:

Dependencies

Various members of the ElektroKit solution depends on the ElektroKit.Core assembly or other assemblies that are part of the solution. Note that any required assembly will be warned by Visual Studio, so don’t worry about.

Some members of the ElektroKit.Core.Application and ElektroKit.Core.System namespaces depends on WindowsAPICodePack API, which is included in the package, but also can be downloaded from here:

https://github.com/aybe/Windows-API-Code-Pack-1.1

Note that there is no need to reference the WindowsAPICodePack assemblies in your application as long as you don’t need to use the members that requires it, and the same for the other Elektro* assemblies.

Version 2.5

Added:
  • This is a partial list of members that were added in this new release. There are more than 150 new members (including method overloads). ElektroKit.Core.Application.Tools.AppUtil.BrowserEmulationMode ElektroKit.Core.Application.Tools.AppUtil.GetIEBrowserEmulationMode (+1 overloads) ElektroKit.Core.Application.Tools.AppUtil.SetIEBrowserEmulationMode (+1 overloads) ElektroKit.Core.Application.Types.CommandLineArgumentsNotifier ElektroKit.Core.Application.Types.EventArgs.CommandLineArgumentsEventArgs ElektroKit.Core.Application.UserInterface.Types.NativeWindowEventNotifier ElektroKit.Core.Enums.Currencies ElektroKit.Core.Extensions.Control.GetControlStyle ElektroKit.Core.Extensions.Control.SetControlStyle ElektroKit.Core.Extensions.Form.GetHorizontalBorderSize ElektroKit.Core.Extensions.Form.GetTitleBarBounds ElektroKit.Core.Extensions.Form.GetVerticalBorderSize ElektroKit.Core.Extensions.Form.LockFormRegionToControls (+1 overloads) ElektroKit.Core.Extensions.HtmlDocument.GetCookieCollection ElektroKit.Core.Extensions.HtmlDocument.GetCookieContainer ElektroKit.Core.Extensions.NameValueCollection.ToUri ElektroKit.Core.Extensions.Screen.CreateDeviceContext ElektroKit.Core.Extensions.Screen.GetScreenHandle ElektroKit.Core.Extensions.WebBrowser.GetCookieCollection ElektroKit.Core.Extensions.WebBrowser.GetCookieContainer ElektroKit.Core.IO.Tools.Directories.GetSymbolicLinkTarget (+1 overloads) ElektroKit.Core.IO.Tools.Directories.IsSymbolicLink (+1 overloads) ElektroKit.Core.IO.Tools.Files.GetSymbolicLinkTarget (+1 overloads) ElektroKit.Core.IO.Tools.Files.IsSymbolicLink (+1 overloads) ElektroKit.Core.NET.Enums.IEBrowserEmulationMode ElektroKit.Core.NET.Tools.CryptocurrencyUtil ElektroKit.Core.NET.Tools.CryptocurrencyUtil.GetCryptoCurrencyPrice ElektroKit.Core.NET.Tools.CryptocurrencyUtil.GetCryptoCurrencyPriceAsync ElektroKit.Core.NET.Types.CryptoCurrencies.Bitcoin ElektroKit.Core.NET.Types.CryptoCurrencies.Cardano ElektroKit.Core.NET.Types.CryptoCurrencies.Dash ElektroKit.Core.NET.Types.CryptoCurrencies.Ethereum ElektroKit.Core.NET.Types.CryptoCurrencies.LiteCoin ElektroKit.Core.NET.Types.CryptoCurrencies.Ripple ElektroKit.Core.NET.Types.ElektroWebClient ElektroKit.Core.NET.Types.EventArgs.MailMessageArrivedEventArgs ElektroKit.Core.NET.Types.Exceptions.DisposableMailExpiredException ElektroKit.Core.NET.Types.ICryptocurrency ElektroKit.Core.NET.Types.IDisposableMail ElektroKit.Core.NET.Types.TenMinuteMail ElektroKit.Core.Processes.IPC.Tools.SharedMemory.Write <GENERIC> (+1 overloads) ElektroKit.Core.Processes.IPC.Tools.SharedMemory.WriteAt <GENERIC> (+1 overloads) ElektroKit.Core.Threading.Enums.ElektroBackgroundWorkerState ElektroKit.Core.Threading.Types.ElektroBackgroundWorker ElektroKit.Core.Types.LazyAsync ElektroKit.Interop.Win32.Enums.CreateFileFlags ElektroKit.Interop.Win32.Enums.DirectoryManagementControlCodes ElektroKit.Interop.Win32.Enums.FileAccessRights ElektroKit.Interop.Win32.Enums.ReparseDataBufferFlags ElektroKit.Interop.Win32.Enums.ReparsePointTags ElektroKit.Interop.Win32.NativeMethods.CreateFile (+5 overloads) ElektroKit.Interop.Win32.NativeMethods.DeviceIoControl (+1 overloads) ElektroKit.Interop.Win32.NativeMethods.SetWindowTheme ElektroKit.Interop.Win32.Types.ReparseDataBuffer ElektroKit.ThirdParty.Google.Gmail.Types.GmailClient.DeleteMessage ElektroKit.ThirdParty.Google.Gmail.Types.GmailClient.GetFolderByDisplayName ElektroKit.ThirdParty.Google.Gmail.Types.GmailClient.GetFolderById ElektroKit.ThirdParty.Google.Gmail.Types.GmailClient.GetFolderByKnownId ElektroKit.ThirdParty.Google.Gmail.Types.GmailClient.GetMessages ElektroKit.ThirdParty.Google.Gmail.Types.GmailClient.RecycleMessage ElektroKit.ThirdParty.Google.Gmail.Types.GmailClient.SendMessageHtml (+12 overloads) ElektroKit.ThirdParty.Google.Gmail.Types.GmailClient.SendMessageHtmlAsync (+12 overloads) ElektroKit.ThirdParty.Google.Gmail.Types.GmailClient.SendMessageText (+12 overloads) ElektroKit.ThirdParty.Google.Gmail.Types.GmailClient.SendMessageTextAsync (+12 overloads) ElektroKit.ThirdParty.HtmlAgilityPack.Extensions.HtmlNode ElektroKit.ThirdParty.HtmlAgilityPack.Extensions.String ElektroKit.ThirdParty.HtmlAgilityPack.Extensions.WebResponse

Version 2.4

Added
  • This is the full list of members that were added in this new release. Remember that (almost)all the members have a code sample available in the documentation files. Abstract Classes and Namespaces: ElektroKit.Core.Extensions.Mutex ElektroKit.Core.Extensions.SplitContainer ElektroKit.Core.Extensions.XmlNodeList ElektroKit.Interop.Tools.RegistrationUtil ElektroKit.Interop.Tools.VisualStudioUtil Types: ElektroKit.Core.Application.Types.StringLengthComparer ElektroKit.Core.Application.UserInterface.Types.ConsoleProgressBar ElektroKit.Core.Maths.Types.ChemicalElement ElektroKit.Core.Text.Types.FormattableString ElektroKit.Core.Types.LazyAsync<T> ElektroKit.Interop.Win32.Types.ConsoleCoordinate (COORD) ElektroKit.Interop.Win32.Types.LastInputInfo ElektroKit.Interop.Win32.Types.MemoryBasicInformation ElektroKit.Interop.Win32.Types.MiniDumpCallbackInformation ElektroKit.Interop.Win32.Types.MiniDumpCallbackInput ElektroKit.Interop.Win32.Types.MiniDumpCallbackOutput ElektroKit.Interop.Win32.Types.MiniDumpCancelCallbackOutput ElektroKit.Interop.Win32.Types.MiniDumpExceptionInformation ElektroKit.Interop.Win32.Types.MiniDumpIncludeModuleCallback ElektroKit.Interop.Win32.Types.MiniDumpIncludeThreadCallback ElektroKit.Interop.Win32.Types.MiniDumpIOCallback ElektroKit.Interop.Win32.Types.MiniDumpMemoryCallbackOutput ElektroKit.Interop.Win32.Types.MiniDumpMemoryInfo ElektroKit.Interop.Win32.Types.MiniDumpMemoryInfoCallbackOutput ElektroKit.Interop.Win32.Types.MiniDumpModuleCallback ElektroKit.Interop.Win32.Types.MiniDumpReadMemoryFailureCallback ElektroKit.Interop.Win32.Types.MiniDumpThreadCallback ElektroKit.Interop.Win32.Types.MiniDumpThreadExCallback ElektroKit.Interop.Win32.Types.MiniDumpUserStream ElektroKit.Interop.Win32.Types.MiniDumpUserStreamInformation ElektroKit.Interop.Win32.Types.MutexBasicInformation (MutantBasicInformation) ElektroKit.Interop.Win32.Types.MutexOwnerInformation (MutantOwnerInformation) ElektroKit.Interop.Win32.Types.SecurityAttributes ElektroKit.Interop.Win32.Types.VersionInfoFixedFileInfo Properties: ElektroKit.Core.Application.Tools.AppUtil.AssemblyGuid <System.Guid> ElektroKit.Core.Application.Tools.AppUtil.IsCurrentAssemblyInGAC <System.Boolean> ElektroKit.Core.Application.UserInterface.Tools.Console.ConsoleUtil.DisplayMode <ElektroKit.Interop.Win32.Enums.ConsoleDisplayMode> ElektroKit.Core.System.Tools.SystemInfo.Windows.SystemIdleTime <System.TimeSpan> Methods: ElektroKit.Core.Application.UserInterface.Tools.Graphical.GraphicalUtil.ShakeControl ElektroKit.Core.Application.UserInterface.Tools.Graphical.GraphicalUtil.ShakeForm ElektroKit.Core.Diagnostics.Tools.DebugUtil.MiniDumpToFile [+1 overloads] ElektroKit.Core.Extensions.SplitContainer.ChangeOrientation ElektroKit.Core.Processes.Tools.ProcessUtil.SetProcessSecurityDescriptor [+2 overloads] ElektroKit.Interop.Tools.RegistrationUtil.GACInstallAssembly [+2 overloads] ElektroKit.Interop.Tools.RegistrationUtil.GACUninstallAssembly [+2 overloads] ElektroKit.ThirdParty.Google.Drive.DriveClient.DownloadFile [+2 overloads] ElektroKit.ThirdParty.ScintillaNet.Tools.ScintillaNetUtil.AddLineNumbers ElektroKit.ThirdParty.ScintillaNet.Tools.ScintillaNetUtil.DisableControlKeysPrint ElektroKit.ThirdParty.ScintillaNet.Tools.ScintillaNetUtil.EnableControlKeysPrint ElektroKit.ThirdParty.ScintillaNet.Tools.ScintillaNetUtil.RemoveLineNumbers [+1 overloads] ElektroKit.ThirdParty.ScintillaNet.Tools.ScintillaNetUtil.SetCSharpDarkStyle ElektroKit.ThirdParty.ScintillaNet.Tools.ScintillaNetUtil.SetCSharpLightStyle ElektroKit.ThirdParty.ScintillaNet.Tools.ScintillaNetUtil.SetCSharpSystemStyle ElektroKit.ThirdParty.ScintillaNet.Tools.ScintillaNetUtil.SetVbNetSystemStyle Functions: ElektroKit.Core.Application.Tools.AppUtil.CreateMutex [+2 overloads] <System.Threading.Mutex> ElektroKit.Core.Diagnostics.Tools.DebugUtil.EvaluateStructureInstanceSize <System.Boolean> ElektroKit.Core.Diagnostics.Tools.DebugUtil.MiniDumpToMemoryStream [+1 overloads] <System.IO.MemoryStream> ElektroKit.Core.Extensions.Mutex.GetOwnerProcess <System.Diagnostics.Process> ElektroKit.Core.Extensions.Mutex.GetOwnerProcessId <System.Int32> ElektroKit.Core.Extensions.Mutex.GetOwnerThreadId <System.Int32> ElektroKit.Core.Extensions.Mutex.IsAbandoned <System.Boolean> ElektroKit.Core.Extensions.Mutex.IsOwnedByCaller <System.Boolean> ElektroKit.Core.Extensions.XmlNodeList.ToDataTable <System.Data.DataTable> ElektroKit.Core.Maths.Tools.CombinatoricsUtil.CalculatePermutations [+1 overloads] <System.Int64> ElektroKit.Core.NET.Tools.WebUtil.PostXmlHttpRequest [+5 overloads] <System.Xml.Linq.XDocument> ElektroKit.Core.NET.Tools.WebUtil.PostXmlHttpRequestAsync [+5 overloads] <Task(Of System.Xml.Linq.XDocument)> ElektroKit.Core.Processes.Tools.ProcessUtil.GetProcessSecurityDescriptor [+2 overloads] <System.Security.AccessControl.RawSecurityDescriptor> ElektroKit.Core.Text.Tools.Textfiles.GetEncoding [+1 overloads] <System.Text.Encoding> ElektroKit.Interop.Tools.CompilerUtil.TelerikCodeConvert <String> ElektroKit.Interop.Tools.CompilerUtil.TelerikCodeConvertAsync <Task(Of String)> ElektroKit.Interop.Tools.ReflectionUtil.GetAllConstructors <IEnumerable(Of ConstructorInfo)> ElektroKit.Interop.Tools.ReflectionUtil.GetAllEnums <IEnumerable(Of Type)> ElektroKit.Interop.Tools.ReflectionUtil.GetAllFields <IEnumerable(Of FieldInfo)> ElektroKit.Interop.Tools.ReflectionUtil.GetAllInterfaces <Type()> ElektroKit.Interop.Tools.ReflectionUtil.GetAllMethods <IEnumerable(Of MethodInfo)> ElektroKit.Interop.Tools.ReflectionUtil.GetAllProperties <IEnumerable(Of PropertyInfo)> ElektroKit.Interop.Tools.ReflectionUtil.TypeHasPublicConstructor <System.Boolean> ElektroKit.Interop.Tools.ReflectionUtil.TypeHasPublicDefaultConstructor <System.Boolean> ElektroKit.Interop.Tools.RegistrationUtil.IsAssemblyInGAC [+2 overloads] <System.Boolean> ElektroKit.Interop.Tools.RegistrationUtil.RegisterManagedAssembly [+2 overloads] <System.Boolean> ElektroKit.Interop.Tools.RegistrationUtil.RegisterNativeDll [+1 overloads] <System.Boolean> ElektroKit.Interop.Tools.RegistrationUtil.UnregisterManagedAssembly [+2 overloads] <System.Boolean> ElektroKit.Interop.Tools.RegistrationUtil.UnregisterNativeDll [+1 overloads] <System.Boolean> ElektroKit.Interop.Tools.UnmanagedUtil.CallNativeFunction<TResult, TDelegate> <TResult> ElektroKit.Interop.Tools.UnmanagedUtil.GetNativeFunction<TDelegate> <TDelegate> ElektroKit.Interop.Tools.VisualStudioUtil.IsVisualStudioInstalled [+1 overloads] <System.Boolean> ElektroKit.Interop.Win32.Delegates.MiniDumpCallbackRoutine <System.Boolean> ElektroKit.Interop.Win32.NativeMethods.CreateRemoteThread [+3 overloads] <System.IntPtr> ElektroKit.Interop.Win32.NativeMethods.CreateThread [+3 overloads] <System.IntPtr> ElektroKit.Interop.Win32.NativeMethods.DuplicateHandle [+3 overloads] <System.Boolean> ElektroKit.Interop.Win32.NativeMethods.FreeLibrary [+1 overloads] <System.Boolean> ElektroKit.Interop.Win32.NativeMethods.GetConsoleDisplayMode <ElektroKit.Interop.Win32.Enums.ConsoleDisplayMode> ElektroKit.Interop.Win32.NativeMethods.GetKernelObjectSecurity <System.Boolean> ElektroKit.Interop.Win32.NativeMethods.GetLastInputInfo <System.Boolean> ElektroKit.Interop.Win32.NativeMethods.GetProcAddress [+1 overloads] <System.IntPtr> ElektroKit.Interop.Win32.NativeMethods.GetStdHandle <System.IntPtr> ElektroKit.Interop.Win32.NativeMethods.LoadLibrary [+1 overloads] <System.Boolean> ElektroKit.Interop.Win32.NativeMethods.LsaNtStatusToWinError <ElektroKit.Interop.Win32.Enums.Win32ErrorCode> ElektroKit.Interop.Win32.NativeMethods.MiniDumpWriteDump [+4 overloads] <System.Boolean> ElektroKit.Interop.Win32.NativeMethods.NtQueryMutex (NtQueryMutant) <ElektroKit.Interop.Win32.Enums.NTStatus> ElektroKit.Interop.Win32.NativeMethods.QueryDosDevice [+1 overloads] <System.UInt32> ElektroKit.Interop.Win32.NativeMethods.ReadProcessMemory [+7 overloads] <System.Boolean> ElektroKit.Interop.Win32.NativeMethods.SetConsoleDisplayMode <System.Boolean> ElektroKit.Interop.Win32.NativeMethods.SetKernelObjectSecurity <System.Boolean> ElektroKit.Interop.Win32.NativeMethods.VirtualQuery [+1 overloads] <System.Int32> ElektroKit.Interop.Win32.NativeMethods.VirtualQueryEx [+1 overloads] <System.Int32> ElektroKit.Interop.Win32.NativeMethods.WaitForSingleObject <ElektroKit.Interop.Win32.Enums.WaitObjectResult> ElektroKit.Interop.Win32.NativeMethods.WaitForSingleObjectEx <ElektroKit.Interop.Win32.Enums.WaitObjectResult> ElektroKit.ThirdParty.Google.Drive.DriveClient.DownloadFileAsync [+5 overloads] <Task(Of Google.Apis.Download.IDownloadProgress)> Enums: ElektroKit.Core.Application.Enums.MutexScope ElektroKit.Interop.Enums.TelerikCodeConverterMethod ElektroKit.Interop.Enums.VisualStudioVersion ElektroKit.Interop.Win32.Enums.ConsoleDisplayMode ElektroKit.Interop.Win32.Enums.ConsoleStd ElektroKit.Interop.Win32.Enums.DuplicateHandleOptions ElektroKit.Interop.Win32.Enums.MemoryState ElektroKit.Interop.Win32.Enums.MemoryType ElektroKit.Interop.Win32.Enums.MiniDumpCallbackType ElektroKit.Interop.Win32.Enums.MiniDumpModuleWriteFlags ElektroKit.Interop.Win32.Enums.MiniDumpSecondaryFlags ElektroKit.Interop.Win32.Enums.MiniDumpStreamType ElektroKit.Interop.Win32.Enums.MiniDumpThreadWriteFlags ElektroKit.Interop.Win32.Enums.MiniDumpType ElektroKit.Interop.Win32.Enums.MutexInformationClass ElektroKit.Interop.Win32.Enums.NTStatus ElektroKit.Interop.Win32.Enums.SecurityInformation ElektroKit.Interop.Win32.Enums.StandardAccessRights ElektroKit.Interop.Win32.Enums.ThreadCreationFlags ElektroKit.Interop.Win32.Enums.WaitObjectResult Fields: ElektroKit.Core.Maths.Tools.ChemicalElements.Actinium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Aluminum <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Americium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Antimony <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Argon <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Arsenic <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Astatine <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Barium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Berkelium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Beryllium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Bismuth <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Bohrium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Boron <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Bromine <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Cadmium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Calcium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Californium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Carbon <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Cerium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Cesium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Chlorine <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Chromium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Cobalt <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Copernicium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Copper <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Curium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Darmstadtium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Dubnium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Dysprosium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Einsteinium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Erbium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Europium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Fermium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Flerovium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Fluorine <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Francium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Gadolinium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Gallium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Germanium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Gold <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Hafnium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Hassium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Helium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Holmium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Hydrogen <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Indium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Iodine <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Iridium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Iron <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Krypton <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Lanthanum <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Lawrencium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Lead <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Lithium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Livermorium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Lutetium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Magnesium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Manganese <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Meitnerium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Mendelevium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Mercury <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Molybdenum <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Moscovium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Neodymium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Neon <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Neptunium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Nickel <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Nihonium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Niobium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Nitrogen <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Nobelium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Oganesson <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Osmium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Oxygen <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Palladium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Phosphorus <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Platinum <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Plutonium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Polonium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Potassium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Praseodymium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Promethium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Protactinium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Radium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Radon <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Rhenium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Rhodium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Roentgenium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Rubidium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Ruthenium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Rutherfordium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Samarium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Scandium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Seaborgium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Selenium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Silicon <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Silver <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Sodium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Strontium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Sulphur <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Tantalum <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Technetium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Tellurium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Tennessine <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Terbium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Thallium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Thorium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Thulium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Tin <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Titanium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Tungsten <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Uranium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Vanadium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Xenon <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Ytterbium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Yttrium <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Zinc <ElektroKit.Core.Maths.Types.ChemicalElement> ElektroKit.Core.Maths.Tools.ChemicalElements.Zirconium <ElektroKit.Core.Maths.Types.ChemicalElement>
Fixed
  • Assembly Version of ElektroKit.Core.dll was unintentionally assigned as ‘1.0’, now it is displayed as ‘2.4’.
  • The visibility of the existing member: ElektroKit.Core.Text.Tools.Textfiles.GetEncoding was hidden. Now it can be accessed by the end-users.
  • Modified
  • Class ElektroKit.Core.Types.Pointer<T> moved to: ElektroKit.Interop.Types.Pointer<T>. This change is only relevant for (advanced) VB.NET users.
  • Type ElektroKit.Interop.Win32.Types.FusionAssemblyInfo renamed to: AssemblyInfo.
  • Enum ElektroKit.Interop.Win32.Enums.FusionAssemblyInfoFlags renamed to: AssemblyInfoFlags.
  • Other
    • In this new release there are a lot more of changes than the specified in this changelist. New methods and extension methods, overloads for the existing ones, new types and utility classes that have been added to ElektroKit Framework. Also minor bugfixes, naming changes and/or corrections, and much refactoring in general…

    Version 2.3

    Added
    • Project Templates for C# and VB.NET. Can be installed in Visual Studio 2017 (not tested in previous versions)
    Modified
    • Renamed the main namespace ‘Elektro’ to ‘ElektroKit’.
    • Renamed the namespace ‘Elektro.Application.Thirdparty’ to ‘ElektroKit.Thirdparty’. The assembly name were renamed too.
    • The following assemblies were removed and their content is now integrated into ‘ElektroKit.Core.dll’: Elektro.Application.dll, Elektro.Multimedia.dll, Elektro.Net.dll, Elektro.Processes.dll and Elektro.System.dll That is, ElektroKit framework now ships with the following assemblies: ElektroKit.Core.dll, ElektroKit.Interop.dll, ElektroKit.ThirdParty.dll and ElektroKit.UserControls.dll
    Other
    • In this new release there are a lot more of changes than the specified in this changelist. New methods and extension methods, overloads for the existing ones, new types and utility classes that have been added to ElektroKit Framework. Also minor bugfixes, naming changes and/or corrections, and much refactoring in general…

    Version 2.2

    Added
    • Introducing the Elektro User-Controls, a collection of extended controls for Windows Forms: AltitudeSelector, AngleSelector, ElektroCheckBox, ElektroColorDialog, ElektroComboBox, DriveComboBox GroupBox, ImageComboBox, Label, LEDBulb, LEDLabel, ListBox, NumericUpDown, Panel, PictureBox, ProgressBar, RichTextBox, Shape, StarRate, TextBox, WebBrowser. ( More controls are coming in newer versions of ElektroKit ) These controls are exposed in a new assembly: Elektro.UserControls
    • Added an implementation of the International Metric Unit System (SI). See the related classes in the Elektro.Core.Maths namespace: Unit, Units, Amount, UnitConversionan PhysicsConstant. With this you can perform conversions and/or represent values between units of any type, not limited to the SI units.
    • Added lots more of rehusable P/Invoke declarations from the Win32 API, plus the new Enum: Elektro.Interop.Win32.Enums.Win32ErrorCode that defines all the existent Win32 error codes.
    • Added lots of overloads for the next functions in the Elektro.Net namespace: DownloadWebpage, DownloadWebpageAsXml, DownloadData, DownloadDataAsync, DownloadImage, DownloadImageAsync
    • New Method: Elektro.IO.Tools.Files.CreateSymbolicLink to create symbolic links.
    • New Method: Elektro.Core.Text.Tools.StringUtil.Diff tu apply a diff algorithm between two strings.
    • New type: Elektro.Core.Types.Pointer that represents a pointer and its usage (like in C#)
    • New Types: BBCodeNode, BBCodeDocument and BBCodeTextNode to convert BBCode to Html code.
    • New class: Elektro.Net.Tools.BusinessUtil focused to business utilities, like Credit Card validation.
    • Added new extensions for the TeeView control.
    Other
    • As always, there are lots more of changes than the specified in this changelist. New methods, overloads, types, utility classes, that have been added to ElektroKit. Also minor fixes, naming changes, and refactorings in general..

    Version 2.1

    Added
    • The ReadUntilFirstNullByte method extensions for Byte[], IEnumerable(Byte[]) and Stream types.
    • The IsWindowTotallyVisible method and overloads in the UIAutomation class.
    • More method overloads for lots of method extensions in general.
    • More Win32 function definitions in the corresponding NativeMethods namespace.
    Improved
    • Class HUDForm has been redesigned to accomplish some important design purposes, and class HUDFormLayout has been integrated in.
    Fixed
    • Elektro.Core.IO.Keyboard.SendString() method from not sending special characters.

    Version 2.0

    Added
    • Apart from the typical additions of methods and functions, the correction of some things, or the updating and refactoring of others, not only of the code but also of the documentation, these are some of important changes and innovations of this new version:
    • A new experimental SafePInvoke method has been added in class Elektro.Interop.Tools.UnmanagedUtil, its purpose is double, to provide greater control when calling Win32 functions and to do so by writing less code than usual.
    • A new class Elektro.Core.Xml.Tools.JsonUtil has been added, with utilities for JSON code, including converting a JSON code to several input types of Xml, and a method to embellish and/or minify a JSON code (BeautifyJson / MinifyJson).
    • In the Elektro.Application.ThirdParty.Office365.Types namespace, class OutlookMailClient is renamed OutlookMailClientExperimental, and now there is a new class OutlookMailClient. The difference is that the new builds of the Microsoft API are used, I left the old version or “experimental” because in my case I find very useful, especially the ease of logging into an Outlook.com account.
    • We have added a new type, Elektro.Core.IO.Types.FileSignature, with which we can create and represent a file signature. And type Elektro.Core.IO.Types.FileTypeMatch with which we can get the data from a signature analysis.
    • More overloads added to class Elektro.System.Tools.Registry for manipulation of Windows registry entries.
    • method extensions have been added in the Elektro.Core.Generics.Extensions.Nullable namespace for conversion between nullable data types.
    • A new Elektro.Core.IO.Tools.FileTypeUtil class has been added, which is used to determine the file type of a file, by examining the header with a list of signatures (which is extendable at runtime).
    • Added a new class Elektro.Multimedia.Gaming.Types.SnesRom to represent and manipulate a super nintendo rom (to do rom hacking).
    • More predefined source templates and snippets have been added to the Elektro.Interop.Tools.CompilerUtil.SourceCodeTemplates namespace.
    • A new Elektro.System.Tools.SystemInfo.Steam class has been added to get information about an installation of the Steam video game client.
    • Class Elektro.System.Tools.SystemInfo.Volume has been added to obtain information about the volumes (partitions) mounted on the system.
    • More tweaks have been added in class Elektro.System.Tools.Tweaking.SystemParameters to manipulate different aspects of the operating system configuration.

    Version 1.9

    Added
    • ElektroKit is now also distributed under the .NET Framework 4.6.
    • The AutomatedCompilerTask.exe tool that accompanies the ElektroKit source code, which is used to fully compile all configurations and platforms of the project, has been updated to support .NET Framework 4.6.
    • Added class GoogleSearch to use the Google search service (for free) using type GoogleSearchOptions, and get the search results represented with type GoogleSearchResult.
    • The generic method Elektro.Core.Diagnostics.Tools.ProfillingUtil.SwapObjects (Of T) (T, T) to invert the value of two objects.
    • The method Elektro.Application.UI.Tools.CLI.CLIUtil.SpinCursor () and Elektro.Application.UI.Tools.CLI.CLIUtil.SpinCursorTask () to create a peculiar animation of “loading …” for a console application .
    • Asynchronous methods have been added to class Elektro.Application.UI.Tools.CLI.TypeWritter
    • The NameValueCollection.ToGETRequestString () extension to facilitate the formatting of a string to make a GET request to a Web service.
    • More overloads added for the Elektro.Application.Tools.AppUtil.SleepRandom () method
    • Class Elektro.Interop.Tools.CompilerUtil.SubsystemVersions goes from being private to public, for use that can be given out of ElektroKit.
    • Class Elektro.Interop.Tools.CompilerUtil.SourceCodeTemplates renamed Elektro.Interop.Tools.CompilerUtil.Snippets.
    • Overloads of the Elektro.Interop.Tools.CompilerUtil.CompileProject () method have been added in order to use the MsBuild.exe compiler for .NET Framework 4.5, 4.6, and 4.6.1,
    • And also to compile a project-specific configuration and platform (eg Release -> Any CPU)
    • A variety of extensions for type conversion and export formats for the following types: DataTable, DataGridView, ListView.
    Fixed
    • In the Elektro.Application.Tools.AppUtil.SleepRandom() method, the TimeSpan parameter was interpreted in seconds, not milliseconds.

    Version 1.8

    • All ElektroKit classes that inherit from EventArgs and Exception have been grouped into separate namespaces / directories, now the source code and its visual representation is somewhat more organized.
    • Added class HUDForm in the namespace Elektro.Application.ThirdParty.SharpDX.Types to have the main base with which to be able to develop a HUD window for a third party game (it is very basic).
    • Added class LibVideoUtil to download Youtube videos using the libvideo library (unofficial successor to YoutubeExtractor) Elektro.Application.ThirdParty.LibVideo.Tools.LibVideoUtil.
    • Added several extension modules to facilitate the use of the official Youtube API, in the namespace: Elektro.Application.ThirdParty.Google.Youtube.Extensions.
    • Added additional methods of unloading data in WebUtil class (DownloadData (), DownloadDataAsync (), DownloadImage (), DownloadImageAsync ()).
    • Added additional extensions for file and directory recycling in extensions modules: Elektro.Core.IO.Extensions.FileInfo and Elektro.Core.IO.Extensions.DirectoryInfo. (FileInfo.Recycle () and DirectoryInfo.Recycle ())
    • Added extension methods for grouping and joining groupings for IEnumerable collections, in the namespace: Elektro.Core.Generics.Extensions.IEnumerable (files: Group.vb and Join.vb).
    • PS: Many of the mentioned features of ElektroKit are only available in the assemblies compiled under .Net Framework 4.5.

    Version 1.7

    • In this version, the most important changes are aesthetic and do not affect the end user. I have literally had to modify one by one the more than a thousand classes / files that make up ElektroKit to make these changes; Has been a fairly complete refactoring of membership hierarchy and inheritance, so although this is not an update with many new features, it can be said that it is a great upgrade to call itself v1.7.
    • It is worth mentioning that as a result of the aesthetic changes, the libraries occupy less, and the Xml documents much less.
    • I have also corrected some small bugs, I have added new methods and types, and I have refactored some parts of the source code, but there is nothing to note about it.
    Rating 0.00
    Sales 5
    Price $92.00
    Created 2017-01-08 13:26:29
    Last update 2018-03-01 11:12:27
    Search
    Featured
    Best WordPress Themes
    Best HTML Templates