“以管理员身份运行”可防止应用程序自动启动

“以管理员身份运行”可防止应用程序自动启动

我遇到过一个问题,启动菜单中的某些应用程序在登录时实际上并没有启动。查看应用程序列表后,我注意到实际上只有我在属性中设置为“以管理员身份运行”(在兼容性选项卡中)的 exe 文件没有运行(还有一个 .cmd 文件)。

如何在启动时运行这些应用程序?

答案1

利用好旧的任务调度程序方法在启动时以提升的权限启动应用程序。

  1. 启动任务计划程序并创建新任务

  2. 勾选“以最高权限运行”

  3. 在操作下指向要运行的 exe

  4. 给任务命名并保存

  5. 创建新的快捷方式

    C:\Windows\System32\schtasks.exe /RUN /TN "MYTASKNAME"
    
  6. 将此快捷方式复制到启动文件夹

还有一个名为UAC 通行证它会为您完成所有步骤。

答案2

我认为使用任务计划程序自动启动程序不是很用户友好,有时它会给我带来副作用(例如未添加程序的托盘图标)。

为了解决这个问题,我制作了一个名为“Elevated Startup”的程序,它首先以管理员权限重新启动自身,然后启动目录中的所有文件。由于 Elevated Startup 现在已提升权限,因此它随后启动的所有程序也都具有管理员权限。该目录位于开始菜单上经典启动目录旁边,其工作原理非常相似。

根据您的 UAC 设置,当程序重新启动时,您可能会遇到一个 UAC 提示。

您可以在这里获取该程序:https://stefansundin.github.io/elevatedstartup/

答案3

另一个可行的解决方案(简单)(截至 2021 年 7 月):

将此行复制到记事本中:

启动/d”应用程序文件夹路径“ “”应用程序。EXE文件

改变大胆的到您自己的路径。然后将其另存为 .bat 文件到此位置:shell:启动

例子:

启动/d“G:\Software\obs-studio\bin\64bit” “”obs64.exe

这是唯一对我有用的方法。我使用的是 Windows 10 - 20H2(内部版本 19042.1110)。我尝试了任务计划程序方法、注册表和 Elevate(可赢性)。

答案4

Windows 不会运行任何设置了“以管理员身份运行”或“以兼容方式运行”的程序。您需要运行一个“普通”程序,然后再运行您的应用程序。

我使用一个使用 Windows“shellexecute”函数和“runas”动词的程序,例如 elevate.exe (https://www.winability.com/info/elevate/),或者编写自己的例如 (Deplhi6):

program runasadmin;
{$APPTYPE CONSOLE}
uses
  {SysUtils,} shellapi{, windows};
var
  s : ansistring;
begin
  s := paramstr(1);
  ShellExecute( 0, 'runas', @s[1], nil, nil, 1 );
end. 

相关内容