Finderアクティビティを確認する

ファインダーがビジー状態であるかどうかを確認できる方法はありますか?ファイルをコピーしますか?私はファイルレベルでチェックしたくありません。私はちょうどファインダーが忙しいコピーであるかどうか一般的に知りたい。

私はそれが可能ではないと思うが、それはここにショットを与える価値が常にある:)

0
なぜあなたは知る必要がありますか?コピーが続く間に他のものを行うことは可能であるはずです。
追加された 著者 JWWalker,
私はそれをテストしましたが、アクティビティモニターで特定のプロセスが表示されることはありません。
追加された 著者 Thomas K,
システムモニタ?
追加された 著者 Kevin,

1 答え

Appleはこの種の情報を取得する方法を提供していません。
しかし、AppleScriptを使用するなどの「ダーティな」方法があります。

次のスクリプトはFinderによる「コピーウィンドウ」がアクティブであるかどうかを検出します:
(すばやく書かれていて、徹底的にテストされていませんが、うまく機能しているようです)

set thestatus to "not copying"
tell application "System Events"
    set theList to get the title of every window of process "Finder"
    repeat with theItem in theList
        if theItem contains "Copy" then
            set thestatus to "copying"
        end if
    end repeat
end tell
thestatus

最後にObjective-CからこのAppleScriptを実行するために NSAppleScript を使用してください

NSString *theScript = @"set theStatus to \"not copying\"\n"
"tell application \"System Events\"\n"
"set theList to get the title of every window of process \"Finder\"\n"
"repeat with theItem in theList\n"
"if theItem contains \"Copy\" then\n"
"set theStatus to \"copying\"\n"
"end if\n"
"end repeat\n"
"end tell\n"
"theStatus";

NSDictionary *errorInfo = nil;
NSAppleScript *run = [[NSAppleScript alloc] initWithSource:theScript];
NSAppleEventDescriptor *theDescriptor = [run executeAndReturnError:&errorInfo];

if ([[theDescriptor stringValue] isEqualTo:@"copying"]) {
    NSLog(@"Finder is copying");
} else {
    NSLog(@"Finder is not copying");
}
2
追加された
魅力的な作品!ありがとう!
追加された 著者 Thomas K,
これは、デフォルト言語として英語を使用するシステム上で動作します。言語にとらわれない方法でこれを行う方法に関するヒント?
追加された 著者 beeb,