private static void RegisterFolder() { Console.WriteLine("===============ADD================"); KnownFoldersSafeNativeMethods.NativeFolderDefinition d = new KnownFoldersSafeNativeMethods.NativeFolderDefinition(); d.category = FolderCategory.Common; d.localizedName = Marshal.StringToBSTR(EXT_NAME); d.definitionOptions = DefinitionOptions.LocalRedirectOnly; d.name = Marshal.StringToBSTR(EXT_NAME); d.description = Marshal.StringToBSTR("我的扩展描述"); d.localizedName = Marshal.StringToBSTR("MyExtension"); //var parent = KnownFolderHelper.FromKnownFolderId(new Guid("20D04FE0-3AEA-1069-A2D8-08002B30309D")); d.parentId = _computerGuid; d.folderTypeId = FolderTypes.Documents; d.relativePath = Marshal.StringToBSTR("MyExtension"); d.parsingName = Marshal.StringToBSTR("::{" + _guid + "}"); d.attributes = 1; m.RegisterFolder(_guid, ref d); Console.WriteLine("Extension added: {0}", EXT_NAME); Console.WriteLine(); Console.WriteLine(); }
public virtual extern void RegisterFolder( [In, MarshalAs(UnmanagedType.LPStruct)] Guid knownFolderGuid, [In] ref KnownFoldersSafeNativeMethods.NativeFolderDefinition knownFolderDefinition);