Programowo przechwytuj otwieranie / zamykanie aplikacji

0

Czy jest możliwe, za pomocą AppleScript, usługi działającej w tle lub demona, lub w jakikolwiek inny programowy sposób, przechwycić następujące zdarzenia:

  • uruchamiana jest konkretna aplikacja (np. Aperture, Excel ...),
  • aplikacja jest zamykana lub zamykana,
  • aplikacja na pierwszym planie lub w tle?

Celem byłaby zmiana stanu systemu / pref (np. Układ klawiatury, profil ekranu itp.) W sposób zależny od aplikacji.

Oczywiście sugestie dotyczące istniejących rozwiązań są mile widziane.

Alexandre Halm
źródło

Odpowiedzi:

1

Możesz otrzymywać powiadomienia o uruchamianiu i zamykaniu aplikacji. TN2050 firmy Apple : Obserwowanie czasu życia procesu bez odpytywania zapewnia szczegóły.

Najlepszą metodą śledzenia ogólnego przeznaczenia jest NSWorkspacei jego powiadomienia NSWorkspaceDidLaunchApplicationNotificationoraz NSWorkspaceDidTerminateApplicationNotificationpowiadomienia.

Nie wierzę, że istnieje trywialny sposób na wdrożenie tych metod TN2050 w AppleScript. Prawdopodobnie będziesz musiał napisać małą aplikację Objective-C / Cocoa lub użyć narzędzia innej firmy.

Graham Miln
źródło
Dzięki. Moje kakao jest trochę stare, ale powinienem pomyśleć o powiadomieniach. Wydaje się być właściwym narzędziem.
Alexandre Halm,