Удаление 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
Таким образом, форма может обработать заявку.
Надеюсь, это кому-нибудь поможет.