Skip to content

Commit

Permalink
Merge pull request #33 from Freeesia/feature/fix_move_window
Browse files Browse the repository at this point in the history
ウィンドウを移動できない問題修正
  • Loading branch information
Freeesia authored Mar 27, 2024
2 parents 1fed65d + d6e3874 commit 63350d9
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions VdLabel/WindowMonitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,15 @@ private void CheckProcesses()
}
User32.EnumWindows((hWnd, lParam) =>
{
// ウィンドウが表示されていない場合は今後再チェックする
if (!User32.IsWindowVisible(hWnd))
{
return true;
}
windows.Add(hWnd);
if (!this.checkedWindows.Add(hWnd) || !User32.IsWindowVisible(hWnd))

// すでにチェック済みのウィンドウはスキップ
if (!this.checkedWindows.Add(hWnd))
{
return true;
}
Expand All @@ -90,7 +97,7 @@ private void CheckProcesses()
catch (Win32Exception)
{
// 仮想デスクトップを切り替えるタイミングで例外が発生することがある
this.checkedWindows.Remove(hWnd);
windows.Remove(hWnd);
return true;
}
if (string.IsNullOrEmpty(commandLine) || string.IsNullOrEmpty(windowTitle))
Expand Down Expand Up @@ -124,7 +131,7 @@ private void CheckProcesses()
{
// 移動するタイミングですでにウィンドウが閉じられていることがある
this.logger.LogWarning($"ウィンドウ移動失敗: {windowTitle}, {commandLine}");
this.checkedWindows.Remove(hWnd);
windows.Remove(hWnd);
}
return true;
}, nint.Zero);
Expand Down

0 comments on commit 63350d9

Please sign in to comment.