사내 내부망 전용 도구 · 가상 시연으로 진행됩니다
1
프로젝트 핵심 요약
🎯 개발 목적
VTS 시스템 경고창이 다른 화면에 가려지는 모니터링 사각지대 제거
⚙️ 주요 기능
5초 대기 후 포커스된 윈도우를 OS 레벨에서 영구 최상단 고정
🛠️ 기술 스택
PowerShell v5.1 · Win32 API (user32.dll) · .NET Framework
✅ 기대 효과
교대 시 창 배치 수동 작업 완전 제거 · 레이다 관제 시야 20% 확장
2
도입 전 / 후 비교
⚠️ Before · 기존 방식
- 경고창이 다른 화면에 가려져 즉각 인지 지연
- 경고창 상시 노출을 위해 모니터 화면을 수동 분할
- 교대 근무마다 창 경계를 마우스로 매번 드래그 조정
- 레이다 화면이 좁아져 관제 가시 구역 손실
매 교대마다 수동 조정
✅ After · 자동화 후
- 스크립트 실행 → 5초 내 창 클릭 → 즉시 최상단 고정
- 별도 소프트웨어 설치 없이 OS 내장 API만 사용
- 한번 고정하면 재부팅 전까지 영구 유지
- 레이다 화면 전체를 100% 관제용으로 활용
🕐 수동 조정 시간 → 0초
3
가상 시연 · 실행 흐름
1
스크립트 실행
창고정.ps1을 우클릭 → PowerShell에서 실행
2
5초 카운트다운 대기
이 시간 동안 고정할 창(System Warnings)을 클릭하여 활성화
3
자동 완료
Win32 SetWindowPos API 호출 → 해당 창 영구 최상단 고정 완료
# 시뮬레이션을 시작하려면 아래 버튼을 클릭하세요
+
소스코드 전문 공개
실제 구동되는 스크립트 소스코드 원본입니다.
창고정.ps1
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class W {
[DllImport("user32.dll")]
public static extern bool SetWindowPos(IntPtr h, IntPtr a, int x, int y, int c, int d, uint f);
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
}
"@
sleep 5
[W]::SetWindowPos([W]::GetForegroundWindow(), -1, 0, 0, 0, 0, 3)