5

OpenFileDialog クラス (C#、WPF など) を使用して、ネットワーク領域でデフォルトとして開くようにするにはどうすればよいですか?

これは動作しません:

  OpenFileDialog openFileDialog1 = new OpenFileDialog();
  openFileDialog1.InitialDirectory = "Network";

「\」を InitialDirectory として試してみましたが、うまくいきませんでした。

「\\」を InitialDirectory として試してみましたが、どちらも機能しませんでした。

4

2 に答える 2

8

私はそれを試していませんが、これはうまくいくはずです:

openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.NetworkShortcuts);

Environment.GetFolderPathEnvironment.SpecialFolder列挙エントリに対応するパスを文字列として返します。

Environment.SpecialFolder.NetworkShortcutsと定義されている

マイ ネットワーク仮想フォルダに存在する可能性があるリンク オブジェクトを含むファイル システム ディレクトリ。

于 2010-05-12T20:10:55.273 に答える
1

Microsoft MSDN Magazine の[開いているファイル ダイアログのカスタマイズ] には、ダイアログに関する多くの情報があります。すべてを読む機会はありませんでしたが、これは私の目に留まりました:

カスタム プレイス バー
...

フォルダーの名前が絶対パスまたは相対パスの場合は、REG_SZ エントリが必要です。特別なフォルダーをターゲットにする場合は、フォルダー固有の番号を使用する必要があります (一覧については、図 6 を参照してください)。この場合、REG_DWORD エントリが必要です。

図 6

フォルダ ID

ID フォルダ
0 デスクトップ
2 スタート メニューのプログラム フォルダ
3 コントロール パネル
4 プリンタ
5 マイ ドキュメント
6 お気に入り
7 スタート メニューのスタートアップ フォルダ
8 最近使用したファイル
9 送信先
10 ごみ箱
12 スタート メニュー
17 マイ コンピュータ
18 マイ ネットワーク
20 フォント

(記事が非常に長いため) 大量の情報を見逃してしまいましたが、ID 値を 18 に設定してネットワークの場所を取得できるようです。ただし、@Nelson が指摘しているように、これはバーにエントリを追加しているように見える可能性があるため、使用する前に再確認してください。前に言ったように、リンク先の投稿には多くの情報が含まれているため、必要なものがどこかに埋もれている可能性があります.

アップデート:

Windows 7 PC では動作しません。例えば:

OpenDialogPlaces o = new OpenDialogPlaces();
//o.Places.Add(18);
//o.Places.Add(5);
//o.Places.Add(6);
o.Init();
o.OpenDialog.ShowDialog();
o.Reset();

左側にすべてを表示します。

ここに画像の説明を入力

以前のバージョンの Windows では機能しました。

ここに画像の説明を入力

もう 1 つ、Microsoft が ComDlg32 の場所を変更したようです。両方の場所を試しましたが、うまくいきませんでした。

ここに画像の説明を入力

于 2010-05-12T19:56:01.157 に答える