Удаление firemonkey из панели задач Windows - PullRequest
4 голосов
/ 02 января 2012

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

Проблема:

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

1 Ответ

2 голосов
/ 02 января 2012

NB: Талибек ответил на свой вопрос в вопросе, для ясности я переместил его сюда.

Вам необходимо получить ручку главной формы (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;

Конечно, *Свойство 1016 * должно быть установлено на true, чтобы форма могла обрабатывать приложение.

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

...