我正在开发一个用于 Windows 10 部署的图像,其中一个要求是,当第一次启动 Edge 时,它应该最大化(不是全屏,而是最大化 - 与单击标题栏中的最大化按钮的结果相同)。
我尝试使用start-process
带有-WindowStyle Maximized
参数的 powershell 命令行,但是这不起作用,例如:
start -windowstyle Maximized microsoft-edge:http://www.example.com
我尝试过各种 powershell 解决方案来调整其他程序窗口的大小(目的是生成 Edge 然后调整其大小),但它们似乎对 Edge 没有任何影响,例如:
- https://gallery.technet.microsoft.com/scriptcenter/Set-the-position-and-size-54853527
- https://gist.github.com/jakeballard/11240204
我用过进程监控记录当我最大化然后关闭 Edge 时发生的情况,我可以看到它设置了注册表项:
HKCU\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\Main\LastClosedWidth
HKCU\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\Main\LastClosedHeight
与桌面的水平和垂直尺寸相同,但是regedit
当我再次启动 Edge 时,手动更改这些尺寸不会改变 Edge 的尺寸。
如果 Edge 设为全屏然后退出,它将在将来以全屏方式启动 - 有没有办法在无需手动干预的情况下最大化启动 Edge?
答案1
只需发送 alt+space 键,然后 X 就会最大化窗口。请参阅下面的 powershell 脚本。另存为 .ps1。
start microsoft-edge:http://google.com
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('Google - Microsoft Edge')
Sleep 2
$wshell.SendKeys('(%(" "))')
Sleep 2
$wshell.SendKeys('(x)')
答案2
如果您最大化窗口,则可能不需要 LastClosedWidth 和 LastClosedHeight。以下二进制值存储最大化窗口的设置。您可以将注册表设置部署到使用相同屏幕分辨率的 PC。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationFrame\WindowSizing\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge]
"PreferredLaunchViewSize"=hex:80,07,00,00,f0,03,00,00
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationFrame\Positions\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge]
"PositionObject"=hex:2c,00,00,00,02,00,00,00,03,00,00,00,ff,ff,ff,ff,ff,ff,ff,\
ff,ff,ff,ff,ff,ff,ff,ff,ff,80,02,00,00,00,00,00,00,40,07,00,00,ac,03,00,00
这些二进制值来自我的系统,当前显示分辨率设置为 1920x1080。REG 导出作为示例提供。