最小化应用程序启动程序

时间:2011-08-15 21:25:30

标签: delphi

有没有办法检测然后覆盖Windows快捷方式参数运行Minimized? 我想检测快捷方式是否想要启动程序最小化,然后自己处理最小化/最大化/正常大小。

我有一个使用

创建的启动画面
Form_Splash := TForm_Splash.Create(Application);

我稍后使用

创建主表单
Application.CreateForm(TForm_main, Form_main);

显示主窗体后我销毁form_Splash,那时我想根据windows快捷方式请求的内容最小化/最大化/正常大小form_main。

感谢您的帮助。 史蒂夫...

1 个答案:

答案 0 :(得分:5)

您可以使用GetStartupInfo API调用在创建过程中将STARTUPINFO传递给您的进程(在Delphi中TStartupInfo)。 wShowWindow成员包含所需的初始显示状态。

总是有用的是:

  

对于GUI进程,第一次调用ShowWindow时,它的nCmdShow   参数被忽略wShowWindow指定默认值。在   随后调用ShowWindow,如果使用wShowWindow成员   ShowWindow的nCmdShow参数设置为SW_SHOWDEFAULT。

因此,对于首次调用的任何窗口ShowWindow,将使用启动信息记录中指定的值。这可能会影响你的启动画面。

但无论如何 - 您可以使用STARTUPINFO中的值让您的主要表单采取相应的行动。

就个人而言,当我希望它最小化时,我会讨厌向我显示启动画面的应用程序。通常这些应用程序也会窃取我的输入焦点,这让我很生气。