| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Остановить запущенный скринсейвер |
| Автор: RedCliphAloe 5.3.2014, 09:10 | ||
| Здравствуйте. Подскажите, пожалуйста, если кто-то сталкивался с подобным. Суть проблемы такова - нужно программно закрыть скринсейвер (не отключить его появление вообще, а закрыть текущий). Есть программа. Запущена постоянно на терминале с тачскрином под Windows 7. Пока она простаивает - вылазит скринсейвер. Когда пользователь взаимодействует со считывающим устройством терминала, программа начинает функционировать, но на экране болтается скринсейвер, который убирается только после нажатия на экран. А мне нужно закрыть его программно. Следующие варианты не помогли:
|
| Автор: -Сергей- 22.4.2014, 11:16 |
| имхо надо юзать GetForegroundWindow |
| Автор: Romikgy 22.4.2014, 11:37 |
| еще способ , узнать из реестра какой скринсейвер активный и в процессах его грохнуть |
| Автор: kami 22.4.2014, 17:01 |
| А я бы предложил вообще запретить запуск скринсейвера при запущенной своей программе. не подумал, что скринсейвер может быть действительно нужным, так что всякие SetThreadExecutionState не актуальны... |