用于点击的AppleScript提示用户

时间:2015-11-04 21:02:21

标签: applescript screen-capture

对于我的学习,我使用了很多screencapture功能作为终端命令。最近我开始使用AppleScript来自动化一些屏幕截图。但现在我想更进一步。

是否可以使用&#34;显示对话框&#34;等命令,但查询2次点击,其坐标将被分配给screencapture命令,以便它拍摄屏幕图片?< / p>

我在考虑这样的事情:

set click1 to "0,0"
set click2 to "0,0"
display dialog "Click where the screen area to grab begins" & click1
display dialog "Click where the screen area to grab begins" & click2

do shell script "screencapture -R click1,click2 /Users/user/Desktop/name_of_the_file.png"

1 个答案:

答案 0 :(得分:0)

Applescript没有任何捕获鼠标点击,甚至获取位置的机制。您可以使用对框架的调用来获取鼠标位置。 但是,您必须使用可可应用程序解决方案来捕获屏幕点击。

一个想法是你可以使用一个AppleScript流程,让你在2秒内放置第一个鼠标位置,然后它会发出哔哔声告诉你它已经捕获了它,然后你还有两秒钟将指针放在第二个在它捕获它之前的位置。 像这样:

use framework "Foundation"
use scripting additions

display dialog "Place your mouse pointer in the first position within 2 seconds, then after the beep, place it in the second position within 2 seconds."
delay 2
set theList to current application's NSEvent's mouseLocation()
set xCoord1 to theList's x
set yCoord1 to theList's y
beep
delay 2
set theList to current application's NSEvent's mouseLocation()
set xCoord2 to theList's x
set yCoord2 to theList's y
beep

display dialog (((xCoord1 as string) & ", " & yCoord1 as string) & return & xCoord2 as string) & ", " & yCoord2 as string