Re[2]: Изменение настроек принтера по умолчанию DocumentProp
От: Dmitrii K Молдова  
Дата: 22.02.06 08:33
Оценка:
Здравствуйте, ekamaloff, Вы писали:

E>Здравствуйте, Dmitrii K, Вы писали: .............


Код на С есть по ссылке, котороя в вопросе указана... вот:

http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q167345

Работает этот код или нет... надеюсь, работает...
Вот один из многих моих Дельфийских вариантов:

pPrName:=PChar(Printer.Printers[Printer.PrinterIndex]); // берём имя принтера
OpenPrinter(pPrName,Handle,nil); // потом хэндл
dwNeeded:=DocumentProperties(0,Handle,pPrName,pDeviceMode^,pDeviceMode^,0); // спрашиваем функцию, сколько места выдлитть под структуру DEVMODE
DevModeHandle:=GlobalAlloc(GHND,dwNeeded); // Выделяем место
pDeviceMode:=GlobalLock(DevModeHandle); // Возвращаем указатель на выделенное
dwRet:=DocumentProperties(0,Handle,pPrName,pDeviceMode^,pDeviceMode^,DM_OUT_BUFFER); // Считываем текущие настройки (Считывается нормально)
pDeviceMode^.dmOrientation:=Oritnt; // Изменяем их
dwRet:=DocumentProperties(0,Handle,pPrName,pDeviceMode^,pDeviceMode^,DM_IN_BUFFER or DM_OUT_BUFFER); // Пытаемся загнать обратно
// чистим всё...
ClosePrinter(Handle);
GlobalUnlock(DevModeHandle);
GlobalFree(DevModeHandle);
DevModeHandle:=0;

Может действительно здесь что-нибудь не так, опыта пока маловато...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.