网页 综合 更新时间 2026-11-10 11:48:21

NCSoft Purple 多开游戏窗口位置错乱或缩在屏幕外?清理窗口位置注册表与一键网格平铺实操 - Purple

自动蜘蛛 purple-purple.net 正文约 1326 字
使用 NCSoft Purple 多开运行《天堂2M》、《天堂W》或《剑灵2》时,拔插外接副屏或切换分辨率后,常常出现游戏在后台运行有声音、桌面却看不见窗口,或者窗口标题栏被推到屏幕最上方无法拖动的现象。 这是因为 Purple 及虚幻引擎渲染层将窗口的历史绝对坐标(X, Y 坐标及长宽)直接写入了 Windows 注册表和本地配置文件。当显示器有效区域缩小或坐标变为负值时,游戏在启动时强行读取已失效的坐标,导致窗口成为"桌面幽灵"。
针对双显拔插丢失:选中窗口焦点,连续按 Win + Shift + 左方向键(或右方向键),强制将窗口从离线虚拟空间投掷回当前物理屏幕。
t HKEY_CURRENT_USER\Software\NCSoft
ResolutionSizeX=1280
保存后重启游戏,窗口将以 720P 标准居中呈现。
在桌面新建 PurpleGridTile.ps1,粘贴以下轻量排列脚本:
using System.Runtime.InteropServices;
public class Win32 {
[DllImport("user32.dll")]
public static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int W, int H, bool repaint);
[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, int cmd);
Add-Type -AssemblyName System.Windows.Forms
$screen = [System.Windows.Forms.Screen]::PrimaryScreen.WorkingArea
$hw = [int]($screen.Width / 2)
$hh = [int]($screen.Height / 2)
$procs = Get-Process | Where-Object { ($_.MainWindowTitle -like "*Lineage*" -or $_.ProcessName -like "*purple*") -and $_.MainWindowHandle -ne 0 }
$pos = @(@{X=0;Y=0}, @{X=$hw;Y=0}, @{X=0;Y=$hh}, @{X=$hw;Y=$hh})
foreach ($p in $procs) {
[Win32]::ShowWindow($p.MainWindowHandle, 9)
[Win32]::MoveWindow($p.MainWindowHandle, $pos[$i].X, $pos[$i].Y, $hw, $hh, $true)
Write-Host "平铺完成,共排列 $($i) 个游戏窗口!" -ForegroundColor Green
多开后右键「使用 PowerShell 运行」,四窗即刻严丝合缝平铺当前屏幕,彻底告别窗口重叠、漂移与边界错乱的困扰。
访问原文 返回搜索 https://purple-purple.net/ncsoft-purple-%e5%a4%9a%e5%bc%80%e6%b8%b8%e6%88%8f%e7%aa%97%e5%8f%a3%e4%bd%8d%e7%bd%ae%e9%94%99%e4%b9%b1%e6%88%96%e7%bc%a9%e5%9c%a8%e5%b1%8f%e5%b9%95%e5%a4%96%ef%bc%9f%e6%b8%85%e7%90%86%e7%aa%97/
本页为82搜索生成的网页快照,内容来自站内索引;演示数据的原文链接仅作示例。