а создаются ли окна при logoff ???
От: Nuclear Россия http:\\smile.bel.ru
Дата: 15.02.05 15:26
Оценка:
На win2000 планировщик запускает приложение которое в свою очередь создает несколько процессов с консольными окнами, в которые происходит вывод.
Вопрос: когда я делаю logoff (отлогиниваюсь) с машины, создаются ли консольные окна ???

Дело в том что в таком режиме не отрабатывается отправка сообщений окнам, как буд-то их нет и вовсе, причем при запуске того же задания при залогиненом состоянии, все нормально проходит.
___________________________________
Хорошо жить хорошо когда жить хорошо
Re: а создаются ли окна при logoff ???
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 15.02.05 15:46
Оценка:
Здравствуйте, Nuclear, Вы писали:

N>На win2000 планировщик запускает приложение которое в свою очередь создает несколько процессов с консольными окнами, в которые происходит вывод.

N>Вопрос: когда я делаю logoff (отлогиниваюсь) с машины, создаются ли консольные окна ???

создаются, только на невидимом рабочем столе того сеанса, который создается, когда планировщик запускает приложение под указанным ему пользователем

N>Дело в том что в таком режиме не отрабатывается отправка сообщений окнам, как буд-то их нет и вовсе, причем при запуске того же задания при залогиненом состоянии, все нормально проходит.


а откуда отправляются сообщения?
Re: а создаются ли окна при logoff ???
От: 4igi Украина  
Дата: 15.02.05 17:32
Оценка:
Здравствуйте, Nuclear, Вы писали:

N>На win2000 планировщик запускает приложение которое в свою очередь создает несколько процессов с консольными окнами, в которые происходит вывод.

N>Вопрос: когда я делаю logoff (отлогиниваюсь) с машины, создаются ли консольные окна ???

N>Дело в том что в таком режиме не отрабатывается отправка сообщений окнам, как буд-то их нет и вовсе, причем при запуске того же задания при залогиненом состоянии, все нормально проходит.



Скорее всего проблема в том, что твой scheduler (планировщик) запускается не под пользователем System, а под пользователем под которым залогинился, следовательно когда ты делаешь logoff процесс рубится.
Попробуй запускать свой scheduler при startup машини, под пользователем System
здесь был 4igi
Re[2]: а создаются ли окна при logoff ???
От: Nuclear Россия http:\\smile.bel.ru
Дата: 16.02.05 07:02
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

OE>Здравствуйте, Nuclear, Вы писали:


N>>На win2000 планировщик запускает приложение которое в свою очередь создает несколько процессов с консольными окнами, в которые происходит вывод.

N>>Вопрос: когда я делаю logoff (отлогиниваюсь) с машины, создаются ли консольные окна ???

OE>создаются, только на невидимом рабочем столе того сеанса, который создается, когда планировщик запускает приложение под указанным ему пользователем


N>>Дело в том что в таком режиме не отрабатывается отправка сообщений окнам, как буд-то их нет и вовсе, причем при запуске того же задания при залогиненом состоянии, все нормально проходит.


OE>а откуда отправляются сообщения?


последовательность такая: планировщик запускает программку, та в свою очередь запускает другую через CreateProcess при этом программка работает в отдельном окошке, потом основная прога закрывает запущенную путем посылки ее окну WM_CLOSE. Вот этот этап с посылкой WM_CLOSE и не отрабатывает. Может есть какие-нибудь особенности при работе с окнами в таком режиме ???
___________________________________
Хорошо жить хорошо когда жить хорошо
Re[2]: а создаются ли окна при logoff ???
От: Nuclear Россия http:\\smile.bel.ru
Дата: 16.02.05 07:04
Оценка:
Здравствуйте, 4igi, Вы писали:

4>Здравствуйте, Nuclear, Вы писали:


N>>На win2000 планировщик запускает приложение которое в свою очередь создает несколько процессов с консольными окнами, в которые происходит вывод.

N>>Вопрос: когда я делаю logoff (отлогиниваюсь) с машины, создаются ли консольные окна ???

N>>Дело в том что в таком режиме не отрабатывается отправка сообщений окнам, как буд-то их нет и вовсе, причем при запуске того же задания при залогиненом состоянии, все нормально проходит.



4>Скорее всего проблема в том, что твой scheduler (планировщик) запускается не под пользователем System, а под пользователем под которым залогинился, следовательно когда ты делаешь logoff процесс рубится.

4>Попробуй запускать свой scheduler при startup машини, под пользователем System

Планировщик работает нормально и все запускает как и положено, более подробно проблему я описал выше в ответе Одисею.
___________________________________
Хорошо жить хорошо когда жить хорошо
Re[3]: а создаются ли окна при logoff ???
От: Pavel Dvorkin Россия  
Дата: 16.02.05 08:04
Оценка:
Здравствуйте, Nuclear, Вы писали:


N>последовательность такая: планировщик запускает программку, та в свою очередь запускает другую через CreateProcess при этом программка работает в отдельном окошке, потом основная прога закрывает запущенную путем посылки ее окну WM_CLOSE.


Не исключено, что к тому времени, когда ты шлешь WM_CLOSE, то окно уже закрыто вместо с процессом. В каком порядке Windows закрывает процессы — ее дело. Попробуй в том процессе ловить WM_ENDSESSION. Оно должно придти и

lParam
If this parameter includes ENDSESSION_LOGOFF, the user is logging off;

Еще можно проверить приход WM_QUERYENDSESSION.

Впрочем, все это годится, если там у тебя GUI окно. Если там консольное окно, то проще всего в консольном приложении зарегистрировать обработчик SetConsoleCtrlHandler и посмотреть, что он будет получать.

И еще. Как шлешь WM_CLOSE — PostMessage или SendMessage? PostMessage ставит в очередь, а до нее дело может и не дойти.

With best regards
Pavel Dvorkin
With best regards
Pavel Dvorkin
Re[4]: а создаются ли окна при logoff ???
От: Аноним  
Дата: 16.02.05 10:36
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>И еще. Как шлешь WM_CLOSE — PostMessage или SendMessage? PostMessage ставит в очередь, а до нее дело может и не дойти.


хм, сейчас отсылается через PostMessage, попробую через SendMessage сделать
Re[4]: а создаются ли окна при logoff ???
От: Nuclear Россия http:\\smile.bel.ru
Дата: 16.02.05 13:51
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, Nuclear, Вы писали:


PD>И еще. Как шлешь WM_CLOSE — PostMessage или SendMessage? PostMessage ставит в очередь, а до нее дело может и не дойти.


SendMessage не помог (((
___________________________________
Хорошо жить хорошо когда жить хорошо
Re: а создаются ли окна при logoff ???
От: Nuclear Россия http:\\smile.bel.ru
Дата: 17.02.05 12:15
Оценка:
В общем я так понимаю что окна не создаются в том виде к которому мы привыкли или же сообщения посланные через SendMessage или PostMessage ими не обрабатываются.
___________________________________
Хорошо жить хорошо когда жить хорошо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.