.NET WindowsAPI:ファイルを開くダイアログで使用されている最新のディレクトリを取得または設定します

StackOverflow https://stackoverflow.com/questions/4423121

  •  09-10-2019
  •  | 
  •  

質問

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

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

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

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

役に立ちましたか?

解決

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

使用されているレジストリキーは、Windowsバージョン間で変更されています。 Win7では、hkey_current_user software microsoft windows currentversion explorer comdlg32 lastvisitedpidlmruだと思います。以前のバージョンにあったように、それはもはやClearTextにはありません。そこにリストされているキー値を解析しようとするリスクがある場合は、Windowsバージョンを確認してください。率直に言って、これは、initialDirectoryプロパティを初期化するために書く必要がある単純なコードの価値はありません。

他のヒント

OpenFileDialogのディレクトリをロードして保存し続けるためにコードを書きたくない場合は、これを行うラッパー関数を書き、ラッパー関数を呼び出すだけです...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top