在不同的操作系统下如何正确得到当前使用中的桌面路径?

nimeide1234567890 2014-11-05 04:00:56
RegistryKey folders;
folders = OpenRegistryPath(Registry.CurrentUser, @"/software/microsoft/windows/currentversion/explorer/shell folders");
// Windows用户桌面路径
string desktopPath = folders.GetValue("Desktop").ToString();
zm1.Text = desktopPath;

string filePath2 = System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
zm2.Text = filePath2;

这2种写法得到的都是:
C:\Documents and Settings\Default User\桌面
而不是当前使用中的桌面:
C:\Documents and Settings\Krl\桌面

在windows 2003 server 或者2008的操作系统下得不到当前使用中的桌面,怎么办?
或者说,在保存导出的Excel文件时候如何让弹出一个保存框来保存到任意位置?
...全文
285 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
by_封爱 2014-11-11
  • 打赏
  • 举报
回复
LZ似乎要玩xls? 不如看看 这个吧.. http://bbs.csdn.net/topics/390830774
nimeide1234567890 2014-11-11
  • 打赏
  • 举报
回复
net 如何得到WINDOWS SERVER 2008的当前桌面路径?
nimeide1234567890 2014-11-07
  • 打赏
  • 举报
回复
还是没搞定啊
nimeide1234567890 2014-11-05
  • 打赏
  • 举报
回复
引用 7 楼 Z65443344 的回复:
[quote=引用 4 楼 luojianfeng 的回复:] [quote=引用 2 楼 bdmh 的回复:] System.Environment.SpecialFolder.Desktop
输出为空,我的是WEB的[/quote] web就别想了 你根本不要想控制IE到底把文件放到哪里去 IE会提示用户将文件下载到哪里,不用你操心[/quote] foreach (DataRow dr in dt.Rows) { streamWriter.WriteLine(dr["sDeviceAdd"] + " " + dr["sMeterNO"] + "\r\n"); } streamWriter.Close(); Response.Clear(); Response.Buffer = false; Response.Charset = "GB2312"; Response.AppendHeader("Content-Disposition", "attachment;filename=最新数据.txt"); Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); Response.ContentType = "application/ms-excel"; this.EnableViewState = false; Response.Write(streamWriter); Response.End(); 为什么没有弹出保存或下载对话框?
於黾 2014-11-05
  • 打赏
  • 举报
回复
引用 4 楼 luojianfeng 的回复:
[quote=引用 2 楼 bdmh 的回复:] System.Environment.SpecialFolder.Desktop
输出为空,我的是WEB的[/quote] web就别想了 你根本不要想控制IE到底把文件放到哪里去 IE会提示用户将文件下载到哪里,不用你操心
by_封爱 2014-11-05
  • 打赏
  • 举报
回复
而且

RegistryKey = OpenRegistryPath(Registry.CurrentUser, @"/software/microsoft/windows/currentversion/explorer/shell folders");
 
这是客户端的注册表么....
by_封爱 2014-11-05
  • 打赏
  • 举报
回复
一颗星星的大神 居然想在web做导出到客户端指定位置???? 我没看错吗?
nimeide1234567890 2014-11-05
  • 打赏
  • 举报
回复
引用 2 楼 bdmh 的回复:
System.Environment.SpecialFolder.Desktop
输出为空,我的是WEB的
於黾 2014-11-05
  • 打赏
  • 举报
回复
正解 使用 SaveFileDialog SFD=new SaveFileDialog(); DialogResult DR=SFD.ShowDialog(); 然后判断DR是否是DialogResult.OK(判断用户是否点了确定)
bdmh 2014-11-05
  • 打赏
  • 举报
回复
System.Environment.SpecialFolder.Desktop
xdashewan 2014-11-05
  • 打赏
  • 举报
回复
请用SaveFileDialog http://msdn.microsoft.com/zh-cn/library/system.windows.controls.savefiledialog(v=VS.95).aspx

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧