Временно изменился активный принтер
От: Privalov  
Дата: 16.02.11 11:40
Оценка:
Возникла следующая проблема: пользователь хочет в своем приложении что-то напечатать на принтер, отличный от установленного по умолчанию. Для этого он меняет принтер из диалога настроек. После окончания вывода программа должна вернуть исходное состояние автоматически. И что-то я запутался: не могу понять, как узнать, что изменился активный принтер. Что-то нет никаких идей. Куда копать?
P.S. Я несколько лет не работал с WIN API, похоже, практически все забыл, так что сильно не пинайте.
Re: Временно изменился активный принтер
От: De-Bugger  
Дата: 16.02.11 12:10
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Возникла следующая проблема: пользователь хочет в своем приложении что-то напечатать на принтер, отличный от установленного по умолчанию. Для этого он меняет принтер из диалога настроек. После окончания вывода программа должна вернуть исходное состояние автоматически. И что-то я запутался: не могу понять, как узнать, что изменился активный принтер. Что-то нет никаких идей. Куда копать?

P>P.S. Я несколько лет не работал с WIN API, похоже, практически все забыл, так что сильно не пинайте.

Не пойму проблему. Ну выбрал и выбрал другой принтер, отличный от установленного по умолчанию, распечатал. Дефолтовый же останется прежним. Зачем делать выбранный принтер принтером по умолчанию, на него ведь можно и так поток пустить.
Re[2]: Временно изменился активный принтер
От: De-Bugger  
Дата: 16.02.11 12:13
Оценка:
Ну а если все-таки ответить на ваш первоначальный вопрос, то:
http://support.microsoft.com/kb/246772

Кратко: WM_SETTINGCHANGE
Re[2]: Временно изменился активный принтер
От: Privalov  
Дата: 16.02.11 12:37
Оценка:
Здравствуйте, De-Bugger, Вы писали:

DB>Не пойму проблему. Ну выбрал и выбрал другой принтер, отличный от установленного по умолчанию, распечатал. Дефолтовый же останется прежним. Зачем делать выбранный принтер принтером по умолчанию, на него ведь можно и так поток пустить.


В приложении используются 2 принтера: дефолтный и еще один. Этот "еще один" специальный, на него выводится только определенный тип данных. Пользователь постоянно забывает выставить основной (дефолтный) принтер, поэтому и встал вопрос автоматизировать процесс.
По окончании вывода на второй принтер хочу проверить: если текущий принтер не дефолтный, то вернуть его приложению. А вот как правильно это сделать — не знаю. Очень не хочется тупо менять дефолтный принтер туда/сюда.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.