FolderItem リファレンス

Tablacus Explorer が扱う 1 つのファイル/フォルダ/仮想フォルダ項目を表す FolderItem オブジェクトのリファレンスです。

記法: P=プロパティ、M=メソッド。

目次

  1. 概要
  2. 取得方法
  3. Tablacus Explorer 独自メンバー
  4. Windows 標準の FolderItem 互換のメンバー
  5. Windows 標準の FolderItem メンバー(委譲)
  6. 補足
  7. 使用例

1. 概要

シェルの FolderItem インターフェースを拡張したオブジェクトで、Tablacus 独自のメンバーに加えて、Windows 標準の FolderItem / FolderItem2 のメンバーもそのまま使えます(後者は Windows 側の実装に委譲されます)。


2. 取得方法

取得方法 返るもの
FV.FolderItem 現在のフォルダ
FV.Item(i) / FV.FocusedItem ビュー内の項目
FolderItems.Item(i) コレクション内の項目(FolderItems リファレンス)
api.ILCreateFromPath(path) パスから FolderItem
api.ILGetParent(item) 親フォルダの FolderItem
api.SHParseDisplayName(name) 表示名/パースパスから FolderItem
api.SHSimpleIDListFromPath(path, attr, [date], size) パスから 簡易IDListのFolderItem
FV.Items() / FV.SelectedItems() の各要素 FolderItem
イベントの引数 OnBeforeNavigate などの Item 引数

3. Tablacus Explorer 独自メンバー

名前 種別 説明
Alt P 代替の ItemIDList(OnTranslatePath の結果、なければ元のIDList)。代入すると「利用不可」状態が解除される
Unavailable P 「利用不可」状態の経過時間(ms)。0 以外を代入するとその時点から計測し、0 で解除。利用不可でなければ 0
Id P(読み) セッションID(整数)。FolderItems 列挙の識別や FV.AddItem の整合確認に使う
Enum P/M 列挙用オブジェクトを保持するプロパティ(代入すると内部の列挙オブジェクトとして登録される)。

4. Windows 標準の FolderItem 互換のメンバー

名前 種別 説明
Path P(読み) 完全なパス。ファイルシステム上は C:\Dir\a.txt、仮想フォルダは ::{GUID} 形式のパースパス
Name P フォルダ内での表示名(SHGDN_INFOLDER)。代入するとリネームする。OnSetName が登録されていれば先にそれが呼ばれ、戻り値があればその結果を採用する。名前が .xxx のように先頭ピリオドのみの場合、末尾に . を補って設定する

5. Windows 標準の FolderItem メンバー(委譲)

内部で Windows のシェルオブジェクトに渡されます。主なメンバーは次のとおりです。

名前 種別 説明
IsFolder P フォルダか(true/false)
IsFileSystem P ファイルシステム上のオブジェクトか
IsLink P ショートカットか
IsBrowsable P 開ける(ナビゲート可能な)か
Size P サイズ(バイト)
Type P 種類の文字列(「テキスト ドキュメント」等)
ModifyDate P 更新日時(代入で変更も可)
GetFolder P Folder オブジェクトを返す(子項目を Items() で列挙できる)
GetLink P ショートカットの ShellLinkObject
Parent P 親
Application P Shell.Application
Verbs() M 動詞(右クリックメニュー項目)の一覧
InvokeVerb([verb]) M 動詞を実行する(省略時は既定の動詞)
InvokeVerbEx(verb, args) M 引数付きで動詞を実行する
ExtendedProperty(name) M プロパティ値を取得する("System.Size"、"{GUID} pid" 等)。System.Link.TargetParsingPath は、結果が空のときにジャンクション/シンボリックリンクの参照先を補って返す

これらは Windows 側のバージョンにより利用できる範囲が異なります(FolderItem2 系は Windows 7 以降)。


6. 補足


7. 使用例

// パスから FolderItem を作ってナビゲート
const item = api.ILCreateFromPath("C:\\Windows");
FV.Navigate(item, SBSP_SAMEBROWSER);

// 基本的なプロパティ
const path = item.Path;
const isFolder = item.IsFolder;

// リネーム
item.Name = "newname.txt";

// 拡張プロパティ
const size = item.ExtendedProperty("System.Size");

// 親フォルダ
const parent = api.ILGetParent(item);

関連