3

現在アクティブなアプリケーション (アクティブなウィンドウ) を追跡するバックグラウンド アプリケーションを作成したいと考えています。を使用してアクティブなアプリケーションを取得できましたが、GetFrontProcessいつ変更されたかを知ることができるように追跡する必要があります。私は2つの方法を考えました。やり過ぎを避ける。

これは邪魔にならないバックグラウンドスレッドであるべきなので、効率は私にとって重要です。それらの方法は正しいと思いますか。効率に関する考慮事項はありますか?より効率的なさまざまなアイデアについてお聞きしたいと思います。

助けてくれてありがとうギル

4

1 に答える 1

6

NSWorkspace通知を確認できますNSWorkspaceDidActivateApplicationNotification

例えば:

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

メソッドがあります:

-(void)appActivated:(NSNotification*) notification {
    NSRunningApplication* currentApp = [notification.userInfo valueForKey:NSWorkspaceApplicationKey];
    ....
}
于 2012-11-20T14:00:16.873 に答える