代码之家  ›  专栏  ›  技术社区  ›  Will Eddins ianpoley

当用户没有复制文件的权限时,使用UAC提示

  •  3
  • Will Eddins ianpoley  · 技术社区  · 14 年前

    在我的应用程序中,如果用户将文件保存到他们没有权限的文件夹中, File.Copy 会失败。示例是将文档保存到c:\root。

    我不想拒绝访问,而是要提示用户使用UAC提示提升权限,但仅限于此保存功能(不适用于整个应用程序)。有办法吗?

    1 回复  |  直到 14 年前
        1
  •  5
  •   justin.m.chase    14 年前

    简而言之…不。

    整个过程需要提升,提升需要在启动时进行。然而!您可以创建一个单独的过程来完成这项工作。生成一个单独的.exe,它只执行此操作,并在命令行参数中获取所需的一切。您可以向进程添加将导致其提升的谓词:

    Process p = new Process();
    p.StartInfo.FileName = "copy.exe";
    p.StartInfo.Arguments = new [] { pathFrom, pathTo };
    p.Verb = "runas";
    p.Start();
    

    像这样…