脚本以管理员身份运行时 Send 函数失效 Topic is solved

遇到了问题?请先进行搜索(中文和英文),然后在此提问

Moderators: tmplinshi, arcticir

adedcss

脚本以管理员身份运行时 Send 函数失效  Topic is solved

Post by adedcss » 07 Aug 2023, 08:26

目前我使用 AHK 对按键进行重定向,
一个简单的示例为

Code: Select all

Launch_APP2::
{
    Send "{F13}"
}
因此当我按下计算器按键 (对应 Launch_APP2) 时,
AHK 会发送 F13 这个功能键,
我随后可以在其他软件中将 F13 作为快捷键使用

但是当其他以管理员身份运行的界面作为焦点时,
例如以管理员身份运行的Windows终端内,
AHK 脚本将不起作用,
作为弥补,我必需将该脚本也授予管理员身份

但是当 AHK 脚本以管理员身份运行时,
其发送的按键无法被其他软件正常接收,
目前仅当其他软件也同样以管理员身份运行时才能正常工作

我尝试了 Send 函数的其他变体,
但是均没有解决以上问题

此外,我在文档中看到了:
Send may have no effect if the active window is running with administrative privileges and the script is not. This is due to a security mechanism called User Interface Privilege Isolation.
当活动窗口以管理身份运行而当前脚本不是时, Send 可能没有效果. 这是由于一种叫做用户界面特权隔离的安全机制造成的.
但不确定是否是该情况的根源

因此,我希望能有一种解决方法,
使得 AHK 脚本以 UIA 运行时,
其他未提权的软件能够正常接收 Send 发送的按键

Return to “请求帮助”