![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите вызвать форму на передний план. [D5, D6, NT4, Win2k, WinXP]
Death © (2002-02-09 23:19:00)В модуле формы описано:
procedure TForm1.FormCreate(Sender: TObject);
begin
application.OnMinimize:=MyMinimize;
application.OnRestore:=MyRestore;
end;
procedure TForm1.MyMinimize(Sender: TObject);
begin
ShowWindow(Application.Handle,sw_Hide);
end;
procedure TForm1.MyRestore(Sender: TObject);
begin
ShowWindow(Application.Handle,sw_ShowNormal);
SetForegroundWindow(Application.MainForm.Handle);
end;
Прога загружается уже минимизированной.
минимизируется в трей (TRxTrayIcon).
при двойном нажатии востанавливается отлично.
А теперь задача:
по таймеру (250 мс) проверяется список запущенных задач и если найденна некоторая задача (запуск её) - надо всплыть из трея и показаться на переднем плане.
Использую: Application.Restore
Под 9х всё работает, под 2000 и ХР (может и под НТ4 - непробовал) - только моргает в панели задач и все - наверх выползать и не собирается.
Пробовал включать на форме свойство "StayOnTop" - результат тот-же.
кто, что посоветует?
Suntechnic (2002-02-11 07:48:00) [1]См. http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1012232228&n=0
Raptor (2002-02-10 17:29:00) [2]где это находиться в настройках?
можно ли это обойти?
храниться ли это в реестре?
Насколько мне известно, этого нет в стандартных настройках, по крайней мере я не нашел. Я изменяю эту настройку с помощью TweakUI, а он что то меняет в реестре. Я отловил, что при установленой опции ключ ForegroundLockTimeoutимеет такое значение
[HKEY_CURRENT_USER\Control Panel\Desktop]
"ForegroundLockTimeout"=dword:00030d40
А при снятой
[HKEY_CURRENT_USER\Control Panel\Desktop]
"ForegroundLockTimeout"=dword:00000000
Death (2002-02-10 00:34:00) [3]где это находиться в настройках?
можно ли это обойти?
храниться ли это в реестре?
Raptor (2002-02-10 00:07:00) [4]В вынь2к есть такая штука в настройках как запрет перехвата фокуса, что бы всякие там проги, которые почему-то возомнили себе, что их хотят видеть, не мешали юзеру работать.