以下代码在 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 方法中调用的。
以下代码在 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 方法中调用的。
原来我们在任务栏上看到“应用程序”窗口的原因是一个简单的设置,类似于 stukelly 的答案,但不完全是。
要使主窗体出现在任务栏上并隐藏您应用的应用程序菜单:
Application.MainFormOnTaskbar := True;
Application.ShowMainForm := False;
表单创建后没有代码或任何需要的代码。
在创建表单之前,您需要将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 进行了测试。更多信息可在此处获得。