我正在尝试在阿尔弗雷德的Appigo Todo for Mac中创建新任务。因为它在服务菜单中提供OS X服务,让我突出显示任何文本并从中创建新任务。是否可以通过编程方式向此服务发送文本? (Shell脚本,AppleScripts,Automator等)
答案 0 :(得分:0)
有很多方法可以解决这个问题。
这是一个shell命令的示例,它将通过applescript将键击发送到最前面的应用程序:
osascript -e "tell application \"System Events\" to keystroke \"a\""
另请查看Cliclick,xdotool(来自MacPorts)和pymaCursor。
您可能还想考虑像Sikuli
这样的UI自动播放器答案 1 :(得分:0)
Invoking a Service Programmatically
尽管用户通常通过在“服务”菜单中选择一项来调用标准服务,但您可以使用此函数在代码中调用它:
BOOL NSPerformService(NSString *serviceItem, NSPasteboard *pboard)
如果服务执行成功,该函数返回YES
;否则,它返回 NO
。服务菜单项(任何语言)的名称包含在 serviceItem 中。它必须是服务的全名;例如, “Search in Google.”
参数 pboard 包含要用于服务的数据,当函数返回时,它包含从服务返回的数据。然后,您可以对数据进行任何您想要的操作。