3

ファイルを開くダイアログでInitialDirectoryプロパティを設定せずに、vistaファイルを開くダイアログで使用される初期ディレクトリを設定または取得する方法はありますか?

WPFで(起動時に)すべての[開く/保存]ダイアログに対してデフォルトのフォルダーを1回設定する必要があります。マシンが実行されている限り、Vistaで気付いた場合は、ダイアログとして開いたり保存したりするファイルから、ユーザーが最後に選択したディレクトリをデフォルト/追跡し続けます。メモ帳やその他のプログラムはこのように機能します。

私がこれを達成しようとしている理由は、アプリ内でそれを追跡し、フォルダーを設定して保存する必要がないためです。デフォルトを設定し、その後vistaに追跡させたいと思います。

Directory.SetCurrentDirectoryはそれを行いません。

4

2 に答える 2

3

あなたはあなたの問題を解決するためにあなたがしなければならない正確なことを除外しています。InitialDirectoryを設定しない場合、ダイアログは最後に使用されたディレクトリを使用します。この情報はレジストリに保存され、プロセス名でインデックスが付けられます。この動作を選択的にオフにすることはできません。

使用するレジストリキーは、Windowsのバージョン間で変更されています。Win7では、HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ComDlg32\LastVisitedPidlMRUになっていると思います。以前のバージョンのようにクリアテキストではなくなりました。そこにリストされているキー値を解析しようとするリスクを冒したい場合は、Windowsのバージョンを確認してください。率直に言って、これは、InitialDirectoryプロパティを初期化するために作成する必要がある単純なコードの価値はありません。

于 2010-12-12T19:30:04.880 に答える
0

OpenFileDialogのディレクトリをロードおよび保存し続けるためのコードを記述したくない場合は、これを実行するラッパー関数を記述してから、ラッパー関数を呼び出します...

于 2010-12-12T19:38:33.850 に答える