Форум: "Система";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
ВнизУстановка принтера по умолчанию Найти похожие ветки
← →
bob5 (2004-04-07 20:36) [0]Необходимо программно изменить принтер по умолчанию.
ели есть код буду рад, но буду благодарен и общему алгоритму.
По хелпам не очень то и понятно, куча структур, куча процедур и функций , а в итоге не понятно что все таки с этим делать.
Спасибо.
← →
User_Name (2004-04-08 13:33) [1]Я делаю так
WriteProfileString("windows","device","HP LazerJet 1200 Series PCL 6, HP LazerJet 1200 Series PCL 6, lpt1:");
SendMessage(HWND_Broadcast, WM_WININICHANGE,0,0);
← →
bob5 (2004-04-08 19:04) [2]Спасибо большое (Этот вариант есть в FAQ), но мне бы хотелось понять как это делается APi, я залез в TPrinter но то ли я тупой
то ли предмет слишком сложный , но я так и не понял почему нельзя
было сделать нпример Printers.PrinterIndex := 5. в Windows SDK
Help тоже все как-то мудрено есть все кроме как установить принтер по умолчанию
← →
panov © (2004-04-08 20:11) [3]>bob5 (08.04.04 19:04) [2]
Из программы можно печатать на любой принтер, не обязательно на тот, который установлен "по-умолчанию".
← →
bob5 (2004-04-08 21:17) [4]Понял! Описываю ситуацию: В ComboBox закачены принтера из
TPrinter. Пользователь выбирает любой принтер и загруженный
по OLE Automation MS Word должен на этот принтер напечатать
отчет мною сформированный.
← →
panov © (2004-04-08 21:49) [5]После того, как пользователь выбрал нужный принтер, выполни
Printer.PrinterIndex := Combobox1.ItemIndex;
Дальше печатай как обычно.
← →
bob5 (2004-04-13 21:04) [6]К моему сожалению этот код понимает только Delphi, а
Word говорит что принтер по умолчанию не менялся.
← →
panov © (2004-04-13 22:02) [7]procedure TForm1.Button1Click(Sender: TObject);
var
WA:TWordApplication;
FName: OLEVariant;
WPrinter: OLEVariant;
begin
WA := TWordApplication.Create(nil);
FName := "c:\test.doc";
wa.Documents.Open(FName,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyPar am,EmptyParam,EmptyParam);
WA.ActivePrinter := Combobox1.Text;
WA.ActiveDocument.PrintOut(EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,Empty Param,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
WA.Free;
end;
← →
tesseract © (2004-04-14 10:05) [8]А почему-бы не вызвать стандартный диалог настройки принтера???
← →
bob5 (2004-04-14 18:12) [9]to panov:
Я так свой отчет и вывожу, но в параметрах PrintOut не возможно
указать на какой принтер печатать (печатает на принтер по умолчанию в системе)
to tesseract:
К сожалению не всегда удобно ко всем прочим окнам открываемым user-ом еще и открывать диалог настройки принтера. интерфейс и так достаточно нагружает user-а.
to ALL:
Но все таки Билл Гейтс со своими окнами хоть и коряво но должен уметь устанавливать Default Printer и кто-то в конференции знает как это делать. Я хочу разобраться с этим вопросом раз и навсегда :) и тогда можно было-бы поместить этот вопрос в FAQ
и больше никогда его не обсуждать. Я пол года не читал этой конференции но вопросы какими были такими и остались. Мне кажется что если раз и навсегда разобраться например как выключать и включать клавиатуру или например несколько вариантов
как работать с Com портом и поместить это в FAQ, то человек познакомившись так сказать со "стандартным" вариантом решения проблемы свои заморочки решал бы более качественно и более четко
ставил бы вопросы в конференции, что значительно бы повысило "рейтинг" и сайта в целом и конференции в частности :).
Все таки жду ответа на свой вопрос.
← →
panov © (2004-04-14 19:51) [10]>bob5 (14.04.04 18:12) [9]
после строки
WA.ActivePrinter := Combobox1.Text;
MSWord печатат на выбранный принтер.
Ты пример запусти и попробуй.
← →
bob5 (2004-04-14 20:13) [11]>panov © (14.04.04 19:51) [10]
Век живи век учись! Спасибо огромное, проглядел эту строчку
в вашем ответе. Теперь все работает.
Но все таки, это так сказать обходной путь, может кто знает
как это сделать с помощью окнов
← →
Adder © (2004-04-14 21:03) [12]http://support.microsoft.com/default.aspx?scid=kb;en-us;246772
← →
panov © (2004-04-14 22:31) [13]http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=7583
← →
bob5 (2004-04-15 16:37) [14]Ссылка от Adder очень привлекательная разберусь и отвечу
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.031 c