CCR
1
RT,试了自动提权的示例代码
full_command_line := DllCall(“GetCommandLine”, “str”)
if not (A_IsAdmin or RegExMatch(full_command_line, " /restart(?!\S)“))
{
try
{
if A_IsCompiled
Run ‘*RunAs "’ A_ScriptFullPath '” /restart’
else
Run ‘*RunAs "’ A_AhkPath ‘" /restart "’ A_ScriptFullPath ‘"’
}
ExitApp
}
以及通过计划任务提权,还有创建快捷方式到启动文件夹并设置快捷方式为管理员运行,但是要么无效,要么还是弹出提权提示窗口
在不动用N_Sudo_LG及其dll的情况下,如何做到优雅地以管理员身份静默自启?
附原脚本
总结
#NoTrayIcon
#Hotif WinActive("原神")
; 使用空格键控制Alt键
F11 & Space::Send "{Alt down}"
F11 & Space Up::Send "{Alt up}"
; 使用X键控制小道具Z键
F11 & X:: Send "{Z down}"
F11 & X Up:: Send "{Z up}"
; 使用Y键控制同意Y键
F11 & Esc:: Send "Y"
; 使用T键控制地图M键
F11 & T:: Send "M"
; 使用1键控制背包B键
F11 & 1:: Send "B"
; 使用2键控制角色C键
F11 & 2:: Send "C"
; 使用3键控制任务J键
F11 & 3:: Send "J"
; 使用4键控制联机设置F2键
F11 & 4:: Send "{F2}"
; 使用F键召唤Win键
F11 & F:: Send "{LWin}"
yeppfox
2
这个。。。我记得所有的AHK脚本都是用管理员身份运行的。
yeppfox
3
一直使用 RunAsTask() v1 v2
v2 版本较 v1 更完善一些,使用 v1 版本后脚本将不能接收参数
CCR
5
否认,这个的大概原因,应该是由于直接使用administer账户导致的
yeppfox
6
win11,"创建任务“,”不一用创建基本任务“,勾选”最高权限运行“,常规选择”只在用户登录时“,触发器选择任何用户登录时。
Nigh
10
计划任务偶尔不知道为啥会抽风。有次系统升级后我自己添加的自动启动全部失效了。调试良久无果。最后是新建了跟之前一模一样的计划任务,居然就可以,所有设置都一模一样的。大概这就是windows 的特色吧。
1 Like
CCR
12
解决了,定位问题:启动了两次导致的……删除启动文件夹里面的快捷方式,仅保留任务计划即可
AHK代码
#NoTrayIcon
#SingleInstance force
full_command_line := DllCall("GetCommandLine", "str")
if not (A_IsAdmin or RegExMatch(full_command_line, " /restart(?!\S)"))
{
try
{
Run '*RunAs "' A_ScriptFullPath '" /restart'
}
ExitApp
}
#Hotif WinActive("原神")
; 使用空格键控制Alt键
F11 & Space:: Send "{Alt down}"
F11 & Space Up:: Send "{Alt up}"
; 使用X键控制小道具Z键
F11 & X:: Send "{Z down}"
F11 & X Up:: Send "{Z up}"
; 使用Y键控制同意Y键
F11 & Esc:: Send "Y"
; 使用T键控制地图M键
F11 & T:: Send "M"
; 使用1键控制背包B键
F11 & 1:: Send "B"
; 使用2键控制角色C键
F11 & 2:: Send "C"
; 使用3键控制任务J键
F11 & 3:: Send "J"
; 使用4键控制联机设置F2键
F11 & 4:: Send "{F2}"
; 使用F键召唤Win键
F11 & F:: Send "{LWin}"
kimi360
13

SkipUAC可以解决问题,简化了创建计划任务的操作,拖进去打勾就能自动以管理员身份启动并且跳过uac,下面是官网地址,可能需要点魔法 