最小化应用程序启动程序

Ste*_*eve 2 delphi

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

我有一个我用它创建的启动画面

Form_Splash := TForm_Splash.Create(Application);
Run Code Online (Sandbox Code Playgroud)

我稍后使用创建主窗体

Application.CreateForm(TForm_main, Form_main);
Run Code Online (Sandbox Code Playgroud)

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

谢谢你的帮助.史蒂夫...

Hei*_*cht 5

您可以使用GetStartupInfoAPI调用来获取STARTUPINFO在创建时传递给您的进程(TStartupInfo在Delphi中).该wShowWindow成员包含所需的初始显示状态.

总是有用的是:

对于GUI进程,第一次调用ShowWindow时,将忽略其nCmdShow参数wShowWindow指定默认值.在后续对ShowWindow的调用中,如果ShowWindow的nCmdShow参数设置为SW_SHOWDEFAULT,则使用wShowWindow成员.

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

但无论如何 - 您可以使用其中的值来使STARTUPINFO主表单相应地起作用.

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