差分

ナビゲーションに移動 検索に移動

Xamarin.MacでAppleScriptを実行する

1,939 バイト追加, 2015年7月2日 (木) 05:24
ページの作成:「Xamarin.Macで作られたアプリの中からAppleScriptを呼び出したいことも多いだろう。 AppleScriptMacにおいては他社製...」
[[Xamarin.Mac]]で作られた[[アプリ]]の中から[[AppleScript]]を呼び出したいことも多いだろう。
[[AppleScript]]は[[Mac]]においては他社製のアプリを起動したり制御したりする手軽な[[インターフェイス]]として重宝する。

==実装1:NSAppleScriptクラスを使う==
Foundation名前空間にNSAppleScriptクラスという直球なものが存在する。
使い方はいたって簡単で、コンストラクタの引数にAppleScriptを渡して、ExecuteAndReturnErrorメソッドを呼ぶだけである。

この例では[[iTunes]]を起動し再生ボタンが押された状態にする。
<source lang="csharp">
using System;

using AppKit;
using Foundation;

namespace PlayiTunes
{
static class MainClass
{
static void Main(string[] args)
{
// Cocoa初期化(NS〜系クラスを使うためのおまじない)
NSApplication.Init();

// iTunesを起動し再生するAppleScript
// 使い終わったら必ずDispose()すること。
using (var script = new NSAppleScript("tell application \"iTunes\" to play"))
{
// スクリプトを実行する
var errors = new NSDictionary();
var result = script.ExecuteAndReturnError(out errors);

if (result != null)
{//たぶん正常終了

// 戻り値はNSAppleEventDescriptor
Console.WriteLine(result.Description);
}
else
{//たぶん異常終了

}

}//dispose script
}
}
}
</source>

==関連項目==
*[[MonoMac/AppleScriptを実行する]]
*:[[MonoMac]]にはNSAppleScriptクラスが存在しないため別の手段を使う必要がある。

==参考文献==
{{reflist}}

{{stub}}

[[category:Xamarin.Mac]]
匿名利用者

案内メニュー