Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.25;
Скачать: CL | DM;

Вниз

Функции WinApi   Найти похожие ветки 

 
TED   (2001-12-24 13:59) [0]

Помогите пожайлуста решить следующюю проблему:
Я создал форму которая по идее должна блокировать работу компьютера становясь в определённые моменты модальной, и отрубая Ctr-Alt-Del. Форма до определённого времени .Hide. Мною была использована команда SystemParametersInfo(spi_ScreenSaverRunning,1,0,0)
Но если запущена какая-нибудь программа и я делаю форму .Show
То Windows сворачивает программу и мою форму...
Кто-нибудь объясните на понятном примере.
Заранее благодарен.
Мой E-mail: Argo2001@bk.ru


 
Digitman ©   (2001-12-24 14:20) [1]

>>"блокировать работу компьютера"
1.Что это означает и какое отношение SystemParametersInfo() имеет т.н. "блокировке" работы компьютера ?

2. В Win32 API help (в составе Д5) документирован идентификатор SPI_SETSCREENSAVEACTIVE, но spi_ScreenSaverRunning недокументирован. Вопрос: где тогда он документирован и какова документированная функц-ть вызова SystemParametersInfo() с этим спецификатором действия ?


 
TED   (2001-12-25 07:23) [2]

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


 
Olgerd ©   (2001-12-25 13:06) [3]

>Я посылаю сигнал с удаленного компьютера, форма которая была до этого >момента .hide становится .show и почему то сворачивается вместе с >программой запущенной на компе до этого.
А что ты понимаешь "под программой запущенной на компе до этого"?
>Я не знаю как заставить ее развернутся и стать модальной.
Не знаешь как заставить свою прогу развернутся или что?


 
Ted ©   (2001-12-25 14:11) [4]

1. По идее моя программа все время должна висеть в памяти не мешая пользователю работать с компьютером (т.е её единственная форма.Hide).
В это время пользователь может запустить на компьютере любую программу.
2. Когда я посылаю сигнал с удаленного компьютера единственная форма моей программы становиться .show и по идее должна стать модальной и видимой, а вместо этого она при поступлении сигнала сворачивается сама в Task Bar и сворачивает любую программу запущеную на компьютере до того как я отправил сигнал с удаленного компьютера.

Как заставить её развернутся???


 
Serg!   (2001-12-25 15:19) [5]

try this
Application.Restore;


 
Olgerd ©   (2001-12-25 15:48) [6]

Надо было вопрос задавать:
Kaк развернуть форму?
Тебе бы ответили:
Application.Restore;



Страницы: 1 вся ветка

Текущий архив: 2002.02.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
3-79287
natalka
2002-01-31 10:11
2002.02.25
Помогите перевернуть запрос


1-79397
Никита
2002-02-09 14:18
2002.02.25
ошибка


7-79495
MJH
2001-11-20 14:44
2002.02.25
DirectSound


4-79509
DrR
2001-12-26 15:50
2002.02.25
Active Desktop


1-79366
UnDISCOvery
2002-02-08 13:51
2002.02.25
Как сделать