Удаление firemonkey из панели задач Windows

Есть ли способ удалить мое приложение firemonkey из панели задач Windows XP/vista/7? Там нет информации, когда я Google.

Эта проблема:

Как скрыть форму, расположенную в dll, из панели задач Windows.

1 ответ

Решение

NB. Knobik ответил на свой вопрос в этом вопросе, для ясности я перенес его сюда.

Вам нужно получить основной дескриптор формы (Form1.Handle), поскольку в firemonkey нет файла Application.handle, затем преобразуйте его FmxHandleToHWND (FMX.Platform.Win) к обычной ручке окна. Из вашего хост-приложения вам нужно извлечь этот дескриптор (вы можете экспортировать функцию с ним) и сделать это:

  h := GetHandle();

  ShowWindow(h, SW_HIDE);
  SetWindowLong(h, GWL_EXSTYLE, GetWindowLong(h, GWL_EXSTYLE) or 
      WS_EX_TOOLWINDOW);
  ShowWindow(h, SW_SHOW);

Извлечение ручки:

class function TForm1.returnHandle(): integer;
begin
  result := FmxHandleToHWND(Form1.Handle);
end;

Конечно, Application.MainFormOnTaskBar свойство должно быть установлено в true Таким образом, форма может обработать заявку.

Надеюсь, это кому-нибудь поможет.

Другие вопросы по тегам