AppleScriptの速度が遅すぎるため、ScriptingBridgeを試して、System Preferences.appを開き、現在のペインを設定しました。これも遅すぎます。それを行うより速い方法がありますか?適切プリフェンをプログラムで開く最速の方法は?
答えて
起動サービスまたはNSWorkspaceを使用して、プリファインバンドルを開きます。 Open(1)コマンドのプログラム版です。
非常に簡単:
system("open -a System\\ Preferences");
とオープンしているペインを選択する:
提供open /System/Library/PreferencePanes/Internet.prefPane
open /System/Library/PreferencePanes/DateAndTime.prefPane
...
あなたは、少し試行錯誤して、最初の/System/Library/PreferencePanes/
の右のファイルを見つけました。
私は確信していますココアこの最後のトリックを行う方法は、まだ...これはすべての言語で動作します。また
:サードパーティーのアプリは自分の
*.prefPane
ファイルをインストールする場所それはだとして、あなたが...これらのパスをチェックすることもできます/Library/PreferencePanes/ ~/Library/PreferencePanes/
どのように正確に、あなたはスクリプトを使用しましたブリッジ?
私はこのコードを試してみました、私はそれが合理的に実行思う:ここ
SystemPreferencesApplication *SystemPreferences = [SBApplication applicationWithBundleIdentifier:@"com.apple.systempreferences"];
@try {
[SystemPreferences activate];
SystemPreferences.currentPane = [SystemPreferences.panes objectWithID:@"com.apple.preference.security"];
} @catch (NSException *exception) {
NSLog(@"%@", [exception description]);
}
はココアでちょうど楽しみのために別のオプションですが、すべてでは文書化されていません(とのみのシステム環境設定パネルで動作します)。パフォーマンスを比較するために使用することはできますが、実動コードでは使用しないでください。
id bezelServicesTask = [NSConnection rootProxyForConnectionWithRegisteredName:@"com.apple.BezelServices" host:nil];
[bezelServicesTask performSelector:@selector(launchSystemPreferences:) withObject:@"Security.prefPane"];
私はあなたとまったく同じスクリプトブリッジコードを持っています(例外コードを除いて) - 私はAppleサンプルから私のものを取り出しました。奇妙なことは、すでにPreferencePanesフォルダ内にあるprefpaneファイルをダブルクリックすると、システム環境設定が開き、ペインが即座に読み込まれるということです。 –
私はScripting Bridgeを使ってテストしました。しかしそれは非常に遅いことが判明しました。 –
ファイルシステムパスを使用するより直接的な方法が示されているようNSWorkspaceと設定パネルのための適切なリソースのURLを使用することである。
urlString
が可能の一部のリストから取られた
NSString *urlString = @"x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility";
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:urlString]];
パーフェクト!現在受け入れられている回答よりもはるかに優れた方法です。特に、プレフウィンドウの特定のセクションを開くことができます。私は特に、Security prefペインのアクセシビリティセクションにそれを公開したいと考えていたので、あなたの答えは特に私にとって重要でした。 – GuyGizmo
2番目の考えでは、この方法はMacOS 10.9では動作しないので、完全ではありません。しかし、それは他の選択肢に後退し、10.10以降でこれを使用することは、世界の終わりではありません。 – GuyGizmo
10.10+の場合は、これが受け入れられる回答である必要があります。完璧に動作します。 – Bryan
- 1. nodejs inodeでnfsファイルを開く(またはファイルを開くための最も速い方法)
- 2. プログラムの設定でアプリケーション権限ウィンドウをプログラムで開く方法
- 3. UIViewの角を丸くする最善の方法と最速の方法は?
- 4. 最速の方法は、
- 5. 最速の方法
- 6. jquery mobile alpha 4でプログラムでダイアログを開く方法は?
- 7. アドオンをフルスクリーンでプログラムで開く方法はありますか?
- 8. タスクバーをプログラムで開く方法はありますか?
- 9. 指定したプログラムでコマンドラインからファイルを開く方法は?
- 10. gmail、yahoo、rediffのメールをアプリケーションでプログラムで開く方法
- 11. 最速の方法 - Pythonの
- 12. Dijit AccordionContainer内でペインをプログラムで開く最善の方法を教えてください
- 13. 最速のインポート方法
- 14. イメージプリロード...最速の方法
- 15. jqueryで親に行く最速の方法
- 16. Word文書のテキストをプログラムで置換する最速の方法
- 17. デフォルトのギャラリーでキャッシュされたビットマップをより速く開く方法
- 18. アンドロイドで言語リストページを開く方法プログラムで
- 19. アンドロイドスタジオでデバイス言語設定をプログラムで開く方法
- 20. URLを打つコードを書く最速の方法
- 21. 多くの行を挿入する最速の方法
- 22. emacsとsshでリモートファイルを開く最も良い方法は
- 23. 小さなサーバーを書くための最も速い方法
- 24. MicroblazeでXILINX XPSを使用する - FPGAをプログラムする最も速い方法
- 25. JavascriptでColdFusionのlistFindNoCase関数を最も速く実装する方法は?
- 26. ExtJS 4 MVCデスクトップ - プログラムでモジュールを作成/開く方法
- 27. プログラムで新しいブラウザウィンドウを開く方法
- 28. Qt:外部プログラムでファイルを開く方法 "open with ..."ダイアログ
- 29. wpfアプリケーションからwinformをプログラムで開く方法
- 30. PHPStorm/Webstorm、関連するプログラムでファイルを開く方法
システムPreferences.appが呼び出されても、それほど時間がかかりますが気になりましたか?私はそれに気付いたので。 –
これまでの質問とこれを参考にして、http:///0xced.blogspot.com/2008/02/upgrading-system-preference-pane.html – 0xced
をご覧ください。 –