Вопрос

Следующий код отлично работает в 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.

Это было полезно?

Решение

Оказывается, причиной, по которой мы видели окно приложения на панели задач, была простая настройка, похожая на ответ Стакелли, но не совсем.

Чтобы заставить главную форму отображаться на панели задач и скрыть меню приложения, вы применяете:

Application.MainFormOnTaskbar := True;
Application.ShowMainForm := False;

Никакого кода для создания формы или чего-либо еще не требуется.

Другие советы

Вам нужно установить Показать основную форму и Панель задач mainformont присваивает значение False перед созданием формы.

Откройте исходный код вашего проекта и установите Панель задач mainformont и Показать основную форму в значение False, перед созданием формы.

Application.Initialize;
Application.MainFormOnTaskbar := false;
Application.ShowMainForm := false;
Application.CreateForm(TForm1, Form1);

Затем в вашей основной форме добавьте следующий код в Формактивировать и Формшоу Мероприятия.

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 годов.Доступна дополнительная информация здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top