Windows エクスプローラーで選択されているファイルの現在のコレクションを取得する必要があります。hereから次のコードを見つけました。
しかし、私はまだそこにいません。一つには、どこGetForegroundWindow
から来たのですか?そして別のこととして、コンパイラは次の行で文句を言います
var shell = new Shell32.Shell();
言って
「型または名前空間名 'Shell32' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)」. SHDocVw を参照として追加しましたが、まだコンパイラを通過できません。誰かがこれを完了するのを手伝ってくれますか?
IntPtr handle = GetForegroundWindow();
ArrayList selected = new ArrayList();
var shell = new Shell32.Shell();
foreach(SHDocVw.InternetExplorer window in shell.Windows()) {
if (window.HWND == (int)handle)
{
Shell32.FolderItems items = ((Shell32.IShellFolderViewDual2)window.Document).SelectedItems();
foreach(Shell32.FolderItem item in items)
{
selected.Add(item.Path);
}
}
}