我创建了一个非常简单的AutoIt脚本,它模拟了我在一个网站上登录的密钥。所有脚本所做的是发送"testUser{Tab}testPassword{enter}",其中Tab和enter是相关的键,当我按下'键时发生。
当我用管理员权限运行Visual Studio时,这个热键不再工作,我总是得到'而不是我的登录(如果你不能复制,请重新启动浏览器)。有人知道为什么吗?
编辑:这是我的自动编辑脚本:
HotKeySet('`', '_SendLogin')
While 1
Sleep(200)
WEnd
Func _SendLogin()
Send('Jimmy{TAB}password{ENTER}')
EndFunc
没有UAC提升的进程不能向已提升的进程插入任何内容。称为UIPI(用户界面特权隔离),这是UAC中鲜为人知的方面。它可以防止未提升的应用程序劫持提升的应用程序来绕过UAC限制。例如,使用按键注入。
似乎VB重置了热键的状态。
也许可以尝试在脚本的顶部添加#RequireAdmin。
这是另一个解决方法:
While 1
HotKeySet('`', '_SendLogin')
Sleep(1000)
WEnd
Func _SendLogin()
Send('Jimmy{TAB}password{ENTER}')
EndFunc