Verificați activitatea de căutare

Există vreo modalitate de a verifica (programatic) dacă detectorul este ocupat de ex. copierea fișierelor? Nu vreau să o verific pe dosar; Vreau doar să știu în general dacă găsitorul este ocupat cu copierea.

Cred că nu este posibil, dar merită întotdeauna să-i dăm o lovitură :)

0
De ce trebuie să știți? Ar trebui să fie posibil să faceți alte lucruri în timp ce o copie merge mai departe.
adăugat autor JWWalker, sursa
Am testat-o, dar nu văd niciun proces specific care să apară în monitorul de activitate.
adăugat autor Thomas K, sursa
Monitor de sistem?
adăugat autor Kevin, sursa

1 răspunsuri

Din păcate, Apple nu oferă nicio metodă pentru a recupera acest tip de informații Cu toate acestea, există câteva moduri "murdare" care ar putea funcționa, de exemplu folosind AppleScript.

Următorul script detectează "fereastra de copiere" de către Finder este activă sau nu:
(Rapid scris și nu testat temeinic, dar pare să fie mare de lucru.)

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

În cele din urmă, utilizați NSAppleScript pentru a rula acest AppleScript din Obiectiv-C

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
adăugat
Lucrează ca un farmec! Mulțumiri!
adăugat autor Thomas K, sursa
Acest lucru ar funcționa pe un sistem cu limba engleză ca limbă implicită. Orice sugestie despre cum să faceți acest lucru într-un mod lingvistic-agnostic?
adăugat autor beeb, sursa