如何更改程序窗口打开的初始位置

如何更改程序窗口打开的初始位置,第1张

很遗憾,很多游戏运行都不会打开在上次运行时的窗口位置,也不是windows当前规定的位置(开始菜单等以外的区域),而是全屏的1x1位置,也就是屏幕的左上角,尤其是3d游戏。你可以按[alt]+[空格键],然后选[移动(m)],再按[向下箭头键]试试。

1、每个应用的窗口大小和位置信息存储在:“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ApplicationFrame\Positions\[应用的PackageFamilyName]![应用的ID]”下的PositionObject中。其中Edge UWP应用的PackageFamilyName为“Microsoft.MicrosoftEdge_8wekyb3d8bbwe”。

2、本机安装的所有应用的PackageFamilyName列表可以用PowerShell运行Get-AppxPackage | findstr "^PackageFamilyName"来获得。

3、PositionObject是一个44字节的REG_BINARY值,内容如下图:

4、每项数据都是一个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)。

5、使用注册表编辑器对应地修改这些数值,就可以精确调整UWP窗口大小和位置。

6、如果想要重置窗口大小和位置,删除“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ApplicationFrame\Positions”下的“[应用的PackageFamilyName]![应用的ID]”项,下次运行应用时就会重新生成默认值。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8102488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存