카테고리 없음

듀얼 모니터 창 이동 – 한 번에 모든 창 옮기기 방법

pinopia11 2025. 3. 4. 15:07

"Win + Shift + 방향키" 단축키로 창을 하나씩 옮기는 건 가능하지만,
1번 모니터의 모든 창을 한 번에 2번 모니터로 이동하는 단축키는 기본적으로 제공되지 않음

📌 하지만 별도의 프로그램 또는 스크립트를 활용하면 쉽게 해결할 수 있습니다.


✅ 1. 무료 프로그램 활용 – Dual Monitor Tools (DMT)

📌 해결 방법:
"Dual Monitor Tools"라는 무료 프로그램을 사용하면, 단축키 한 번으로 모든 창을 한 번에 이동할 수 있습니다.

🔹 설치 방법:

1️⃣ Dual Monitor Tools 공식 사이트에서 프로그램 다운로드
2️⃣ 설치 후 "Swap Screen" 기능 활성화
3️⃣ 단축키 설정에서 "Move All Windows to Next Monitor" 기능 단축키 지정

📌 이 기능을 사용하면 모든 창을 한 번에 이동할 수 있습니다. 🚀


✅ 2. PowerShell 스크립트 활용 (간단한 자동화 스크립트 작성)

윈도우 기본 기능에는 없지만, PowerShell 스크립트를 이용하면 모든 창을 한 번에 이동할 수 있음

🔹 스크립트 사용 방법:

1️⃣ 메모장을 열고 아래 코드를 복사 & 붙여넣기

Add-Type @"
using System;
using System.Runtime.InteropServices;
public class Win32 {
    [DllImport("user32.dll")]
    public static extern bool EnumWindows(EnumWindowsProc enumProc, IntPtr lParam);
    public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam);
    [DllImport("user32.dll")]
    public static extern bool GetWindowRect(IntPtr hWnd, out RECT lpRect);
    [DllImport("user32.dll")]
    public static extern bool IsWindowVisible(IntPtr hWnd);
    [DllImport("user32.dll")]
    public static extern IntPtr GetForegroundWindow();
    [DllImport("user32.dll")]
    public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
    public struct RECT { public int Left, Top, Right, Bottom; }
}
"@ -Name "Win32" -Namespace "Win32Namespace" -PassThru

$monitorWidth = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds.Width
$monitorHeight = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds.Height

$windows = @()
[Win32]::EnumWindows({ param($hWnd, $lParam)
    if ([Win32]::IsWindowVisible($hWnd)) { $windows += $hWnd }
    $true
}, [IntPtr]::Zero)

foreach ($hWnd in $windows) {
    [Win32]::GetWindowRect($hWnd, [ref]$rect)
    $newX = $rect.Left + $monitorWidth
    $newY = $rect.Top
    [Win32]::SetWindowPos($hWnd, [IntPtr]::Zero, $newX, $newY, 0, 0, 0x0040)
}

2️⃣ 파일 저장 시 "move_all_windows.ps1"로 저장
3️⃣ PowerShell을 관리자 권한으로 실행 후, 아래 명령어 입력

Set-ExecutionPolicy Unrestricted -Scope Process

4️⃣ 스크립트 실행:

.\move_all_windows.ps1

📌 이 스크립트를 실행하면 모든 창이 한 번에 두 번째 모니터로 이동합니다! 🚀


✅ 3. 유료 프로그램 활용 – DisplayFusion (고급 기능 제공)

무료 프로그램보다 더 다양한 기능을 원한다면 DisplayFusion 같은 유료 프로그램도 고려할 수 있습니다.

🔹 주요 기능:

✔ 단축키 한 번으로 모든 창을 특정 모니터로 이동 가능
✔ 모니터별 맞춤 단축키 설정 가능
✔ 창 크기 조절 및 위치 자동 조정

📌 무료 버전도 있지만, 모든 기능을 사용하려면 유료 버전 필요 (약 $29~35 정도).

📌 DisplayFusion 공식 사이트


🎯 결론 – 모든 창을 한 번에 옮기는 최적의 방법 정리

무료 & 간편한 방법: Dual Monitor Tools 설치 후 단축키 사용
스크립트로 자동화: PowerShell 스크립트 실행하여 모든 창 이동
프리미엄 기능 필요: DisplayFusion 같은 유료 프로그램 활용

📌 가장 쉬운 방법은 Dual Monitor Tools 사용!
📌 스크립트를 활용하면 무료로 자동화 가능!

🚀 위 방법 중 원하는 방식을 사용하면 듀얼 모니터 창 이동이 더욱 편리해질 것입니다! 💡✨