Commit Graph

342 Commits (ff50c4a4c9b25abd88cf8a4a47f92c56e0fd4a94)

Author SHA1 Message Date
David Hall dee8220068 Update project file information and version to 3.1.1. 2019-10-17 13:43:37 -06:00
David Hall 4451258143 ADDED: Support for .NET Core 3.0 in all projects!!
Updated project files to version 3.1.0, changed icon to embedded NuGet resource rather than link, consolidated dependency conditions in project files, and updated all NuGet dependencies.
2019-10-03 13:35:16 -06:00
David Hall 1f725bbefc Changed EventHandlerEx<T> (Theraot) to EventHandle<T>. 2019-10-03 12:55:32 -06:00
David Hall 830177d435 Minor file access changes to support .NET Core 3 2019-10-03 11:15:05 -06:00
David Hall 804c4a946d Fixed compiler warnings 2019-09-18 15:33:26 -06:00
David Hall 846783b115 Updated project documentation 2019-09-05 21:03:18 -06:00
David Hall d56d9486e7 Updated project information to version 3.0.1, added DLL references, and updated markdown files. 2019-09-04 14:11:25 -06:00
David Hall 6b8e0ccf58 Combined PInvoke.User32 and PInvoke.User32.Gdi and updated all dependencies.
Added .NET Standard 2.0 and .NET Core 2.0 and 2.1 support to all projects except Windows.Forms and Windows.Shell
2019-08-27 16:03:21 -06:00
David Hall d89a9df2a5 With so many breaking changes, I decided to roll the version to 3.0.0. 2019-08-27 12:42:33 -06:00
David Hall ee72119e36 MAJOR BREAKING CHANGE: Moved all extension methods for System.Object to Vanara.Extensions.Reflection namespace to avoid Intellisense overloads with methods that will be rarely used. 2019-08-17 14:42:49 -06:00
David Hall 3f6303a4df Updated to support other indirect resource strings (from SHLoadIndirectString docs) 2019-08-01 17:54:31 -06:00
David Hall 19d8a8d396 Fixed XML comments 2019-06-25 17:28:19 -06:00
David Hall 7ce7b96209 * Derived SafeCoTaskMemString from base class SafeMemString derived from SafeMemHandle<T>.
* BREAKING CHANGE: Removed CharCapacity and made Capacity show char allocation. Size (from parent) shows byte capacity. Mimics StringBuilder.
2019-06-25 17:10:57 -06:00
David Hall 36c5b82f91 Updated and fixed file functions in Kernel32. Changed WIN32_FIND_DATA back to a structure and corrected IShellLinkW reference. Added EnumFilesEx and EnumVolumes to simplify related functions. Fixed search handles so they dispose without error. Changed GetFullPathName, GetLongPathName and GetShortPathName to exclusively use the Unicode instance to avoid filename length restrictions. 2019-06-16 15:07:59 -06:00
David Hall 422ab0a7dd Updated project files for 2.8.11 release 2019-06-07 20:42:41 -06:00
David Hall f59831bc2c Updated project files for 2.3.10 2019-06-04 12:18:56 -06:00
David Hall 0b83c0a914 Updated projects for version 2.3.9 2019-05-25 19:47:54 -06:00
David Hall 1097a9422a POTENTIALLY BREAKING CHANGES: I had to make PropertyStore work without holding onto the IPropertyStore interface so as to prevent a lock condition on the ShellItem (#49). So I had to change some of the protected methods to support the change. 2019-05-08 19:01:44 -06:00
David Hall 3eccb98a50 Added CreateBindCtx method in ShellUtil and migrated existing code to use it 2019-05-08 18:58:46 -06:00
David Hall e3ae1b5b55 Made private until more debugging is done 2019-05-08 15:00:18 -06:00
David Hall 1e6c187c68 Optimized 2019-05-08 14:59:52 -06:00
David Hall f35daedf85 Added GetHandler that takes a IBindCtx param. Added GetStream method to get a ComStream of the item's content. 2019-05-08 09:28:37 -06:00
David Hall 10cc4c031c Added BindContext encapsulation of IBindCtx 2019-05-08 09:26:42 -06:00
David Hall 56f517d6e9 Updated project information for 2.3.8 2019-04-30 08:00:06 -06:00
David Hall 0cc1d914d0 Updated project files for 2.3.7 release 2019-04-24 08:48:29 -06:00
David Hall 5be3e15570 Update project versions to 2.3.6 2019-04-15 13:45:35 -06:00
David Hall 72a2ceb50c Updated project versions to 2.3.5 2019-03-12 08:05:49 -06:00
David Hall 3877cc58bc Pushing point release due to some debug files getting into the NuGet packages 2019-03-08 20:09:11 -07:00
David Hall 1bdbca3d57 Updated projects for version 2.3.3 2019-03-08 12:38:52 -07:00
David Hall f71612fd05 Cleaned up using statements 2019-03-07 11:43:18 -07:00
David Hall 00b8227a10 Updated project versions to 2.3.2 2019-02-27 16:53:42 -07:00
David Hall ec8fec7902 Updated project files to 2.3.1 2019-02-24 18:54:29 -07:00
David Hall eba27e984c Prepped projects for release 2019-02-22 16:11:12 -07:00
David Hall 91ad5730b6 Update project versions to 2.3.0 2019-02-20 11:08:59 -07:00
David Hall f59699c64c Futher work on ControlPanel class 2019-02-18 14:30:35 -07:00
David Hall 60db43af40 Filled out options to make more complete wrapper 2019-02-15 14:41:06 -07:00
David Hall 05887bfac4 Updated project files for release 2019-02-11 19:38:05 -07:00
David Hall 99ee4ef78f Reorganized and cleaned 2019-02-08 12:26:08 -07:00
David Hall 06f20708b9 Separated and enhanced functionality of resource string handlers. 2019-02-08 12:15:23 -07:00
David Hall 7e183c2b6c Updated project files to 2.2.1 2019-02-05 14:25:27 -07:00
David Hall abf525fb54 Reorganized, documented and provided methods that act on HWND for broader use. 2019-02-04 09:42:46 -07:00
David Hall 1525d85285 Reorganized folder placement 2019-02-04 09:28:35 -07:00
David Hall 9c06983c3d Reorganized into folder 2019-02-02 13:39:56 -07:00
David Hall 2c8d48e40c Added ProcessMessage event for ease of injection 2019-02-02 13:35:57 -07:00
David Hall 22972ba828 Reorganized into folders 2019-02-02 13:35:21 -07:00
David Hall 1efc1993f2 Updated project information 2019-02-01 16:41:11 -07:00
David Hall e4073a57e5 Cleaned, fixed (sorry this shouldn't have been released), and documented 2019-02-01 15:12:44 -07:00
David Hall e3c6baaee8 Added docs 2019-02-01 15:12:08 -07:00
David Hall 841cf454ce Hid until complete 2019-02-01 15:11:42 -07:00
David Hall 6c083b511f Derived from ShellCommand and now call CancelTimeout after DragDrop event fires. 2019-02-01 11:43:05 -07:00
David Hall f5c7ecf216 Added new ComObject derivatives to wrap IInitializeCommand and IExecuteCommand 2019-02-01 11:42:29 -07:00
David Hall 54917af61c Fixed failures when internal pointer to IShellItemArray is null 2019-02-01 11:41:08 -07:00
David Hall 6598e489aa Removed internal call to cancel message loop timeout and made it a method for derived classes to call at the appropriate time. 2019-02-01 11:40:42 -07:00
David Hall ea363f2d1f Put back thread capture code 2019-02-01 11:39:42 -07:00
David Hall 7bee51986c Added IInitializeCommand support with corresponding properties CommandName and Properties 2019-01-31 13:39:23 -07:00
David Hall 5808a621cf Added IPropertyBag wrapper 2019-01-31 13:38:34 -07:00
David Hall 4d2642d49a Added Type.CLSID() extension method 2019-01-31 11:39:35 -07:00
David Hall a5fb81cd96 Fixed bug in DelegateExecute property 2019-01-31 11:39:03 -07:00
David Hall 15b3a02b86 Removed OnXXX methods in favor of events, fixed bug in Drop, added example in docs 2019-01-31 11:38:37 -07:00
David Hall 7dcab68cd3 Made public, changed to use IComObject interface, added Resume (calls CoResumeClassObjects), changed methods to explicit to minimize change of inadvertent overwrites. 2019-01-31 11:37:30 -07:00
David Hall 927951e593 Exposed core methods in interface, pushed class factory to inline construction, added message loop timeout cancel to QueryInterface, added handling of REGCLS_SUSPENDED 2019-01-31 11:36:02 -07:00
David Hall 14d863faa5 Renamed, made public, documented and hardened 2019-01-31 11:33:27 -07:00
David Hall 4c21a6541d Added constructors that let derived classes handle parameters to CoRegisterClassObject 2019-01-29 19:59:52 -07:00
David Hall e0f09599ce Changed parameter to CoRegisterClassObject to point to CLSID object. Added Resume method. 2019-01-29 19:59:16 -07:00
David Hall 99bff8e3c8 Added TypeLib and ServerExecutable lines to LocalServer registration 2019-01-29 19:58:19 -07:00
David Hall df51958bad Replaced ComRegistrar references with ShellRegistrar 2019-01-29 14:50:56 -07:00
David Hall b07bcbad48 Removed ComLocalServer and included functionality in ComObject 2019-01-29 14:50:19 -07:00
David Hall 971a8247ca Made internal 2019-01-29 14:49:25 -07:00
David Hall 515bedc299 Merged ComRegistrar into ShellRegistrar. Completed work to allow local registrations in ShellRegistrar. 2019-01-29 14:48:54 -07:00
David Hall dd78ab07c9 Added abstract class for implementing IDropTarget 2019-01-27 22:14:20 -05:00
David Hall c5d247948c Added documentation 2019-01-27 22:02:12 -05:00
David Hall 4af471a8ad Added Running property 2019-01-27 22:01:33 -05:00
David Hall f24bed37a7 Updated to use user or system root 2019-01-27 21:40:08 -05:00
David Hall 4603de0f2f Added GetRoot method 2019-01-27 21:39:06 -05:00
David Hall 426f257b7d Fixed another Guid => string problem 2019-01-27 21:38:21 -05:00
David Hall 46e7b8031a Extended callback to accept a variable 2019-01-27 17:43:13 -05:00
David Hall 78e58a1ddc Fixed bug when writing Guid values being in wrong format for registry 2019-01-27 17:42:41 -05:00
David Hall 21c5fcb28d Added ToRegString methods for Guids 2019-01-27 17:41:34 -05:00
David Hall bd7004e95f Added FromDataObject factory method 2019-01-27 17:41:01 -05:00
David Hall 3dccc360ba Fixed bug in RegisterCommandVerb when supplying null values 2019-01-27 17:40:32 -05:00
David Hall 5d63153ee5 Added classes to support creating a COM Local Server:
ComClassFactory - impl of IClassFactory
ComLocalServer - creates message loop and registers class
ComMessageLoop - impl of simple message loop
ComObject - base class for COM objects
ComRegistrar - class for registering COM objects
2019-01-27 00:47:46 -05:00
David Hall 8f1e78e0f3 Updated project versions to 2.2.0 as there have been lots of changes, some of which are breaking. 2019-01-21 08:42:39 -08:00
David Hall 8fa7d0aafa Changed project versions to 2.1.3 2019-01-14 14:46:49 -07:00
David Hall e75e12e431 Added stronger types 2019-01-14 10:32:56 -07:00
David Hall 77d9cb57a4 Made ShellItem.Open public 2019-01-08 08:16:51 -07:00
David Hall 1e16ceed27 Updated copyright and PackageTags formatting in project files 2019-01-07 15:00:20 -07:00
David Hall 1d966558ed Updated code to use new extension methods 2019-01-06 12:35:32 -07:00
David Hall 8623205679 Added generic helper methods for all interface methods that get a COM interface by specifying its IID. 2019-01-06 11:57:14 -07:00
David Hall b35d873906 Changed project versions to 2.1.2 2019-01-02 20:30:36 -07:00
David Hall 4356d92c71 Changed project versions to 2.1.1. 2018-12-17 11:45:32 -07:00
David Hall eb902e4595 Fixed build errors and warnings due to XML comments and obsolete license reference in project files. 2018-12-15 13:44:33 -07:00
David Hall c6451bf9b3 Updated version to 2.1.0 to indicated addition of Theraot.Core as a dependency. 2018-12-11 11:34:44 -07:00
David Hall 33b358033d Updated project information to version 2.0.1 and signed all assemblies. 2018-12-07 13:53:39 -07:00
David Hall fed13f093c Updated project files for 2.0.1 2018-11-30 14:34:07 -07:00
David Hall 8a1355b0af Updated comments 2018-11-28 12:33:55 -07:00
David Hall d434ec4527 Updated project files for 2.0 release 2018-11-28 08:53:23 -07:00
David Hall 12c150a15b Removed PROPERTYKEY constructor for PropertyDescription and moved to factory method Create since it can return a 'null'. Changed associated code. 2018-11-27 12:07:03 -07:00
David Hall c5467dfb7e Another 2.0 major commit. All tests working. 2018-11-19 21:18:50 -07:00
David Hall 627c6d2314 2.0 Checkin - Buildable 2018-10-26 12:24:07 -06:00
David Hall bfd2730324 Changed project builds to use latest C# minor version 2018-09-27 09:46:40 -05:00
David Hall 07b35daee3 Updated projects to version 2.0.0 2018-09-21 23:28:01 -06:00
David Hall 138accc380 MAJOR BREAKING CHANGES: Fundamentally changed how HANDLEs are represented and used. Much better type safety now that all handles derive from HANDLE and disposing instances are all noted by a SafeHxxx name. Solves problem with circular references and random IntPtr parameters. 2018-09-21 22:35:34 -06:00
David Hall 46d20def8b Updated project files with updated stats 2018-09-19 06:54:43 -06:00
David Hall fe45d80854 Due to significant breaking changes related to the removal of conversion operators from GenericSafeHandle to IntPtr, changed version to 1.1.0. 2018-09-04 13:47:00 -06:00
David Hall bbc22f6646 Changed calls from conversion operator to DangerousGetHandle for all GenericSafeHandle derivatives. 2018-09-04 13:42:49 -06:00
David Hall 6b1ed53536 Made conversion operator from GenericSafeHandle to IntPtr explicit to minimize unintended conversions (#12) and updated all affected functions, including fixing those affected by unintended consequences. 2018-09-04 12:04:25 -06:00
David Hall ff50e8d23d Added classes to register and interact with the registry for shell applications, ProgIDs and file associations 2018-08-29 12:59:20 -06:00
David Hall 0f476165ca Updated all versions to 1.0.19 2018-08-18 21:37:35 -06:00
David Hall f844f6a8f2 Updated projects for 1.0.18 release 2018-08-10 11:54:21 -06:00
David Hall 6c77595ea2 Updated correlation reports and project files after fixing analysis tool 2018-07-07 21:35:28 -06:00
David Hall a69e19ebc6 Updated project files and information to 1.0.16 2018-07-02 16:22:56 -06:00
David Hall c85b8d8fc4 Version 1.0.15 project file updates 2018-06-27 13:25:04 -06:00
David Hall d4d804e7a3 Updated project files for 1.0.14 2018-06-08 12:00:08 -06:00
David Hall 50f6efb0ff Added ShellItem.ViewInExplorer method 2018-06-08 11:22:18 -06:00
David Hall 8df9eba7bb Updated project files with new versions and comments 2018-05-30 12:32:03 -06:00
David Hall 2cfce3c7d3 Updated versions to 1.0.12 and corresponding release notes 2018-04-05 14:54:36 -06:00
David Hall cd8afc3891 Updated XML documentation 2018-04-05 14:17:33 -06:00
David Hall d9337cb5d2 Changed icon retrieval methods to use ShellImageList. 2018-04-05 13:26:16 -06:00
David Hall ca7ca983ca Changed GetIcon to GetSystemIcon and added GetFileIcon. 2018-04-05 13:25:38 -06:00
David Hall 09dd4c1e70 Update report files and release notes 2018-04-04 09:27:40 -06:00
David Hall 0d8b96fe9b Corrected XML documentation errors 2018-04-03 18:35:18 -06:00
David Hall 6551700381 Updated versions to 1.0.11 and corresponding release notes 2018-04-03 17:58:52 -06:00
David Hall 541b5c39d4 Added ShellFileOperations class along with supporting unit tests to encapsulate IFileOperations interface 2018-04-03 13:21:51 -06:00
David Hall d137adff78 ShellUtil.GetShellItemForPath now can get an item that doesn't exist on the file system. 2018-04-03 13:20:57 -06:00
David Hall bc62f02393 Exposed IEnumShellItems 2018-03-30 11:54:56 -06:00
David Hall 7ce016b4cf Added constructors for lists of items 2018-03-29 18:25:08 -06:00
David Hall 84b7a3bada Updated to version 1.0.10 2018-03-26 19:19:38 -06:00
David Hall 30554d4c67 Updated builds and reports with updated constucts 2018-03-26 16:56:47 -06:00
David Hall cd9e856f77 Changed version to 1.0.9 2018-03-26 15:06:12 -06:00
David Hall dbf2e68121 Updated projects to version 1.0.8 2018-02-07 09:44:01 -07:00
David Hall 5e9fff54ef Added ControlPanel class to Shell assembly 2018-01-29 17:57:03 -07:00
David Hall c5885b4c17 Updated projects for 1.0.7 build. 2018-01-27 15:07:38 -07:00
David Hall 3b6d12c8e0 Enhanced and fixed COM Property abstractions. 2018-01-27 14:40:26 -07:00
David Hall ce2db9f278 Improved error handling and documentation 2018-01-22 18:23:01 -07:00
David Hall 4335cdaf8d Corrected ShellItem.GetImage 2018-01-20 22:30:03 -07:00
David Hall b772f916e4 Working build / checkpoint for Vanara.Windows.Shell. 2018-01-20 18:19:18 -07:00
David Hall 9b7e3ef765 Rolled project versions to 1.0.6 2017-12-29 13:54:58 -07:00
David Hall ea0dd3fd16 Changed project version to 1.0.5 2017-12-14 21:26:21 -07:00
David Hall f446e2e9b7 1.0.4 Release Build 2017-12-14 17:34:14 -07:00
David Hall 57375676b5 Removed unneeded references from project dependencies 2017-12-14 11:37:56 -07:00
David Hall 8a1c33e158 Renamed Vanara.UI to Vanara.Windows.Forms and reorganized contents 2017-12-13 10:20:03 -07:00
David Hall a30f82d282 Lots of assembly refactoring: split PInvoke.User32 so GDI functions are in separate assembly, moved system classes from Vanara.UI to Vanara.System, split off shell classes to Vanara.Windows.Shell 2017-12-12 18:41:40 -07:00