Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Смена используемого по умолчанию принтера [D4, Win95/98, NT4]


ed ©   (2003-02-23 12:46:00) 

Доброго всем дня!
Возник такой вопрос: как программно сменить используемый по умолчанию принтер в Windows? И еще, как узнать - поддерживает ли текущий (используемый по умолчанию) принтер язык Psotscript.
Заранее спасибо за ответ (если можно, с примером)


Nic_B   (2003-02-25 10:14:00) [1]

Sorry ощибочка вкралась - надо так

SendMessage(HWND_Broadcast, WM_WININICHANGE,0,0);



ed   (2003-02-24 22:05:00) [2]

To Nic_B! Большое спасибо за ответ!


Nic_B   (2003-02-24 20:21:00) [3]

Вот нашел как проще поменять принтер:

WriteProfileString("windows","device","New Printer", Epson, lpt1:");
(ДЛЯ NT4 - функция WroteProfileString !!!)

После этого надо послать всем работающим приложениям:

SendMessage(HWND_Broadcast, WM_WINNINCHANGE,0,0);


Nic_B   (2003-02-24 20:10:00) [4]

Принтер по умолчанию - смотри
buffer: array[0..255] of char;
GetProfileString("windows","device",",,,",buffer,256);
в buffer - текущий принтер

Изменение настроек принтера:
OpenPrinter(Pchar(GetPrintername),hprinter,@PD);
..
GetPrinter..

PPrinterInfo2^.pDevMode^.//а здесь меняются параметры Не помню уже возможно тут и есть флаг использовать по умолчанию
Потом

SetPrinter..

Если надо более полную информацию - покопаюсь когда-то что-то подобное писал



error   (2003-02-24 18:52:00) [5]

Удалено модератором


error   (2003-02-24 18:49:00) [6]

Удалено модератором


error   (2003-02-24 18:47:00) [7]

Удалено модератором


Anatoly Podgoretsky   (2003-02-24 11:49:00) [8]

Набережных С. (23.02.03 22:37)
Пусть тявкает из за угла.


Anatoly Podgoretsky   (2003-02-24 11:48:00) [9]

ed (23.02.03 21:59)
Печатай на конкретный принтер, а меня принтер по умолчанию прерогратива пользователя и зря ты надеешься на восстановление произойдет сбой и "А пользователи бывают всякие" ты же их поставишь в безвызодное положение.


Song   (2003-02-24 10:52:00) [10]

win.ini


ed   (2003-02-24 10:24:00) [11]

Спасибо всем за конструктивные ответы по теме вопроса. Нверное праздники влияют...


Набережных С.   (2003-02-23 22:37:00) [12]

>error (23.02.03 21:48)

А можно мы все (и Anatoly Podgoretsky в том числе) как-нибудь сами будем решать, кому, когда и что отвечать? Не спрашивая у тебя разрешения. Можно, да? Спасибо большое. Заранее.


ed   (2003-02-23 21:59:00) [13]

Все-таки, хотелось бы ближе к телу...
Мне необходимо сделать это изменение на время работы программы, т.к. в ее работе необходимо использовать именно PS принтер. Кроме того, если я смогу менять принтер по умолчанию на свой, то я не забуду сменить его и обратно по окончанию ее работы (если такое возможно). А пользователи бывают всякие (некоторые могут и не знать где можно изменить произвести такие изменения).


error   (2003-02-23 21:48:00) [14]

Удалено модератором
Примечание: Личная переписка


Anatoly Podgoretsky   (2003-02-23 12:52:00) [15]

А я не хочу, что бы твой принтер был по умолчанию и как пользователь я прав. Если мне нужно то я сам это решу.


Наверх

Титульная страница Поиск, карта сайта Написать письмо