/// <summary> /// ウィンドウへのフォーカスが変化したときに呼ばれる /// </summary> /// <param name="focus"></param> private void OnApplicationFocus(bool focus) { if (focus) { // もしウィンドウハンドル取得に失敗していたら再取得 if (!uniWin.IsActive) { FindMyWindow(); } // アクティブウィンドウを監視して if (!isWindowChecked) { if (uniWin.CheckActiveWindow()) { isWindowChecked = true; // どうやら正しくウィンドウをつかめているよう } else { // ウィンドウが違っているようなので、もう一度アクティブウィンドウを取得 uniWin.Reset(); uniWin.Dispose(); uniWin = new UniWinApi(); FindMyWindow(); } } } }