Commit Graph

347 Commits (2c10bf7415234d7ae5c4cfb897697b2634260acb)

Author SHA1 Message Date
dahall ffc54378a7 Removed .NET 5.0 support until VS is updated 2020-10-26 18:36:24 -06:00
dahall f05c0198fc Added PropertyDescriptor.TryCreate method and CanGroupBy and IsViewable properties 2020-10-26 18:25:10 -06:00
dahall 69bd276627 Added support for .NET 5.0 (windows) 2020-10-26 10:36:13 -06:00
dahall 73420677a7 Updated project information 2020-10-23 09:05:48 -06:00
dahall e88e6d1b72 Fixed bug in IndirectResource.ctor 2020-10-22 14:39:15 -06:00
dahall a1f037644b Made BindContext.EnumObjectParam return empty enum if method fails 2020-10-22 14:38:31 -06:00
dahall 0cb2fed082 Added GetPropertyDescriptionList default prop value to get all properties. 2020-10-22 14:36:26 -06:00
dahall 857e7c4703 Changed all methods that returned `SafeCoTaskMemString` to `string`. After much reading and testing I determined this was redundant with marshaling code in .NET. 2020-10-21 18:44:25 -06:00
dahall 8686a6723d Updated project and build files for 3.2.18. Converted all project files to new SDK format. 2020-10-21 08:27:54 -06:00
dahall 8a182046b6 Cleaned 2020-10-20 16:26:45 -06:00
dahall d17fdc5cc3 Marked ShellView and ShellBrowser 'internal' until they're ready to release. 2020-10-20 16:26:06 -06:00
dahall 8084c030da For ShellItem, added TypeConverter for strings, DataObject property, multiple Open method overloads, and ToUri method. 2020-10-20 13:59:28 -06:00
dahall 2b8ccf1438 Initial commit on ShellView wrapper 2020-09-25 17:21:20 -06:00
dahall db8caa5877 **BREAKING CHANGES** Changed function of IndirectResource so that it accepts a string and then provides read-only properties of the parts rather than other way around. Too fragile. Also fixed ResourceId property so that it is an Int32 and not a pointer. Wrong impl. 2020-09-03 10:53:54 -06:00
dahall 58ab52cba6 Fixed bug in ShellFileOperations when supplying multiple files at once causing an endless loop 2020-08-31 10:42:13 -06:00
dahall c4fe7fc598 Fixed error in ReadOnlyPropertyStore.TryGetValue that only would return true (#163) 2020-08-31 08:59:36 -06:00
dahall c6296838d9 Fixed ShellFileOperations throws an exception during the process of moving lnk files (#156) 2020-08-15 09:06:11 -06:00
dahall 7a686bddae Added ShellFolder.IShellFolder property to expose underlying COM interface. 2020-08-06 12:54:38 -06:00
dahall 8a284d4ccb Updated project files 2020-07-29 17:32:47 -06:00
dahall cac3df43f2 Project information update 2020-07-27 10:50:28 -06:00
dahall 61c26627b5 Incomplete work on ShellDataObject 2020-07-26 13:55:23 -06:00
dahall 4ef43cf843 Added Vanara.Windows.Shell.NativeClipboard to expose native clipboard functions that are not routed through COM and DataObject. 2020-07-26 13:54:57 -06:00
dahall 3d0422bc96 Added unsafe tag to Windows.Shell project 2020-07-26 13:52:24 -06:00
dahall ef6a1dda0a Added improved registry key closing to registration classes 2020-07-26 13:12:33 -06:00
dahall abc888d60b Renamed 2020-07-20 09:45:44 -06:00
dahall cdb8e3d6af Updated to work with HRESULT based events 2020-07-19 10:09:06 -06:00
dahall 89408a73b9 Renamed IDataObjectExtensions.cs to ShellDataObject.cs 2020-07-18 20:43:28 -06:00
dahall 7fa717ed28 Added ShellItem.InvokeVerb method and test 2020-07-17 15:31:12 -06:00
dahall bdbddf022e Removed unnecessary tasks and code 2020-07-16 16:40:24 -06:00
dahall ebbac20ca6 Added support for ShellItemPropertyStore to be created with a PROPERTYKEY filter or an ICreateObject 2020-07-16 08:38:45 -06:00
dahall c727cfa055 Completed work on BindContext which wraps IBindCtx 2020-07-16 07:22:01 -06:00
dahall afd0a4321f Added ShellFileOperationDialog with tests a property ShellFileOperations.CustomProgressDialog to receive an instance of that dialog. 2020-07-15 19:00:30 -06:00
dahall b8c0ce3f0f Pulled classes and enums out of ShellFileOperations.cs into thier own files. 2020-07-15 15:03:26 -06:00
dahall e2808812b7 Moved ShellFileOperations.cs to folder 2020-07-15 14:58:21 -06:00
dahall 069a745ff7 Added ShellFileOperations.AnyOperationAborted and OwnerWindow properties. 2020-07-15 14:56:24 -06:00
dahall c081cfa38c Updated project information files 2020-07-14 16:02:36 -06:00
dahall fffb6981ff Update project statistics files 2020-07-14 15:07:18 -06:00
dahall eb3cc13bb3 Updated project information for 3.2.12 2020-07-13 08:58:32 -06:00
dahall b153e67354 Optimized parameter enumerations and fixed bug in UpdateProgress event (#146) 2020-07-12 10:20:57 -06:00
dahall 770862c69c Added ShellFolder.BindToObject and BindToStorage methods 2020-07-01 15:04:16 -06:00
dahall 8d5c587e9d Updated project file information 2020-06-27 18:54:55 -06:00
dahall 59130de35a Added FileInUseHandler to wrap functionality of IFileIsInUse interface for a single file. 2020-06-22 13:39:13 -06:00
dahall a3bfd8c7cd Added code and tests to refresh icon on Recycle Bin after changes. 2020-06-20 15:36:57 -06:00
dahall c6eaafaf0a Added more BHID mappings for ShellItem.GetHandler calls. 2020-06-20 15:36:29 -06:00
dahall a9162da80f Fixed XML docs, cleaned code, added parameter attributes and missing CoClass values for IShellFolder, added Vanara.Windows.Shell.RecycleBin class and tests 2020-06-20 12:10:20 -06:00
dahall c31890cf6a Added string methods to ShellFileOperations and some tests for Recycle Bin. 2020-06-15 09:22:37 -06:00
dahall 67178177c2 Updated project files for release 2020-06-14 11:17:58 -06:00
dahall c251318fc1 Added WallpaperManager to Vanara.Windows.Shell to manage wallpapers. 2020-06-10 20:38:05 -06:00
dahall 4c241ed618 Fixed bug resolving .lnk files in ShellLink 2020-06-04 08:45:23 -06:00
dahall 28eaf62f3b Updated project information 2020-06-02 22:02:36 -06:00
dahall 491c26e0d6 BREAKING CHANGE: Changed default behavior of ShellItem.Properties so that it is read-only. It was failing for all shell items that didn't have their own properties. To get previous behavior, simply set "shellItem.Properties.ReadOnly = false" before setting properties. 2020-06-01 10:43:51 -06:00
dahall 24031bc4d1 BREAKING CHANGE: Changed ShellItemPropertyStore.Descriptions to get a dictionary of PropertyDescription items rather than the PropertyDescriptionList that was already available from ShellItem. Added improved execption when IPropertyStore instance cannot be created due to a shell item with no r/w support. 2020-06-01 10:41:25 -06:00
dahall 26ee1ba93d Derived PropertyStore from ReadOnlyPropertyStore 2020-06-01 10:38:37 -06:00
dahall f57a7321b2 Added MemoryPropertyStore with stream r/w support representing a property store that lives separate from a ShellItem 2020-06-01 10:37:52 -06:00
dahall ddd6935037 Added ReadOnlyPropertyStore as the base object wrapping IPropertyStore. 2020-06-01 10:37:00 -06:00
dahall 92302b015a Another, hopefully final, fix for #124 2020-05-28 17:52:05 -06:00
dahall e1b31bd0ab Fixed crashes on ShellItemChangeWatcher with unrecognized events. 2020-05-28 13:16:37 -06:00
dahall efdd8da0d1 To ShellItemChangeWatcher, added attributes to properties, added Path property tied to Item property for use in designer, error handling if registration fails, and fixed bug with PIDLs and memory reads (#124). 2020-05-27 22:11:36 -06:00
dahall b375436c38 BREAKING CHANGE: Changed PROPERTYKEY.GetCononicalName to GetCanonicalName (fixed misspelling) 2020-04-06 08:52:57 -06:00
dahall c0ff453a20 Moved much of the individual project file detail to root Directory.Build.* files for consistency. Fixed build errors due to bad or missing project tags. Cleaned up project files. 2020-04-03 14:51:10 -06:00
dahall 54994c84bf Fixed bug in collection where parent wasn't set 2020-04-02 20:10:20 -06:00
dahall 0702fc0c4d Removed unused private field 2020-04-02 19:54:04 -06:00
dahall 9fdb1ea000 Update project versions to 3.2.4 2020-04-01 18:48:29 -06:00
dahall 1c217e668e Updated project files to 3.2.3 2020-03-31 18:51:44 -06:00
dahall 476960ecbf Updated project versions to 3.2.2. 2020-03-17 19:48:07 -06:00
dahall 24dc30de5a Updated project files with v3.2.1 information. 2020-03-09 10:23:37 -06:00
dahall 82f474e741 Add and corrected XML documentation. 2020-03-01 18:59:39 -07:00
dahall 19b3efd408 Updated project information and version to 3.2.0 2020-02-26 17:35:48 -07:00
dahall ae3d4dc52c Finished intial work on TaskbarButton form extender that fully enables all interactions with the taskbar button in the UI. 2020-02-26 15:20:47 -07:00
dahall 129a8247aa Fixed RawValue and ToString for when non-lookup string supplied. 2020-02-26 15:19:13 -07:00
dahall c93fbb5880 Fixed ToString 2020-02-26 15:18:40 -07:00
dahall 4b003a36be BREAKING CHANGE: Major overhaul of shell registration settings. Removed some methods from ShellRegistrar to static methods in registration classes. Completed documentation and enhanced used of collections. Added registration classes for applications and file types. 2020-02-26 15:18:06 -07:00
dahall ff228216a4 Renamed file to match class name. 2020-02-26 15:14:49 -07:00
dahall fd802f7961 Cleaned up memory use and COM object releases. 2020-02-22 16:09:36 -07:00
dahall 8f9e7aa117 BREAKING CHANGES: Allow for ShellLink to function even if not persisted, added Equals functions, add DataFlags and Title property, changed Description to use just a string, removed FullPath property (duplicative and confusing), added Title to ToString, made SaveAs method public. 2020-02-22 16:08:17 -07:00
dahall c892a083f6 Allow for ShellItem to function even if it doesn't have a IShellItem reference 2020-02-22 16:04:41 -07:00
dahall 18ba5de75d Fixed capture and display problems 2020-02-20 13:57:46 -07:00
dahall 54b19e01e1 Cleaned and refactored 2020-02-13 11:49:36 -07:00
dahall 23aa0cef40 Cleaned up project file 2020-02-13 10:48:35 -07:00
dahall 8a30f5ce3c Fixed exceptions thrown by ControlPanel methods by providing HRESULT from underlying COM shell object. #105 2020-02-08 15:08:44 -07:00
dahall c856d06332 Updated project files for v3.1.9 2020-01-17 08:50:25 -07:00
dahall 42677e2063 Project files update for v3.1.8. 2020-01-13 09:26:39 -07:00
dahall aff96b0adf Fixed bug in defintion of IEnumIDList.Next and all dependent methods. (#97) 2020-01-04 15:44:00 -07:00
dahall 6edf55346d Added support for .NET Core 3.1 2020-01-03 16:46:48 -07:00
David Hall 19bbc90234 Corrected bug in ShellItem.Open that would incorrectly try to open .url files as IShellLink. Now opens them as IShellItem. (#82) 2019-12-30 14:21:15 -07:00
David Hall 4ced0d98da Fixed ShellItem.GetImage so it doesn't fail when it cannot make the returning bitmap transparent. (#85) 2019-12-30 11:23:18 -07:00
David Hall b875577809 Fix for #81 2019-12-29 22:37:43 -07:00
David Hall 1ee34f1001 Updated all project files to version 3.1.7 2019-12-17 15:05:04 -07:00
David Hall c2c9a6e2e6 Updated project files to support SourceLink 2019-12-17 14:56:55 -07:00
David Hall 61d0fbb908 Updated project files for 3.1.6 release 2019-12-11 22:09:39 -07:00
David Hall 8bb754f22e Updated project files to version 3.1.5 2019-11-26 08:20:16 -07:00
David Hall 2036104502 Update project information for 3.1.4 2019-11-25 07:02:08 -07:00
David Hall 7c5f05b381 Added documentation 2019-11-23 19:00:15 -07:00
David Hall 2c94f7cdde Updated constructor with strong type param 2019-11-20 12:56:03 -07:00
David Hall 2eab8af7eb Changed project versions to 3.1.4 2019-11-13 23:07:14 -05:00
David Hall 035f6ce631 Updated project files for v3.1.3 2019-11-08 08:29:33 -07:00
David Hall 7f6c787af1 BREAKING CHANGE: moved interfaces and VARIANT from oaidl.h into Vanara.PInvoke.OleAut32 from Ole32 as they are actually hosted there. This required some changes to supproting code. 2019-11-06 22:13:59 -07:00
David Hall 0eb05fc0b0 Updated project info for 3.1.2 release 2019-11-04 06:49:29 -07:00
David Hall 6ef7235bf3 Update project versions to 3.1.2 2019-10-23 13:44:41 -06:00
David Hall 8302691c8e First pass at adding support for Windows Search 2019-10-23 13:42:37 -06:00
David Hall 4097090539 Fixed ShellItem.FileInfo and PropertyDescriptions so they don't throw exceptions on non-file system types. 2019-10-23 13:37:16 -06:00
David Hall 3a09d5230a Added parented constructor for ShellItemArray 2019-10-23 13:14:46 -06:00
David Hall 0223ac1721 Fixed ViewInExplorer for folder items 2019-10-23 13:14:23 -06:00
David Hall f10199e737 Changed EnumerateChildren to remove default params 2019-10-23 13:12:52 -06:00
David Hall 3045ff2aaa Fixed condition where IEnumIDList is not implemented (#68) 2019-10-21 07:23:25 -06:00
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