Форум: "Система";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
ВнизПараметры печати, установки принтера, свойства документа? Найти похожие ветки
← →
DAT (2003-07-22 16:11) [0]Приветствую мастеров.
Пишу прогу, следящую за печатью(прога висит в памяти и отлавливает нотификации принтера). Столкнулся с проблемой чтения текущих установок принтера. При попытке считать текущие установки получаю установки по умолчанию, но никак не текущие :(( Помогите разобраться.
Код:
...
hDeviceMode:=GlobalAlloc( GHND , DocumentProperties(0, hPrinter, PChar(PrinterName), CurrDevMode^, CurrDevMode^, 0));
CurrDevMode:= GlobalLock(hDeviceMode);
if DocumentProperties( 0, hPrinter, PChar(PrinterName), CurrDevMode^, StubDevMode, DM_UPDATE or DM_OUT_BUFFER)>0 then
begin
//здесь манипуляции с установками (только чтение!)
//CurrDevMode^.dmPaperSize
//CurrDevMode^.dmCopies
//CurrDevMode^.dmColor
//и т.д
end;
← →
DAT (2003-07-22 16:15) [1]код на самом деле :))
hDeviceMode:=GlobalAlloc( GHND , DocumentProperties(0, hPrinter, PChar(PrinterName), CurrDevMode^, CurrDevMode^, 0));
CurrDevMode:= GlobalLock(hDeviceMode);
if DocumentProperties( 0, hPrinter, PChar(PrinterName), CurrDevMode^, CurrDevMode^, DM_OUT_BUFFER)>0 then
begin
//здесь манипуляции с установками (только чтение!)
//CurrDevMode^.dmPaperSize
//CurrDevMode^.dmCopies
//CurrDevMode^.dmColor
//и т.д
end;
GlobalUnlock(hDeviceMode);
← →
N169 (2003-07-22 17:27) [2]Всё верно. Текущие уставки действуют только в контексте процесса, который их модифицировал.
Иное поведение противоречило бы принципу разделения данных процессов в многозадачной системе.
← →
DAT (2003-07-22 18:37) [3]2 N169
Видимо о чем-то таком я и догадывался :)))
Есть ли способ получить установки, модифицированные в контексте произвольного процесса? Иными словами получить параметры печати, но не работы как таковой, а именно установки принтера для произвольной работы (ориентация страницы, формат, кол-во копий и т.п.)?
Спасибо
← →
DAT (2003-07-22 19:03) [4]Проблема была успешно разрешена. Ключевым моментом как раз и были параметры работы, извлекаемые в момент нотификации. Если кому интересно, могу выложить код :))
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c