(初学者)你好,
现在手续已不复存在,我想知道这里的任何人是否有UAC的经验。
我提出问题的原因如下。我在一个小型FSU(现场服务实用程序)上工作,以帮助我们的现场工程师与我们拥有的客户端一起使用,问题是客户端系统将EnabledLUA运行为0-effectivley已禁用。
如果我左移并右键单击该应用程序,然后选择以其他用户身份运行,则可以使用管理员权限运行该应用程序,到目前为止,我以这种方式进行管理,但有点不足。
所以我的问题是我如何在禁用uac的情况下强制Runas或UAC提示
我已经在我的program.cs中
但是禁用uac会导致程序挂起,如果我检查任务管理器,我可以看到应用程序不断关闭并重新打开,只有一种停止它的方法是注销/重新启动
任何帮助表示赞赏
谢谢
菲尔
p.s忘记添加
我的应用清单文件中已经有requireAdministrator
现在手续已不复存在,我想知道这里的任何人是否有UAC的经验。
我提出问题的原因如下。我在一个小型FSU(现场服务实用程序)上工作,以帮助我们的现场工程师与我们拥有的客户端一起使用,问题是客户端系统将EnabledLUA运行为0-effectivley已禁用。
如果我左移并右键单击该应用程序,然后选择以其他用户身份运行,则可以使用管理员权限运行该应用程序,到目前为止,我以这种方式进行管理,但有点不足。
所以我的问题是我如何在禁用uac的情况下强制Runas或UAC提示
我已经在我的program.cs中
C#:
static void Main()
{
WindowsPrincipal pricipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
bool hasAdministrativeRight = pricipal.IsInRole(WindowsBuiltInRole.Administrator);
if (!hasAdministrativeRight)
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.WorkingDirectory = Environment.CurrentDirectory;
startInfo.FileName = Application.ExecutablePath;
startInfo.Verb = "runas";
try
{
Process p = Process.Start(startInfo);
Application.Exit();
}
catch (System.ComponentModel.Win32Exception ex)
{
MessageBox.Show("This utility requires elevated priviledges to complete correctly.", "Error: UAC Authorisation Required", MessageBoxButtons.OK);
//Debug.Print(ex.Message);
return;
}
}
else
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
但是禁用uac会导致程序挂起,如果我检查任务管理器,我可以看到应用程序不断关闭并重新打开,只有一种停止它的方法是注销/重新启动
任何帮助表示赞赏
谢谢
菲尔
p.s忘记添加
我的应用清单文件中已经有requireAdministrator
Last edited: