以下代码在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方法中调用上面的代码。
答案 0 :(得分:10)
原来我们看到任务栏上的“应用程序”窗口是一个简单的设置,类似于stukelly的答案,但并不完全。
要使主表单显示在任务栏上并隐藏您应用的应用程序菜单:
Application.MainFormOnTaskbar := True;
Application.ShowMainForm := False;
表单背后没有代码可以创建或任何必需的代码。
答案 1 :(得分:5)
在创建表单之前,您需要将ShowMainForm和MainFormOnTaskBar属性设置为False。
在创建表单之前,打开项目源并将 MainFormOnTaskBar 和 ShowMainForm 设置为False。
Application.Initialize;
Application.MainFormOnTaskbar := false;
Application.ShowMainForm := false;
Application.CreateForm(TForm1, Form1);
然后在主表单上将以下代码添加到 FormActivate 和 FormShow 事件中。
procedure TForm1.FormActivate(Sender: TObject);
begin
// hide taskbar button
ShowWindow(Application.Handle, SW_HIDE);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
// hide taskbar button
ShowWindow(Application.Handle, SW_HIDE);
end;
我已经使用Dephi 2007和2009进行了测试。其他信息可用here。