initWithEventClass:eventID:targetDescriptor:returnID:transactionID:
記述タイプとプロセス番号でアップルイベントデスクリプタを初期化して返します
-(id)initWithEventClass:(AEEventClass)eventClass: eventID:(AEEventID)eventID: targetDescriptor:(NSAppleEventDescriptor *)addressDescriptor: returnID:(AEReturnID)returnID: transactionID:(AEtransactionID)transactionID:
解説
指定した記述タイプ(descType)とプロセス番号でアップルイベントデスクリプタオブジェクトを初期化して返します。クリエータタイプ(typeAppleSignature)を渡す方法では、イベントを送信することができません。(10.2)
【descType】AppleEvent送付先を指定するタイプ
● typeAppleSignature アプリケーションのクリエータタイプ
● typeProcessSerialNumber プロセスのシリアル番号
{0,kNoProcess}存在しない
{0,kSystemProcess}システムプロセス
{0,kCurrentProcess}現在のプロセス
● typeSessionID セッションID
● typeTargetID ターゲットID
返り値
( id )
アップルイベントデスクリプタ
引数
( AEEventClass )eventClass
イベントクラス
( AEEventID )eventID
イベントID
( NSAppleEventDescriptor * )addressDescriptor
アドレスデスクリプタ
( AEReturnID )returnID
リターンID
( AEtransactionID )transactionID
トランザクションID
フレームワーク
Foundation
クラス
NSAppleEventDescriptor
Instance Methods
使用可能
10.0
参照
例文
#import "MyObject.h" @implementation MyObject - (IBAction)myAction:(id)sender { RequestSystemRestart(); } //リスタートする static BOOL RequestSystemRestart() { OSStatus status = noErr; const ProcessSerialNumber systemPsn = { 0, kSystemProcess };//アプリのプロセスナンバー //ターゲットを作る NSAppleEventDescriptor* targetDesc = [NSAppleEventDescriptor descriptorWithDescriptorType: typeProcessSerialNumber bytes: &systemPsn length: sizeof(systemPsn) ]; //イベントを作る NSAppleEventDescriptor* restartEvent = [[NSAppleEventDescriptor alloc] initWithEventClass: kCoreEventClass eventID: kAEShutDown// targetDescriptor: targetDesc returnID: kAutoGenerateReturnID transactionID: kAnyTransactionID ]; //AppleEvent送信 status = AESendMessage( (const AppleEvent*)[restartEvent aeDesc], NULL, kAENoReply | kAECanSwitchLayer | kAEAlwaysInteract, kAEDefaultTimeout ); return (status == noErr); } @end