| 
| 
 | Вопрос # 1 882/ вопрос решён / | 
 |  Здравствуйте, эксперты!Мое приложение при возникновении определенной картинки на экране должно генерировать нажатия клавиши мыши с определенной периодичностью. Для задержки я стал использовать процедуру sleep, из-за которой компьютер вместе с задержкой уходит в спящий режим и на экране появляется заставка Windows. Из-за этого работоспособность моей программы нарушается. Подскажите, можно ли принять меры, чтобы заставка не появлялась, а лучше использовать другую процедуру для задержки? Спасибо!
 
|  |   Вопрос задал: Маслов Артем (статус: Посетитель)Вопрос отправлен: 8 сентября 2008, 13:36
 Состояние вопроса: решён, ответов: 2.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, Маслов Артем!sleep здесь ни при чём. просто за компьютером нет активности - вот и уходит в скринсейвер. Но его можно отключить. вот код
 procedure TForm1.Button1Click(Sender: TObject);
 begin
 {Выключить}
 SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 0, nil, 0);
 {Включить}
 SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 1, nil, 0);
 end;
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 8 сентября 2008, 13:43
 Оценка за ответ: 5
 |  Ответ #2. Отвечает эксперт: Feniks Здравствуйте, Маслов Артем!Используйте компонент таймера TTimer, ведь он для это и существует в Windows-е. Выставляете ему интервал ожидания в милисекундах, 1000 мс = 1 с, запускаете его путем изменения свойства Enabled на True, и как только он сработает, он запустит свое соответствующие событие
 
 property OnTimer: TNotifyEvent;Вот в этом событии и пишите то, что вам надо делать после таймера. 
 P.S. Желаю удачи.
 
|  | Ответ отправил: Feniks (статус: Бакалавр)Время отправки: 8 сентября 2008, 13:54
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 0. 31 января 2011, 19:31: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |