2009/4/13 Bill Janssen <jans...@parc.com>
>
>
> I was afraid of that...  Is there an easy way to do that from the
> command line given its PID?


Using an AppleEvent given the appropriate bundle id of the application is
actually pretty easy.I have found this in one my quite old project:

+ (OSStatus)quitApplicationWithBundleID:(NSString *)aBundleID {

  OSStatus err;

  AppleEvent event, reply;

  const char *bundleIDString;



  bundleIDCString = [aBundleID UTF8String];



  err = AEBuildAppleEvent(kCoreEventClass, kAEQuitApplication,
typeApplicationBundleID,

                          bundleIDCString, strlen(bundleIDCString),
kAutoGenerateReturnID,

                          kAnyTransactionID, &event, NULL, "");



  if (err == noErr) {

    err = AESendMessage(&event, &reply, kAENoReply, kAEDefaultTimeout);

    AEDisposeDesc(&event);

  }

  return err;

}


Haven't tested with Leopard yet, but I'm sure it works there.


HTH

--Luca C.
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to