-4

我是 Objective-C 的新手,我正在尝试将 AppleScript 翻译成 Objective-C。使用 AStranslate,我得到了错误Untranslated event 'sysoexec'

以下是我要翻译的applescript:

do shell script "/System/Library/CoreServices/'Menu Extras'/User.menu/Contents/Resources/CGSession -suspend"

我在谷歌上搜索过,有人说NSTask可以用来模拟终端运行命令。我已经尝试了几个小时,但无法弄清楚如何使用NSTask. 有人可以帮我翻译 AppleScript 吗?

谢谢,我想要的只是有一个按钮来运行这个终端命令,而不是使用 applescript。

我还在上目标 C 的第一堂课……

我试试这个,似乎不起作用

@implementation hopethiswork

- (IBAction)press:(id)sender {

    NSTask *a = [[NSTask alloc] init];

    [a setLaunchPath:@"/System/Library/CoreServices/'Menu Extras'/User.menu/Contents/Resources/CGSession"];
    [a setArguments:[NSArray arrayWithObject:@"-suspend"]];
    [a launch];

}
@end
4

1 回答 1

2
NSTask *a = [[NSTask alloc] init];
[a setLaunchPath:@"/System/Library/CoreServices/'Menu Extras'/User.menu/Contents/Resources/CGSession"];
[a setArguments:[NSArray arrayWithObject:@"-suspend"]];
[a launch];
于 2013-07-21T11:47:52.720 回答