Показать сообщение отдельно
  #1  
Старый 02.10.2012, 23:07
kiman.ru kiman.ru вне форума
Новичок
 
Регистрация: 11.02.2010
Сообщения: 63
Репутация: 10
По умолчанию StayOnTop форма теряет фокус

Приложение должно быть поверх всех остальных программ (FormStyle := fsStayOnTop) + развернуто на весь экран (WindowState := wsMaximized).

В приложении есть 2 формы. Из первой Form1 открывается Form2. Когда открыта Form2, то запускается любое стороннее приложение при помощи WinExec или ShellExecute. Во время запуска приложения появляется Form1, а Form2 не видна. Но, если нажать мышью в любом месте, то появляется Form2, которая была активной на момент запуска приложения.

Стороннее приложение запускаю с параметром SW_HIDE — не помогает, хэндл передаю 0 и хэндл формы — тоже не помогает. RestoreTopMosts on Form Paint тоже не помогает.

Как избавиться от этого эффекта? Как сделать так, чтобы при запуске стороннего приложения Form2 не теряла фокус и все время была на виду?

Исходник в прикрепленных файлах. В качестве стороннего приложения запускаю calc.exe
Вложения
Тип файла: zip StayOnTop.zip (80.6 Кбайт, 2 просмотров)
Ответить с цитированием