時間:2017-05-18 來源:互聯網 瀏覽量:
Windows10的UWP應用(從Windows 8和8.1的商店應用起)利用統一的方式記憶窗口大小和位置。初次運行應用時,Windows將自動生成默認的窗口大小和位置。當應用窗口關閉時,當前的窗口大小和位置信息將會被寫入注冊表。
每個應用的窗口大小和位置信息存儲在“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ApplicationFrame\Positions\[應用的PackageFamilyName]![應用的ID]”下的PositionObject中。UWP應用的PackageFamilyName為“CEF5787D.IT_tjw031c2n34qp”。
本機安裝的所有應用的PackageFamilyName列表可以用PowerShell運行Get-AppxPackage | findstr "^PackageFamilyName"來獲得。
PositionObject是一個44字節的REG_BINARY值,內容如下圖:
每項數據都是一個32位整數,以小端序存儲,格式如下:
0x0000:永遠為0x0000002C。
0x0004:激活了窗口最大化時為0x00000002,其餘時候是0x00000000。
0x0008:窗口關閉時的狀態。使用窗口大小時為0x00000001,最小化時為0x00000002,最大化時為0x00000003。
如果當前狀態為最小化0x00000002,下次打開窗口時:如果0x0004為0x00000002,就會以最大化狀態打開窗口;如果0x0004為0x00000000,就會使用窗口大小還原窗口。
0x000C:最小化時為0xFFFF8300,其餘時候是0xFFFFFFFF。
0x0010:永遠為0xFFFFFFFF。
0x0014:永遠為0xFFFFFFFF。
0x0018:永遠為0xFFFFFFFF。
0x001C:窗口左上角像素的X-7,圖中為0x000000C8(十進製200)。(可以得到結論,隨機生成的位置即使最靠左上角也會在左側空出7像素)
0x0020:窗口左上角像素的Y,圖中為0x00000040(十進製64)。
0x0024:窗口右下角像素的X-8,圖中為0x000003F8(十進製1016)。
0x0028:窗口右下角像素的Y-8,圖中為0x000002C0(十進製704)。
使用注冊表編輯器對應地修改這些數值,就可以精確調整UWP窗口大小和位置。
如果想要重置窗口大小和位置,刪除“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ApplicationFrame\Positions”下的“[應用的PackageFamilyName]![應用的ID]”項,下次運行應用時就會重新生成默認值。
想看到更多這類內容?去APP商店搜,天天都有小歡喜。