C# 在标准帐户(Vista)中创建文件失败

C# 在标准帐户(Vista)中创建文件失败,c#,file,windows-vista,windows-xp,C#,File,Windows Vista,Windows Xp,我已经创建了C应用程序,它在桌面上创建了一个图像文件。它可以在XP和Vista管理员帐户上正常工作,但无法在Vista标准帐户的桌面上创建图像文件 我是否必须将清单文件包含到应用程序中才能正常工作? 如果我添加清单,它会在XP上正常工作吗 对不起,如果这是一个蹩脚的问题。 提前感谢。要回答您的第一个问题,在没有任何关于代码和生成错误的详细信息的情况下,标准帐户似乎没有在桌面上创建文件的权限 您可以在使用标准帐户登录时手动执行此操作吗?我没有安装Vista,因此无法检查自己。在桌面上创建文件应该没

我已经创建了C应用程序,它在桌面上创建了一个图像文件。它可以在XP和Vista管理员帐户上正常工作,但无法在Vista标准帐户的桌面上创建图像文件

我是否必须将清单文件包含到应用程序中才能正常工作? 如果我添加清单,它会在XP上正常工作吗

对不起,如果这是一个蹩脚的问题。
提前感谢。

要回答您的第一个问题,在没有任何关于代码和生成错误的详细信息的情况下,标准帐户似乎没有在桌面上创建文件的权限


您可以在使用标准帐户登录时手动执行此操作吗?我没有安装Vista,因此无法检查自己。

在桌面上创建文件应该没有问题。但是,该桌面现在可能有不同的位置。您实际上是在尝试在Vista桌面上创建文件,还是仍在尝试使用XP中的路径创建文件?你能把你的代码提炼成一个20行的例子吗?

你想在哪个文件夹中创建这个文件?共享桌面文件夹还是用户的桌面文件夹?普通用户无法创建共享桌面文件

您应该正在写入以下注册表值指定的文件夹:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop

确保您正在使用System.Environment.SpecialFolder类来告诉您用户桌面的实际位置。

我打赌这是访问权限的问题。Vista UAC出现并请求许可可能是一件好事

查看此链接了解如何获得UAC访问权限:


使用应用程序目录中的,授予用户所有权和删除权限。这包括单击“安全”选项卡中的“高级”按钮。应用更改后,文件IO应该可以正常工作。

仅当尝试在系统目录(如C:\Program Files…)中执行文件IO时,才需要我的建议。

我可以在桌面上手动创建文件,但通过程序创建文件失败。您需要向我们提供有关哪一行失败以及如何共享文件的详细信息代码和详细信息,它是如何失败的,异常消息等?您使用的是什么路径?