1

マシンが「アイドル状態」のときにアプリを実行する方法を探しています (これはバックグラウンド タスクです)。良い出来事は、スクリーンセーバーが起動したときです。私はすでに auf launchd のマニュアルを読み、すでに LaunchAgent を使用して特定の間隔でアプリを起動していますが、スクリーンセーバーがアクティブなときにアプリを起動するのに役立つものは何も見つかりませんでした。

それを行う可能性はありますか?

前もって感謝します!

ジョシュ

4

4 に答える 4

2

Snow Leopard の場合、screenIsLocked 通知と screenIsUnlocked 通知は利用できなくなりました。私がうまく使ったのは次のとおりです。

[[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector:@selector(locked:) name:NSWorkspaceScreensDidSleepNotification object:nil];

[[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector:@selector(unlocked:) name:NSWorkspaceScreensDidWakeNotification object:nil];
于 2012-06-05T12:37:04.540 に答える
2

com.apple.screenIsLockedバックグラウンドで実行され、およびという名前の分散通知をリッスンする別のプロセスを用意しcom.apple.screenIsUnlockedます。(これは Snow Leopard 用です。Leopard は別の通知名を使用していました。通知ウォッチャーと実験を使用して、それらが何であるかを調べてください。) これらの通知のいずれかが届いたら、必要に応じて実際のアプリを起動または適切に終了*します。

*これには Apple Event を使用する必要があります。

于 2009-09-18T14:08:32.923 に答える
1

私は新しいユーザーなので、portenkirchner の提案にコメントしたり投票したりすることはできません。Matt Swann はScriptSaverを移動しました。

スクリーンセーバーのロックを解除すると、AppleScript プログラムが実行されます。

于 2015-02-28T17:04:00.100 に答える
0

Matt Swann の ScriptSaver を使用できます。これは Mac OS X のスクリーンセーバーで、アクティブ化と非アクティブ化の際に AppleScript を実行できます。

http://swannman.wordpress.com/projects/scriptsaver/

于 2010-07-31T11:57:05.183 に答える