管理员权限提示未在执行过程中显示

时间:2015-11-04 03:21:26

标签: c# winforms process console admin

我想将xml文件保存到本地文件系统上的MyDocuments文件夹中。为此,我使用以下内容:

xmlDoc.Save(Path.GetPathRoot(savePath + saveName));

savePath

的位置
String qnPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "QuesitNote\\");
String savePath = Path.Combine(qnPath, "SavedDecks");

saveName是用户输入的string,格式为没有空格。

由于管理权限问题,我无法做到这一点。到目前为止,我已经尝试了许多解决方案,包括以下内容:

第一种方法有效,但我只想要特定方法的管理员权限,我保存xml文件的方法。 第二个给了我一个System.Security.SecurityException。 并且第三个出现,但实际上并没有创建文件,只是给出了我创建的“成功”消息。 UAC提示永远不会出现。

此时,我不知道如何解决这个问题。理想情况下,我只能使用一种方法的管理权限(使用我的第二次尝试),但第三次尝试的修复也会有所帮助。 如何让UAC提示(第三次尝试),或以其他方式解决此问题?

1 个答案:

答案 0 :(得分:0)

您可以创建流程并使用以下属性:

Process.StartInfo.UseShellExecute = true;
Process.StartInfo.Verb = "runas";

然后在您的过程中,您可以保存文件。