相关疑难解决方法(0)

Delphi:需要时提示UAC提升

我们需要在运行时将一些设置更改为HKEY_LOCAL_MACHINE.

是否可以在运行时根据需要提示uac提升,或者我是否必须启动第二个提升的流程来执行"脏工作"?

delphi uac elevation

36
推荐指数
3
解决办法
3万
查看次数

如何在没有管理员权限的进程的管理员权限的情况下启动新进程?

我正在为应用程序创建一个自动更新程序.应用程序由用户启动,无需管理员权限即可运行.autoupdater以管理员权限启动,并在下载新文件之前终止应用程序.

当我想在autoupdater完成后启动更新的应用程序时出现问题.如果我使用常规的System.Diagnostics.Process.Start(文件),应用程序也会以管理员权限启动,并且必须在当前用户上运行才能按预期工作.

那么,我如何使autoupdater以当前用户而不是管理员的身份启动应用程序?

我尝试过使用以下内容:

var pSI = new ProcessStartInfo() { 
    UseShellExecute = false, 
    UserName = Environment.UserName, 
    FileName = file 
};
System.Diagnostics.Process.Start(pSI);
Run Code Online (Sandbox Code Playgroud)

但是这会引发错误"无效的用户名或密码".我已检查用户名是否正确,我知道密码可能无效,因为我没有包含它.但是,要求用户输入他/她的密码不是一个选项,因为自动启动应用程序的全部原因是为了使用户更容易.

有什么建议?

c# windows administrator

36
推荐指数
5
解决办法
1万
查看次数

标签 统计

administrator ×1

c# ×1

delphi ×1

elevation ×1

uac ×1

windows ×1