Здравствуйте, Kviz, Вы писали:
K>Господа, пожалуйста помогите. Пытаюсь написать программу-заставку(ScreenServer). Я использую VCL, поэтому прошу не удивляться Form1. И не приводить ссылок и примеров на статьи по написанию заставок(т.к. там события отлавливаются по другому приципу, по крайне мере эти статьи мне не помогли). Проблема в том что я не могу реализовать выход из программы в режиме просмотра. Т.е. когда ScreenServer запускается с параметром “-p”, моя программа получает хэндл окна просмотра, потом дискриптор окна просмотра и рисует в нём, но если пользователь выбрал другую заставку или вышел из опций, моя программа остаётся висеть в памяти, тщетно пытаясь рисовать. В конференциях говориться что заставке посылается сообщение WM_DESTROY, которое нужно отловить(и завершить программу), но это у меня не получается.
.....
K>Заранее благодарен.
ST> Попробуй оформить рисование не в процедуре, а в потоке и повесь обычный обработчик на WM_DESTROY. В этом обработчике делай рисовальному потоку Terminate. Только не забудь в потоке контроллировать свойство Terminated.