Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何更改“中的修改器关键点”;系统偏好>;键盘>;修改键…“;_Objective C_Xcode_Cocoa_Xcode4 - Fatal编程技术网

Objective c 如何更改“中的修改器关键点”;系统偏好>;键盘>;修改键…“;

Objective c 如何更改“中的修改器关键点”;系统偏好>;键盘>;修改键…“;,objective-c,xcode,cocoa,xcode4,Objective C,Xcode,Cocoa,Xcode4,我需要以编程方式更改“系统首选项>键盘>修改器键…”中的大写锁定键、控件键、选项键和命令键的值 我不想用AppleScript 有人能给我指出正确的方向吗?正如我在评论中所建议的: 我想如果你可以通过AppleScript来完成,那么你就可以执行了 通过cocoa代码执行相同的命令;) 为此,您可以参考本文档: 希望这有帮助:)这是apple脚本capsLockOff.scpt: tell application "System Preferences" activate set

我需要以编程方式更改“系统首选项>键盘>修改器键…”中的大写锁定键、控件键、选项键和命令键的值


我不想用AppleScript


有人能给我指出正确的方向吗?

正如我在评论中所建议的:


我想如果你可以通过AppleScript来完成,那么你就可以执行了 通过cocoa代码执行相同的命令;)

为此,您可以参考本文档:


希望这有帮助:)

这是apple脚本capsLockOff.scpt:

tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preference.keyboard"
end tell

tell application "System Events"

    tell application process "System Preferences"
        get properties

        click button "Modifier Keys…" of tab group 1 of window "Keyboard"
        tell sheet 1 of window "Keyboard"
            click pop up button 4
            click menu item "No Action" of menu 1 of pop up button 4
            delay 1
            click button "OK"

        end tell
    end tell
end tell

tell application "System Preferences" to quit
下面是调用上述脚本的代码。希望这会有所帮助

-(void)runAppleScript{

    NSString *fileName = @"capsLockOff";

    NSString* path = [[NSBundle mainBundle] pathForResource:fileName ofType:@"scpt"];
    NSURL* url = [NSURL fileURLWithPath:path];NSDictionary* errors = [NSDictionary dictionary];
    NSAppleScript* appleScript = [[NSAppleScript alloc] initWithContentsOfURL:url error:&errors];
    [appleScript executeAndReturnError:nil];
    [appleScript release];
}

请看我的答案。设置在
~/Library/Preferences/ByHost/.GlobalPreferences..plist

中,我认为如果您可以通过AppleScript完成设置,那么您可以通过cocoa代码执行相同的命令;)我需要回答同样的问题,但是我不在乎它是AppleScript还是其他什么。我只需要这样做。你有没有找到答案?Marquev,没有,我从来没有找到解决方案。请参阅中的我的答案。我不想使用AppleScript,因为用户会知道它。如果我使用AppleScript,苹果会接受它在Mac App Store上的程序中使用吗?@Miraj,你刚刚链接到苹果关于使用脚本的开发人员文档(顺便说一句,你的链接好像死了。)你有关于这个特定问题的任何信息,而不仅仅是一般脚本吗?