有没有办法检测然后覆盖Windows快捷方式参数运行Minimized? 我想检测快捷方式是否想要启动程序最小化,然后自己处理最小化/最大化/正常大小。
我有一个使用
创建的启动画面Form_Splash := TForm_Splash.Create(Application);
我稍后使用
创建主表单Application.CreateForm(TForm_main, Form_main);
显示主窗体后我销毁form_Splash,那时我想根据windows快捷方式请求的内容最小化/最大化/正常大小form_main。
感谢您的帮助。 史蒂夫...
答案 0 :(得分:5)
您可以使用GetStartupInfo
API调用在创建过程中将STARTUPINFO
传递给您的进程(在Delphi中TStartupInfo
)。 wShowWindow
成员包含所需的初始显示状态。
总是有用的是:
对于GUI进程,第一次调用ShowWindow时,它的nCmdShow 参数被忽略wShowWindow指定默认值。在 随后调用ShowWindow,如果使用wShowWindow成员 ShowWindow的nCmdShow参数设置为SW_SHOWDEFAULT。
因此,对于首次调用的任何窗口ShowWindow
,将使用启动信息记录中指定的值。这可能会影响你的启动画面。
但无论如何 - 您可以使用STARTUPINFO
中的值让您的主要表单采取相应的行动。
就个人而言,当我希望它最小化时,我会讨厌向我显示启动画面的应用程序。通常这些应用程序也会窃取我的输入焦点,这让我很生气。