我正在尝试将空格键发送到应用程序而不先激活它。以下代码几乎可以实现我想要的功能,但它首先将应用程序带到前台。
tell application "X"
activate
tell application "System Events" to key code 49
end tell
答案 0 :(得分:8)
我不认为您可以向非活动应用程序发送击键,但您可以在激活应用程序并为其执行代码后立即隐藏应用程序。但是,这会导致应用程序在隐藏之前暂时闪烁。
tell application "System Events"
tell application "X" to activate
key code 49
set visible of process "X" to false
end tell
答案 1 :(得分:0)
之后如何停用它?
activate application "X"
tell application "System Events" to key code 49
activate me
答案 2 :(得分:0)
位置在屏幕外,以防止它在用户可以看到或降低其不透明度的地方闪烁。
答案 3 :(得分:0)
有一些调查课程。
如果您自己开发了该应用程序,则可以选择以下选项:
*只是暴露了一个公共属性,并将其设置为您要发送它的密钥。 *让您的应用程序轮询文件夹,然后通过该文件发送说明。
使用某种类型的Windows API挂钩,您可以在不激活它的情况下控制应用程序。我非常肯定,如果我把它放在心上,我可以控制计算机上的任何东西。
简单来说,开箱即用,它不一定是你发送的按键,你只是想指示它做点什么。有很多选项接口编组,Interops,OLE,DDE,看起来我已及时出现在这个网站上了!
答案 4 :(得分:0)
发送击键基本上可以看作是使用键盘,但唯一的区别是需要按下的键已经预定义。围绕这个过程的其余过程并没有改变。这意味着在您实际向其发送击键之前,仍然需要打开并激活应用程序本身。
但是,根据应用程序的不同,可能会在应用程序的API中使用某些Applescript函数向应用程序发送不同的输入,而不必先激活它。以Messages API为例:
tell application "Messages"
set theBuddy to buddy "someone@mac.com" of service "iMessage"
send "Hi there" to theBuddy
end tell