Start-Process -WindowStyle Maximized 没有最大化 window

Start-Process -WindowStyle Maximized doesn't maximize window

好像是:

Start-Process -WindowStyle Maximized 'C:\Program Files\Microsoft Office\root\Office16\ONENOTE.EXE'

以window样式启动OneNote,无论参数是Maximized还是Minimized:

你知道为什么吗?我的 Windows 7 32 位机器上有版本 6。


来自 Windows 文档:Start-Process

mklement0 所述,无法保证程序会遵守请求的 window 样式。

在某些情况下,您可以通过编辑相关的注册表项来解决这个问题。在这种情况下:

$registryPath = "HKCU:\Software\Microsoft\Office.0\OneNote\General\"; 
Set-ItemProperty -path $registryPath -name "WindowMode" -Value 1; 
Start-Process 'C:\Program Files (x86)\Microsoft Office\root\Office16\ONENOTE.EXE'

仅将值 Maximized 传递给 -WindowStyle 参数是不够的。您需要使用完全限定的枚举字段或值。

Start-Process "C:\Program Files\Microsoft Office\root\Office16\ONENOTE.EXE" -WindowStyle ([System.Diagnostics.ProcessWindowStyle]::Maximized)

Start-Process "C:\Program Files\Microsoft Office\root\Office16\ONENOTE.EXE" -ArgumentList ("-NoExit") -WindowStyle (3)

ProcessWindowSyle 枚举在此处定义: https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.processwindowstyle?view=netframework-1.1