任务 5 – 添加 SaveFolder, NavPanePinnedState, Icon, 和 FolderType 命令
这三个命令共享公用行为。首先,用户只需要提供库的名称,就可以使用这些命令查询 到当前该库的状态。其次,为了实现这些命令,Windows API将这些作为ShellLibrary中的 属性,暴露给我们。
C#
// Summary:
// By default, this folder is the first location added to the library.
// The default save folder is both the default folder where files can be
// saved, and also where the library XML file will be saved, if no other
// path is specified
public string DefaultSaveFolder { get; set; }
public IconReference IconResourceId { get; set; }
// Summary:
// Whether the library will be pinned to the Explorer Navigation Pane
public bool IsPinnedToNavigationPane { get; set; }
// Summary:
// One of predefined Library types
//
// Exceptions:
// System.Runtime.InteropServices.COMException:
// Will throw if no Library Type is set
public LibraryFolderType LibraryType { get; set; }
Visual Basic
' Summary:
' By default, this folder is the first location added to the library.
' The default save folder is both the default folder where files can be
' saved, and also where the library XML file will be saved, if no other
' path is specified
Public Property DefaultSaveFolder() As String
Public Property IconResourceId() As IconReference
' Summary:
' Whether the library will be pinned to the Explorer Navigation Pane
Public Property IsPinnedToNavigationPane() As Boolean
' Summary:
' One of predefined Library types
'
' Exceptions:
' System.Runtime.InteropServices.COMException:
' Will throw if no Library Type is set
Public Property LibraryType() As LibraryFolderType