Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.06;
Скачать: CL | DM;

Вниз

Параметры печати, установки принтера, свойства документа?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
6-18511
Григорий Ситнин
2003-08-06 17:08
2003.10.06
Broadcast


14-18583
gn
2003-09-18 12:16
2003.10.06
F1


3-18250
Delphix
2003-09-16 09:27
2003.10.06
П-омогите с правильным вводом данных


14-18571
iNew
2003-09-18 16:42
2003.10.06
Кто знает какую-нибудь прогу для общего тестирования системы.


1-18341
Serginio1
2003-09-23 14:10
2003.10.06
Как через RTTI узнать информацию о Record