Hi ALL!
Нужно сделать прогу в аргументе командой строки которой передается имя файла для печати. Подскажите как можно это реализовать. У самого мысли примерно следующие: запустить Ворд и через dde ему переслать команду печати. Да вот беда не знаю как это сделать

(только начинаю осваивать Си).
Заранее благодарен
05.03.03 14:53: Перенесено модератором из 'C/C++' — ПК
Здравствуйте, Roman Selivanov, Вы писали:
RS>Нужно сделать прогу в аргументе командой строки которой передается имя файла для печати. Подскажите как можно это реализовать. У самого мысли примерно следующие: запустить Ворд и через dde ему переслать команду печати. Да вот беда не знаю как это сделать
(только начинаю осваивать Си).
ShellExecute(NULL, "print", "myfile.doc", NULL, NULL, SW_SHOWNORMAL);
За подробностями — в MSDN.
Здравствуйте, Roman Selivanov, Вы писали:
RS>Нужно сделать прогу в аргументе командой строки которой передается имя файла для печати. Подскажите как можно это реализовать.
Если печать именно RTF, то делается это так:
Создается Rich Edit. Можно невидимый (на невидимом окне).
В него загружается нужный RTF.
Создается DC принтера.
Распечатывается.
Подробности в MSDN. См. PageSetupDlg, Rich Edit Controls, EM_STREAMIN, EM_FORMATRANGE.
Когда я печатал rtf встречался с такими проблемами:
Точное число символов в Rich Edit определяется через EM_GETTEXTLENGTHEX с флагом GTL_PRECISE.
Перед тем как выдавать пользователю диалог выбора принтера, нужно вызвать ту же функцию ( PageSetupDlg ) с таким флагом, чтобы записать в структуру значения для принтера по умолчанию.
RS>У самого мысли примерно следующие: запустить Ворд и через dde ему переслать команду печати. Да вот беда не знаю как это сделать
А точно ли будет ворд, там где будет работать ваша программа? ( у меня вот его обычно нет. ) А если будет, то сможете ли вы, например, выбрать на каком принтере печатать?
... << RSDN@Home 1.0 beta 6a >>