3

特にユーザーが現在フルスクリーンアプリケーション内にいる場合は、アプリを介してデスクトップ/ファインダーに焦点を合わせたいと思います。私は次のようなものを使おうとしています:

[[NSWorkspace sharedWorkspace] launchApplication:@"Finder"];

[[NSWorkspace sharedWorkspace] openFile:nil withApplication:@"Finder"];

ただし、これらのコード行を使用すると、新しいFinderウィンドウで「すべてのファイル」が開きます。
デスクトップ/ファインダーに焦点を合わせたいのですが、どうすればよいですか?AppStore対応のコードを探しています。
ありがとう!

4

3 に答える 3

12

cocoaのNSWorkspaceを使用してそれを行うことができます-特別な資格は必要ありません

NSArray *apps = [[NSWorkspace sharedWorkspace] runningApplications];

for (NSRunningApplication *app in apps) {
    if([app.bundleIdentifier.lowercaseString isEqualToString:@"com.apple.finder"]) {
        [app activateWithOptions:NSApplicationActivateAllWindows|NSApplicationActivateIgnoringOtherApps];
        break;
    }
}
于 2013-03-15T22:18:22.697 に答える
2

これは、applescriptを使用して行うことができます。これは、少し調査していくつかの資格を入力した後、Macストアアプリと一緒に使用できるはずです。

これがあなたが望むことをするAppleScriptスクリプトです:

tell application "Finder" to activate

資格エントリ:

<key>com.apple.security.temporary-exception.apple-events</key>
<array>
    <string>com.apple.finder</string>
</array>

また、資格付与プロセスの詳細については、こちらこちらをご覧ください。

私はこれが完全な答えではないことを理解しています-私はマックの専門家ではありません。私はあなたの問題を解決するための正しい方向にあなたを向けようと試みたかっただけです。

于 2013-03-15T21:54:14.577 に答える
0

Swift、使用NSRunningApplication.runningApplications

NSRunningApplication.runningApplications(withBundleIdentifier: "com.apple.finder").first?.activate(options: [])
于 2020-10-14T14:06:15.170 に答える