TShellListViewのパスを設定して、Delphi 2007を使用してファイルのディレクトリを表示したいと思います。最初にTShellListView.Rootを使用して、次のようなルートパスを設定すると、必要なディレクトリが表示されます。
View := TShellListView.Create(Self);
// ...
View.Root := 'C:\Windows';
ただし、ユーザーがバックスペースを使用してそのディレクトリから移動し、.Rootを元のディレクトリに戻そうとしても、表示されるディレクトリは変更されません。.Rootは、現在のディレクトリではなく、シェル名前空間のルートを定義するためのもののようです。
また、ユーザーが(バックスペースなどを使用して)ナビゲートした場合、.Rootプロパティは、現在表示されているパスを反映するように更新されません。TShellTreeViewのような.Pathプロパティはありません。
TShellListViewの関連するメソッドはすべてプライベートに見えるため、TShellListViewをTShellTreeViewにリンクして、TShellTreeView.Pathを設定したり、ShellCtrls.pasをハックしたりせずに、現在のパスを文字列として取得および設定する方法が必要です。パスを取得/設定する簡単な方法がないとは信じがたいので、ここでは簡単なものが欠けていると思いますが、このコンポーネントはまったく文書化されていません。