任務 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