System.ItemNameDisplay
"最も完全な" 形式の表示名。 エンド ユーザーに最も適した項目名の一意の表現です。
Windows 10、バージョン 1703、Windows 10、バージョン 1607、Windows 10、バージョン 1511、Windows 10、バージョン 1507、Windows 8.1、Windows 8、Windows 7、Windows Vista
propertyDescription
name = System.ItemNameDisplay
shellPKey = PKEY_ItemNameDisplay
formatID = B725F130-47EF-101A-A5F1-02608C9EEBAC
propID = 10
SearchInfo
InInvertedIndex = true
IsColumn = true
typeInfo
type = String
IsInnate = true
解説
PKEY 値は Propkey.h で定義されます。
この値は、 System.ItemNamePrefix と System.ItemName の結合 です。
アイテムがファイルの場合、このプロパティには、エクスプローラーに示すように表示名が含まれます。 System.FileName が指定されていても、このプロパティの値が完全に異なる場合があります。 電子メール メッセージが良い例です。 アイテムが電子メール メッセージの場合、通常はアイテム名が件名になります。 その場合、値は System.ItemNamePrefix と System.ItemName の連結である必要があります。 System.ItemNamePrefix の値は末尾のスペースを除外するため、 連結には System.ItemNameDisplay の生成時にスペースを含める必要があります。 このプロパティは一意であるとは限りませんが、一意である可能性が最も高く、エンド ユーザーにも意味のある候補を昇格するように設計されていることに注意してください。
たとえば、ドキュメントの場合、 System.Title を System.ItemNameDisplay として使用できますが、実際には、ドキュメントのタイトルが役に立たないか、唯一の System.ItemNameDisplay として機能するのに十分に一意でない場合があります。 代わりに、 System.ItemNameDisplay の値として System.FileName を指定することをお勧めします。 Windows メールでは、電子メールは .eml ファイルとしてファイル システムに格納されます。 これらのファイルの System.FileName 値は GUID であるため、人間にとってわかりやすいものではありません。 この例では、 System.Subject を System.ItemNameDisplay として昇格する方が理にかなっています。
互換性に関する注意事項:
- Windows Vista でのシェル フォルダーの実装: Windows エクスプローラーで IShellFolder::GetDisplayNameOf(SHGDN_NORMAL) を呼び出して名前の値を取得する場合は、名前列にPKEY_ItemNameDisplayを使用します。 Windows エクスプローラーでフォルダーのプロパティ ストアまたは IShellFolder2::GetDetailsEx を呼び出して名前の値を取得する場合は、PKEY_ItemNameなどの別の PKEY を使用します。
- Windows XP でのシェル フォルダーの実装: 最初の列は名前列である必要があり、Windows エクスプローラーは IShellFolder::GetDisplayNameOf を呼び出して名前の値を取得します。 PKEY/SCID は重要ではありません。
項目の種類 | 例 |
---|---|
ファイル | hello.txt |
Message | Re: 会議はどこにありますか? |
デバイス フォルダー | song.wma |
Folder | ドキュメント |
関連トピック