BathyScapheのアイコンセット生成&適用ツール
Rev. | 6e8cc12f806a8991530cec1b7ebdddcc8223edb7 |
---|---|
サイズ | 1,704 バイト |
日時 | 2012-06-02 23:23:37 |
作者 | masakih |
ログメッセージ | [Mod] versionを1.5.2に更新
|
//
// NSWorkspace-Extensions.m
// IconSetComposer
//
// Created by Hori,Masaki on 06/01/25.
// Copyright 2006 __MyCompanyName__. All rights reserved.
//
#import "NSWorkspace-Extensions.h"
#import "NSAppleEventDescriptor-Extensions.h"
@implementation NSWorkspace(HMCocoaExtention)
-(BOOL)quitApplication:(NSString *)appName
{
NSAppleEventDescriptor *targetDesc;
NSAppleEventDescriptor *appleEvent;
AppleEvent reply;
NSAppleEventDescriptor *replyDesc;
NSAppleEventDescriptor *anser;
OSStatus err;
targetDesc = [NSAppleEventDescriptor targetDescriptorWithAppName:appName];
if(!targetDesc) return NO;
appleEvent = [NSAppleEventDescriptor appleEventWithEventClass:kCoreEventClass
eventID:kAEQuitApplication
targetDescriptor:targetDesc
returnID:kAutoGenerateReturnID
transactionID:kAnyTransactionID];
if(!appleEvent) return NO;
err = AESendMessage( [appleEvent aeDesc], &reply, kAECanInteract + kAEWaitReply , kAEDefaultTimeout );
if( err == procNotFound) {
AEDisposeDesc(&reply);
return YES;
}
if(err != noErr) return err;
replyDesc = [[[NSAppleEventDescriptor allocWithZone:[self zone]] initWithAEDescNoCopy:&reply] autorelease];
anser = [replyDesc paramDescriptorForKeyword:keyErrorNumber];
err = (OSStatus)[[anser stringValue] floatValue];
if(err != noErr) {
anser = [replyDesc paramDescriptorForKeyword:keyErrorString];
if(anser) NSLog(@"Target returned error. (%@)",[anser stringValue]);
}
return err == noErr;
}
@end