如何使用OpenFileDialog类(在C#,WPF等中),使其在网络区域默认打开?
这不起作用:
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "Network";
我还尝试将“\”作为InitialDirectory,但是没有用。
我也尝试将“\\”作为InitialDirectory,但也没有用。
答案 0 :(得分:8)
我没试过,但这应该有效:
openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.NetworkShortcuts);
Environment.GetFolderPath
以字符串形式返回与Environment.SpecialFolder
枚举条目对应的路径。
Environment.SpecialFolder.NetworkShortcuts
定义为
包含的文件系统目录 可能存在于中的链接对象 我的网络位置虚拟文件夹。
答案 1 :(得分:1)
Customize Your Open File Dialog在对话框中有很多的信息。我没有机会全部阅读,但这引起了我的注意:
自定义位置栏
...如果文件夹的名称是绝对路径或相对路径,则需要REG_SZ条目。如果要定位特殊文件夹,则需要使用特定于文件夹的编号(有关列表,请参见图6)。在这种情况下,需要REG_DWORD条目。
图6
文件夹ID
ID文件夹
0桌面
2开始菜单上的程序文件夹
3控制面板
4台打印机
5我的文件
6收藏夹
7开始菜单上的7 Startup文件夹
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中有效:
另一件事似乎微软已经改变了ComDlg32的位置,我尝试了两个地方但没有运气。