Archive for the 'CGPointZero' Category

2015/10/04 マウスカーソルの強制移動とクリック

Cocoaの機能を用いて、画面上の指定座標にマウスカーソルを移動させてクリックを行うAppleScriptです。

AppleのドキュメントによればAPI(CGPostMouseEvent)自体はOS X 10.6でDeprecatedになっているはずですが、OS X 10.11上でも動作します。

GUI Scriptingでは手の出ない処理(実際にマウスカーソルを動かさないと応答しないタイプのアプリケーションの操作、主にAdobe系)のために補助的に用いることになるでしょう。

また、GUI Scriptingについても、本Scriptについても、「標準のScripting機能では手が出ない機能を呼び出す」ための手段であり、何から何までGUI Scriptingで座標指定してクリックしまくるべきではない(速度、確実さ)ということを明記しておきます。

追記:10.12でも動きました
追記:10.13ではついに動かなくなりました。別の方法を模索

AppleScript名:ASOCでマウスの強制移動とクリック
– Created 2015-10-04 by Takaaki Naganoya
– 2015 Piyomaru Software
use AppleScript version “2.4″
use scripting additions
use framework “Foundation”
use framework “ApplicationServices”
use framework “Quartz”

my clickAt(100, 10)

on clickAt(newX, newY)
  
  
set pt to current application’s CGPointZero
  
set x of pt to newX
  
set y of pt to newY
  
  
current application’s CGPostMouseEvent(pt, 1, 1, 1)
  
current application’s CGPostMouseEvent(pt, 1, 1, 0)
  
end clickAt

★Click Here to Open This Script