Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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.01 c
4-18687
gluka
2003-07-31 16:47
2003.10.06
Hook на WM_CREATE или HSHELL_WINDOWCREATED ?


3-18218
Andriy Tysh
2003-09-17 15:55
2003.10.06
Resize of Collumn in DBGrid


1-18358
frost
2003-09-23 06:45
2003.10.06
TStream


14-18608
RDA
2003-09-17 18:20
2003.10.06
Update для Delphi 5


3-18277
nortsov
2003-09-14 13:03
2003.10.06
роблема с update (не запоминаются изменения в таблице!)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский