<分区>
Possible Duplicate:
Request Windows Vista UAC elevation if path is protected?
大家好,我需要覆盖 c:\program files 中的某些特定文件....,对于 UAC,我没有对该文件的写入权限,这是我的问题,我如何请求提升以覆盖那个文件? 代码是用 c# 编写的,是一个 Windows 窗体应用程序。
<分区>
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/