Explorer 似乎总是用SW_MAXIMIZE
(STARTF_USESHOWWINDOW
设置在STARTUPINFO.dwFlags
) 启动我的应用程序。我知道当你/Windows第一次需要显示一个窗口时ShowWindow
会使用这个值,但它的不幸后果是最大化一个永远不应该被最大化的窗口。
我的窗口是用CreateDialogIndirectParam
以下样式创建的:WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_CLIPCHILDREN|DS_MODALFRAME|DS_CENTER|WS_VISIBLE
. 为什么在允许强制之前ShowWindow
不检查是否WS_MAXIMIZEBOX
设置?这是Windows中的错误吗?STARTF_USESHOWWINDOW
SW_MAXIMIZE
这发生在装有 Windows 8.1 的 HP Stream 7 上。我不确定 Explorer 这样做是因为它启用了触摸还是因为小屏幕。
这种 Explorer 行为是否记录在任何地方,有没有办法将其关闭?阻止资源管理器(或任何其他父进程)影响我的初始窗口模式的最佳方法是什么?(我不想阻止人们开始我SW_*MINIMIZE*
)
system32 中的 WinVer.exe 也有同样的问题: