隐藏 Delphi 2009 应用程序中的主窗体
下面的代码在 Delphi 7 中工作正常。但是,在 Delphi 2009 中,窗体确实保持隐藏状态,但任务栏上的按钮现在出现。
ShowWindow(Handle, SW_HIDE);
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW );
ShowWindow(Handle, SW_SHOW);
上面的代码是在FormCreate方法中调用的。
The following code works fine in Delphi 7. However, in Delphi 2009 the form does remain hidden but the button on the taskbar is now appearing.
ShowWindow(Handle, SW_HIDE);
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW );
ShowWindow(Handle, SW_SHOW);
The above code is called in the FormCreate method.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
事实证明,我们在任务栏上看到应用程序窗口的原因是一个简单的设置,类似于 Stukelly 的答案,但不完全一样。
要使主窗体显示在任务栏上并隐藏您应用的应用程序菜单:
窗体创建后无需任何代码或任何所需的内容。
Turns out the reason we were seeing the Application window on the taskbar was a simple setting similar to stukelly's answer but not quite.
To get the main form to appear on the task bar and hide the application menu you apply:
No code behind the form create or anything required.
您需要设置 ShowMainForm 和 MainFormOnTaskBar在创建表单之前将属性设置为 False。
在创建表单之前,打开项目源并将 MainFormOnTaskBar 和 ShowMainForm 设置为 False。
然后在主窗体上将以下代码添加到 FormActivate 和 FormShow 事件中。
我已经使用 Dephi 2007 和 2009 进行了测试。更多信息可在此处获取。
You need to set the ShowMainForm and MainFormOnTaskBar properties to False before the form is created.
Open your project source and set MainFormOnTaskBar and ShowMainForm to False, before the form is created.
Then on your main form add the following code to the FormActivate and FormShow events.
I have tested with Dephi 2007 and 2009. Additional information is available here.