Задать вопрос
@kalapanga

Почему под Windows 10 форма не выводится поверх всех окон?

Есть программа на Delphi XE8, висящая в области уведомлений и при определённых событиях показывающая окно с информацией. Под Windows 7 следующий код обеспечивал показ формы поверх всех окон практически на 100%.
with TfrmInfo.Create(self) do
begin
  Show;
  Application.NormalizeTopMosts;
  SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0,
    SWP_NOACTIVATE + SWP_NOMOVE + SWP_NOSIZE);
end;

И этот код перестал срабатывать под Windows 10. Точнее, иногда окно появляется поверх всех, но гораздо чаще оказывается наоборот в самом "низу", под всеми окнами. Может кто сталкивался с таким? И как это попробовать полечить?
  • Вопрос задан
  • 637 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя Alex XYZ К ответам на вопрос (2)
AlexXYZ
@AlexXYZ
O Keep Clear O
Не подскажу за дельфи, но для C# есть решение:

stackoverflow.com/questions/10740346/setforeground...

Пользуюсь им, работает уже в 99.9999% (при разработке ещё подглючивало, но вот уже несколько месяцев работает на 100%). В основном работаю на 8.1, но на домашней windows 10 глюков с этим методом не было.
Ответ написан