我一直遇到一个问题,启动菜单中的某些应用程序实际上并没有在登录时启动。在查看应用程序列表后,我注意到实际上只有我在“以管理员身份运行”属性中设置的exe文件(在兼容性选项卡中)不运行(以及.cmd文件)。
如何在启动期间运行这些应用程序?
我一直遇到一个问题,启动菜单中的某些应用程序实际上并没有在登录时启动。在查看应用程序列表后,我注意到实际上只有我在“以管理员身份运行”属性中设置的exe文件(在兼容性选项卡中)不运行(以及.cmd文件)。
如何在启动期间运行这些应用程序?
Answers:
使用旧的Task调度程序方法在启动时启动具有提升权限的应用程序。
创建一个新的快捷方式
C:\ Windows \ System32 \ schtasks.exe / RUN / TN“MYTASKNAME”
将此快捷方式复制到启动文件夹中
还有一个名为UAC Pass的工具可以为您完成所有步骤。
我认为使用任务调度程序自动启动程序不是非常用户友好,有时它对我有副作用(例如,不添加程序的托盘图标)。
为了解决这个问题,我制作了一个名为Elevated Startup的程序,它首先以管理员权限重新启动,然后启动目录中的所有文件。由于Elevated Startup现在已升级,因此它启动的所有程序也将获得管理员权限。该目录位于经典Startup目录旁边的开始菜单上,并且工作方式非常相似。
根据您的UAC设置,当程序重新启动时,您可能会遇到一个UAC提示。
你可以在这里获得这个程序:https://stefansundin.github.io/elevatedstartup/
Windows不会运行任何“以管理员身份运行”或“以兼容运行”设置的程序。您需要运行一个“普通”程序,然后运行您的应用程序。
我使用一个程序,使用Windows“shellexecute”函数和“runas”动词,如elevate.exe(https://www.winability.com/info/elevate/),或编写自己的(如Deplhi6):
程序runasadmin;
{$ APPTYPE CONSOLE}
使用{SysUtils,} shellapi {,windows};
var s:ansistring;
开始s:= paramstr(1); ShellExecute(0,'runas',@ s [1],nil,nil,1); 结束。