![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Функции WinApi [D5, Win95/98]
TED © (2001-12-24 13:59:00)Помогите пожайлуста решить следующюю проблему:
Я создал форму которая по идее должна блокировать работу компьютера становясь в определённые моменты модальной, и отрубая Ctr-Alt-Del. Форма до определённого времени .Hide. Мною была использована команда SystemParametersInfo(spi_ScreenSaverRunning,1,0,0)
Но если запущена какая-нибудь программа и я делаю форму .Show
То Windows сворачивает программу и мою форму...
Кто-нибудь объясните на понятном примере.
Заранее благодарен.
Мой E-mail: Argo2001@bk.ru
Olgerd (2001-12-25 15:48:00) [1]Надо было вопрос задавать:
Kaк развернуть форму?
Тебе бы ответили:
Application.Restore;
Serg! (2001-12-25 15:19:00) [2]try this
Application.Restore;
Ted (2001-12-25 14:11:00) [3]1. По идее моя программа все время должна висеть в памяти не мешая пользователю работать с компьютером (т.е её единственная форма.Hide).
В это время пользователь может запустить на компьютере любую программу.
2. Когда я посылаю сигнал с удаленного компьютера единственная форма моей программы становиться .show и по идее должна стать модальной и видимой, а вместо этого она при поступлении сигнала сворачивается сама в Task Bar и сворачивает любую программу запущеную на компьютере до того как я отправил сигнал с удаленного компьютера.
Как заставить её развернутся???
Olgerd (2001-12-25 13:06:00) [4]>Я посылаю сигнал с удаленного компьютера, форма которая была до этого >момента .hide становится .show и почему то сворачивается вместе с >программой запущенной на компе до этого.
А что ты понимаешь "под программой запущенной на компе до этого"?
>Я не знаю как заставить ее развернутся и стать модальной.
Не знаешь как заставить свою прогу развернутся или что?
TED (2001-12-25 07:23:00) [5]1. Вообще я создал приложение которое должно работать по типу ScreenSaver(a), но с небольшим отличием..
По сигналу с удаленного компьютера этот ScreenSaver должен как запускаться, блокируя работу компьютера, так и убирать блокировку, оставаясь в памяти до следующего сигнала с удаленного компьютера.
2. Под термином блокировка я подразумеваю следующее:
а) Должна появиться форма закрывающая весь экран
б) Должны быть заблокированы функции Ctr-Alt-Del, Alt-Tab, Alt-Esc и подобные дабы из этой формы нельзя было переключиться в другую программу.
в) Эта форма должна появляться и исчезать по сигналу с другого компьютера в локальной сети.
Вобщем обычный ScreenSaver только... сетевой
Программа работает, следующим образом:
Во время запуска приложения создается модальная форма.
Объявляем переменную
var Dummy : Integer;
потом где, нибудь в программе
SystemParametersInfo(spi_ScreenSaverRunning,1,@Dummy,0);
эта строка говорит Windows о том, что запущеное приложение ScreenSaver
То есть, блокируется клава включая Ctr-Alt-Del, Alt-Esc
и строкой
SystemParametersInfo(spi_ScreenSaverRunning,0,@Dummy,0);
отключаем...
Но проблема в следующем:
Я посылаю сигнал с удаленного компьютера, форма которая была до этого момента .hide становится .show и почему то сворачивается вместе с программой запущенной на компе до этого.
Я не знаю как заставить ее развернутся и стать модальной.
С уважением TED.
Мой E-mail: argo2001@bk.ru
Digitman (2001-12-24 14:20:00) [6]>>"блокировать работу компьютера"
1.Что это означает и какое отношение SystemParametersInfo() имеет т.н. "блокировке" работы компьютера ?
2. В Win32 API help (в составе Д5) документирован идентификатор SPI_SETSCREENSAVEACTIVE, но spi_ScreenSaverRunning недокументирован. Вопрос: где тогда он документирован и какова документированная функц-ть вызова SystemParametersInfo() с этим спецификатором действия ?