-1

当使用 winfrom 单击按钮时。并调用 save filDialog 将出现“C:\Windows\system32\config\systemprofile\Desktop”。

http://i.stack.imgur.com/wH7J9.jpg

挑战是该软件必须在“系统”用户中运行。但我使用 SaveFileDialog 来保存文件。会出现类似“C:\Windows\system32\config\systemprofile\Desktop”的消息。

我想问题是当我使用“系统”用户时,默认用户配置文件不存在,并且找不到“Destop”floder 路径。因为它不会有“用户配置文件”@“系统”用户。

此错误出现在我单击按钮时,此应用程序尝试初始化 SaveFileDialog 并尝试在左侧生成图标快捷方式,从而导致错误。下拉框也有保存问题。

http://i.stack.imgur.com/5Hy3S.jpg

任何人都知道如何删除左侧的图标短切和下拉框图标也有同样的问题。

    using (var dialog = new SaveFileDialog())
        {

            dialog.DefaultExt = "txt";
            dialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
            dialog.Title = "test";                
            dialog.AutoUpgradeEnabled = false;
            dialog.InitialDirectory = Application.StartupPath;
            try
            {                   
                DialogResult result = dialog.ShowDialog(this);
                if (result == DialogResult.OK)                                       
                {
                    //do something
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.StackTrace);

            }
        }

我只是使用非常非常简单的代码。

附言。我正在使用 C#.net 4.0 , vs2010 在 win2008r2 和 win 7 上运行

谢谢大家!!!

4

1 回答 1

0

尝试设置 SaveFileDialog 的 InitialDirectory 属性

        SaveFileDialog sfd = new SaveFileDialog();
        sfd.InitialDirectory = "c:\\yourDirectory";

您也可以使用此方法检查我的文档目录是否存在于磁盘上。

Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));
于 2012-05-29T10:49:54.547 回答