次を使用して、フォーカス変更イベントハンドラーをプログラムのウィンドウに追加します。
Automation.AddAutomationFocusChangedEventHandler(myHandler)
外部プログラムが正しく実行できません。私のプログラムが実行中でイベントをリッスンしているとき、world of tanks のランチャーは world of tanks ゲーム クライアントを起動できません。私のプログラムは複数のコンピューターで 24 時間年中無休で実行することになっているため、これは問題です。また、あるプログラムに干渉することがわかっている場合、他のプログラムにも干渉する可能性があります。
対象のコード:
public static void SetWindowFocusChangeSubscriber()
{
AutomationFocusChangedEventHandler focusHandler = new AutomationFocusChangedEventHandler(OnFocusChange);
Automation.AddAutomationFocusChangedEventHandler(focusHandler);
}
private static void OnFocusChange(object src, AutomationFocusChangedEventArgs e)
{
return;
}
では、これがなぜなのか誰か知っていますか?そして、それを修正する方法は?自動化ライブラリの使用を避ける必要がありますか?
編集:ああ、ところで、私のプログラムは戦車の世界とはまったく関係がなく、それと対話したいと思っています。アクティブなウィンドウがいつ変更されたかを検出したいだけです。