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_USESHOWWINDOWSW_MAXIMIZE
这发生在装有 Windows 8.1 的 HP Stream 7 上。我不确定 Explorer 这样做是因为它启用了触摸还是因为小屏幕。
这种 Explorer 行为是否记录在任何地方,有没有办法将其关闭?阻止资源管理器(或任何其他父进程)影响我的初始窗口模式的最佳方法是什么?(我不想阻止人们开始我SW_*MINIMIZE*)
system32 中的 WinVer.exe 也有同样的问题:
