c# - 我如何替换要求提升的文件

标签 c# winforms uac

<分区>

Possible Duplicate:
Request Windows Vista UAC elevation if path is protected?

大家好,我需要覆盖 c:\program files 中的某些特定文件....,对于 UAC,我没有对该文件的写入权限,这是我的问题,我如何请求提升以覆盖那个文件? 代码是用 c# 编写的,是一个 Windows 窗体应用程序。

最佳答案

您可以使用提升的权限启动另一个进程,在启动进程时使用 runas 动词。

像这样:

ProcessStartInfo info = new ProcessStartInfo("pathtoyourexecutable.exe");
info.Verb = "runas";
Process process = new Process();
process.StartInfo = info;
process.Start();

我不认为有任何方法可以摆脱创建新进程的需要,它不能在线程级别完成。您可以使用进程外 COM 对象,但那会更麻烦。

关于c# - 我如何替换要求提升的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5859075/

相关文章:

c# - 切换到 VS 2012,现在窗体不能正确调整大小?

c# - 使用 MySQL.NET 连接器连接

visual-studio - VS2008,IIS7 Web项目,非管理员。什么时候?

c# - 是否可以在 LINQPad 中使用 LINQ 调用存储过程?

c# - Web 应用程序中的数据访问应该在不同的任务上运行吗?

c# - CheckedListBox C# 的 RepeatDirection 属性

windows - 我的 Windows 应用程序是否需要使用受信任的证书进行签名?

c# - Unity 中的简单套接字服务器

c# - 如何从属性中抛出编译错误?

c++ - 无法以标准用户身份创建或写入文件