Files
AX-Copilot-Codex/src/AxCopilot/Services/WindowTracker.cs

25 lines
848 B
C#

using System.Runtime.InteropServices;
namespace AxCopilot.Services;
/// <summary>
/// 런처 활성화 직전의 포그라운드 창 핸들을 보존합니다.
/// SnapHandler, ScreenCaptureHandler에서 "이전 창"으로 사용됩니다.
/// App.xaml.cs의 OnHotkeyTriggered()에서 Capture()를 호출합니다.
/// </summary>
internal static class WindowTracker
{
[DllImport("user32.dll")] private static extern IntPtr GetForegroundWindow();
/// <summary>런처 활성화 직전의 창 핸들</summary>
public static IntPtr PreviousWindow { get; private set; } = IntPtr.Zero;
/// <summary>현재 포그라운드 창을 PreviousWindow에 저장합니다.</summary>
public static void Capture()
{
var hwnd = GetForegroundWindow();
if (hwnd != IntPtr.Zero)
PreviousWindow = hwnd;
}
}