Bulucu Etkinliğini Kontrol Et

Bulucu meşgulse (programlı olarak) kontrol edebileceğim herhangi bir yol var mı? dosyalar kopyalanıyor? Dosya düzeyinde kontrol etmek istemiyorum; Sadece bulucu meşgulken meşgul olduğunu bilmek istiyorum.

Bence bu mümkün değil, ama her zaman burada bir şans veriyoruz :)

0
Neden bilmen gerekiyor? Bir kopya devam ederken başka şeyler yapmak mümkün olmalıdır.
katma yazar JWWalker, kaynak
Test ettim, ancak aktivite monitöründe ortaya çıkan belirli bir süreç göremiyorum.
katma yazar Thomas K, kaynak
Sistem monitörü mü?
katma yazar Kevin, kaynak

1 cevap

Ne yazık ki Apple, bu türden bilgileri almak için herhangi bir yöntem sağlamamaktadır.
Ancak, örneğin AppleScript kullanarak çalışabilecek bazı 'kirli' yollar vardır.

Aşağıdaki betik, Finder'ın 'copy window' öğesinin aktif olup olmadığını algılar:
(Hızla yazılmış ve tam olarak test edilmemiş, fakat harika çalışıyor gibi görünüyor.)

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

Son olarak, bu AppleScript'i Objective-C'den çalıştırmak için NSAppleScript komutunu kullanın.

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
katma
ÇALIŞIYOR bir cazibe gibi! Teşekkürler!
katma yazar Thomas K, kaynak
Bu, varsayılan dil olarak İngilizce olan bir sistem üzerinde çalışır. Bunu nasıl bir dilde anlayacağınıza dair bir ipucu var mı?
katma yazar beeb, kaynak