|
|
1
151
啊哈!我已经弄明白了。如果ahk和目标应用程序没有以相同的权限(或用户)运行,则ahk将无法正确拦截/模拟键盘事件。在我的例子中,Visual Studio是以管理员(提升的)权限运行的,而ahk脚本是以当前登录用户的身份运行的。 以下任一项解决了问题:
|
|
|
2
41
只想在OP自己找到的解决方案中添加几个点。 1)问题不在AHK和VS运行时 不同的 权限-它只是由运行在 非管理员 模式无法在运行在 管理员 模式,但如果是相反的模式就没问题了。 2)不需要编译脚本,只需将autohotkey.exe设置为在管理模式下运行(我就是这样做的),或者创建特定脚本的快捷方式,并将其设置为始终在管理模式下运行。 (顺便说一句,只是指出,运行一个已编译版本的ahk脚本并不能提高性能,因为代码仍然是被解释的-只是现在解释器被嵌入到创建的可执行文件中了) |
|
|
3
1
这是由于一个名为 User Interface Privilege Isolation (UIPI) ,它是用户帐户控制(UAC)的一部分。 常见问题解答中列出了几种解决方法:
我一般不建议以管理员的身份运行脚本来解决这个问题,因为它有可能是意外的或不需要的副作用。例如,脚本启动时使用的任何程序
当然,我也不推荐最后两个选项。只剩下 使用用户界面访问运行 ,可以按上述方式启用和使用。 |
|
4
0
这个短语在 small print 声音相关: 如果在自动执行部分(脚本顶部)中使用sendmode,则会影响所有重新映射。但是,由于重新映射使用send blind,并且sendplay模式不完全支持blind,因此某些重新映射可能无法在sendplay模式下正常工作。( 尤其是控球、移球、ALT和胜利 )要解决此问题,请在重新映射时避免“自动执行”部分中的sendplay;然后在整个脚本的其他位置使用命令sendplay和send。或者,您可以将重新映射转换为热键(如下所述),该热键显式调用sendEvent和send。 |
|
5
0
显然,有一个解决办法。
从文档
Program.htm#Installer_uiAccess
.
Excerpt:
到ahk文件的下载链接在论坛上被破坏,但我在Github上找到了它: EnableUIAccess.ahk |
|
Willy · LINQ:将分组列表转换为新列表 8 年前 |
|
|
Kapil · 如何使用参数设置脚本任务SSI的路径 8 年前 |
|
|
c00000fd · 跨命名空间和不同的.H文件的友元类 9 年前 |
|
|
tangoal · 调用模板类成员时非法使用此类型作为表达式 9 年前 |