【发布时间】:2010-11-26 09:39:54
【问题描述】:
您可以编写一个 AppleScript 并将其保存为应用程序,然后将其放在 Dock 上。但是是否可以向其中添加菜单项,以便在第二次单击时显示这些菜单项?如果是,如何定义它们,定义它们的动作?
谢谢
【问题讨论】:
标签: applescript contextmenu menuitem dock
您可以编写一个 AppleScript 并将其保存为应用程序,然后将其放在 Dock 上。但是是否可以向其中添加菜单项,以便在第二次单击时显示这些菜单项?如果是,如何定义它们,定义它们的动作?
谢谢
【问题讨论】:
标签: applescript contextmenu menuitem dock
我找出了我是如何做到的。这适用于 leopard 和更早版本:它是 shell 命令的可可应用程序包装器。对于雪豹,你可以直接为苹果脚本做。
#import Cocoa/Cocoa.h // add gt and lt (does not show here)
@interface runScript : NSObject {}
-(IBAction)runHello:(id)sender;
@end
#import "runScript.h"
@implementation runScript
-(IBAction)runHello:(id)sender
{
NSTask *script=[[NSTask alloc] init];
[script setLaunchPath:@"~/Desktop/hello.app/Contents/MacOS/hello"];
[script launch];
}
现在dock中的程序在右键单击时应该有“file->runHello”项。
您可以删除“Mainmenu.xib”中的窗口。 NSTask 也可以执行所有的 shell 命令,而不仅仅是脚本。
在 Snow Leopard 中有一个“applescript IBAction”。您可以将“Cocoa 应用程序”更改为“Applescript 应用程序”。
br,
朱哈
【讨论】:
Applescript 无法做到这一点。将 Applescript 保存为应用程序实际上只消除了需要脚本编辑器来运行脚本的要求以及其他一些小的更改。最后,它仍然只是一个脚本。如果您需要更多功能,那么您应该考虑使用 Xcode(过去称为 Applescript Studio)创建基于 Applescript 的应用程序。
【讨论】:
使用 Xcode,执行以下操作:
Bullet 4 有点摇摇欲坠,因为我不记得它是怎么回事。我会给你一个链接以供进一步阅读:http://cocoadevcentral.com/articles/000036.php。不过,将它与 applescript 链接应该没有任何问题。
如果您能发布一个可行的解决方案,我将不胜感激(我的意思是当您让它发挥作用时)。
br, 朱哈
【讨论】: