Где в реестре находится devmode
Перейти к содержимому

Где в реестре находится devmode

  • автор:

Выгрузка из реестра контейнера КриптоПро CSP

Если контейнеры требуется перенести вручную на другой ПК, выгрузите ветку реестра. Для этого откройте редактор реестра regedit.exe и перейти в необходимую ветку. В том случае, когда в качестве криптопровайдера используется СКЗИ КриптоПро CSP, а в качестве считывателя используется реестр, контейнеры хранятся в ветке реестра:

  • В x32 операционных системах контейнеры находятся в ветке: HKEY_LOCAL_MACHINE\SOFTWARE\CryptoPro\Settings\Users\\Keys\
  • В x64 операционных системах контейнеры находятся в ветке: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\CryptoPro\Settings\Users\\Keys\

Выберите папку Keys и выполните её экспорт.

Импорт контейнера в реестр

На том рабочем месте, куда нужно импортировать контейнеры, проверьте разрядность ОС и узнайте SID пользователя.

SID — Идентификатор безопасности пользователя ОС Windows. У каждого пользователя Windows свой SID. Для того, чтобы узнать SID пользователя запустите ОС Windows под его учетной записью, после чего перейдите в командную строку (Пуск → Выполнить → cmd) и введите команду whoami/user. Команда отобразит основные сведения о текущем пользователе, включая его SID

Пример SID: S-1-5-12-12345678-1234567890-1234567890-1234.

После этого откройте с помощью блокнота выгруженный файл реестра в формате .reg, измените SID и, если необходимо, путь к конечной ветке.

После этого загрузите ветку реестра в систему. Для импорта сохраненного файла реестра дважды кликните левой кнопкой мыши по файлу с расширением REG или воспользуйтесь альтернативным способом:

  1. Откройте редактор реестра (regedit.exe).
  2. В меню Файл выберите пункт Импортировать.
  3. В открывшемся окне найдите файл для импорта, выделите его и нажмите кнопку Открыть.

Для использования электронной подписи на другом ПК, на нем должен быть установлен СКЗИ КриптоПро CSP, после добавления ветки реестра необходимо установить сертификат.

Функция ChangeDisplaySettingsExW (winuser.h)

Функция ChangeDisplaySettingsEx изменяет параметры указанного устройства отображения на указанный режим графики.

Примечание Приложения, предназначенные для Windows 8 и более поздних версий, больше не могут запрашивать или задавать режимы отображения менее 32 бит на пиксель (bpp); Эти операции завершатся ошибкой. Эти приложения имеют манифест совместимости, предназначенный для Windows 8. Windows 8 по-прежнему поддерживает 8- и 16-разрядные цветовые режимы для классических приложений, созданных без манифеста Windows 8; Windows 8 эмулирует эти режимы, но по-прежнему работает в 32-разрядном цветовом режиме.

Синтаксис

LONG ChangeDisplaySettingsExW( [in] LPCWSTR lpszDeviceName, [in] DEVMODEW *lpDevMode, HWND hwnd, [in] DWORD dwflags, [in] LPVOID lParam ); 

Параметры

Указатель на строку, завершающуюся нулевым значением, которая указывает устройство отображения, режим графики которого изменится. Допустимы только имена устройств, возвращенные EnumDisplayDevices . Дополнительные сведения об именах, связанных с этими устройствами отображения, см. в разделе EnumDisplayDevices .

Параметр lpszDeviceName может иметь значение NULL. Значение NULL указывает устройство отображения по умолчанию. Устройство по умолчанию можно определить, вызвав EnumDisplayDevices и проверив флаг DISPLAY_DEVICE_PRIMARY_DEVICE.

Указатель на структуру DEVMODE , описывающую новый режим графики. Если lpDevMode имеет значение NULL, для параметра отображения будут использоваться все текущие значения в реестре. Передача null для параметра lpDevMode и 0 для параметра dwFlags — это самый простой способ вернуться в режим по умолчанию после изменения динамического режима.

Член dmSize должен быть инициализирован размером в байтах структуры DEVMODE . Член dmDriverExtra должен быть инициализирован, чтобы указать количество байтов данных частного драйвера в соответствии со структурой DEVMODE . Кроме того, можно использовать любой из следующих элементов структуры DEVMODE .

Член Значение
dmBitsPerPel Бит на пиксель
dmPelsWidth Ширина пикселей
dmPelsHeight Высота пикселей
dmDisplayFlags Флаги режима
dmDisplayFrequency Частота режима
dmPosition Положение устройства в конфигурации с несколькими мониторами.

Помимо использования одного или нескольких предыдущих элементов DEVMODE , необходимо также задать одно или несколько следующих значений в элементе dmFields , чтобы изменить параметры отображения.

Значение Значение
DM_BITSPERPEL Используйте значение dmBitsPerPel .
DM_PELSWIDTH Используйте значение dmPelsWidth .
DM_PELSHEIGHT Используйте значение dmPelsHeight .
DM_DISPLAYFLAGS Используйте значение dmDisplayFlags .
DM_DISPLAYFREQUENCY Используйте значение dmDisplayFrequency .
DM_POSITION Используйте значение dmPosition .

Защищены; значение должно иметь значение NULL.

Указывает, как следует изменить графический режим. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
0 Режим графики для текущего экрана будет динамически изменен.
CDS_FULLSCREEN Режим носит временный характер.

При переходе на другой рабочий стол и с другого рабочего стола этот режим не будет сброшен.

Указание CDS_TEST позволяет приложению определить, какие графические режимы действительно допустимы, не заставляя систему изменять их.

Если указан CDS_UPDATEREGISTRY и можно динамически изменять графический режим, сведения сохраняются в реестре и возвращаются DISP_CHANGE_SUCCESSFUL. Если динамическое изменение режима графики невозможно, сведения сохраняются в реестре и возвращаются DISP_CHANGE_RESTART.

Если указан CDS_UPDATEREGISTRY и данные не могут быть сохранены в реестре, графический режим не изменяется и возвращается DISP_CHANGE_NOTUPDATED.

Если параметр dwFlagsCDS_VIDEOPARAMETERS,lParam — это указатель на структуру VIDEOPARAMETERS . В противном случае lParam должен иметь значение NULL.

Возвращаемое значение

Функция ChangeDisplaySettingsEx возвращает одно из следующих значений.

Код возврата Описание
DISP_CHANGE_SUCCESSFUL Изменение параметров выполнено успешно.
DISP_CHANGE_BADDUALVIEW Изменение параметров не удалось, так как система поддерживает DualView.
DISP_CHANGE_BADFLAGS Передан недопустимый набор флагов.
DISP_CHANGE_BADMODE Режим графики не поддерживается.
DISP_CHANGE_BADPARAM Передан недопустимый параметр. Это может быть недопустимый флаг или сочетание флагов.
DISP_CHANGE_FAILED Драйвер дисплея не выполнил указанный графический режим.
DISP_CHANGE_NOTUPDATED Не удается записать параметры в реестр.
DISP_CHANGE_RESTART Чтобы графический режим работал, компьютер необходимо перезагрузить.

Комментарии

Чтобы убедиться, что структура DEVMODE , переданная в ChangeDisplaySettingsEx , является допустимой и содержит только значения, поддерживаемые драйвером отображения, используйте DEVMODE , возвращаемый функцией EnumDisplaySettings .

При добавлении монитора дисплея в систему с несколькими мониторами программными средствами задайте для DEVMODE.dmFields значение DM_POSITION и укажите позицию (в DEVMODE.dmPosition) добавляемого монитора, которая находится рядом по крайней мере с одним пикселем области отображения существующего монитора. Чтобы отключить монитор, задайте для параметра DEVMODE.dmFields значение DM_POSITION но установите для devmode.dmPelsWidth и DEVMODE.dmPelsHeight значение 0. Дополнительные сведения см. в разделе Несколько мониторов отображения.

При динамическом изменении режима отображения WM_DISPLAYCHANGE сообщение отправляется всем запущенным приложениям со следующими параметрами сообщения.

Параметры Значение
wParam Новые биты на пиксель
LOWORD(lParam) Новая ширина пикселей
HIWORD(lParam) Новая высота пикселей

Чтобы изменить параметры для нескольких дисплеев одновременно, сначала вызовите ChangeDisplaySettingsEx для каждого устройства по отдельности, чтобы обновить реестр без применения изменений. Затем снова вызовите ChangeDisplaySettingsEx с устройством NULL , чтобы применить изменения. Например, чтобы изменить параметры для двух дисплеев, сделайте следующее:

 ChangeDisplaySettingsEx (lpszDeviceName1, lpDevMode1, NULL, (CDS_UPDATEREGISTRY | CDS_NORESET), NULL); ChangeDisplaySettingsEx (lpszDeviceName2, lpDevMode2, NULL, (CDS_UPDATEREGISTRY | CDS_NORESET), NULL); ChangeDisplaySettingsEx (NULL, NULL, NULL, 0, NULL); 

Виртуализация DPI

Этот API не участвует в виртуализации DPI. Предоставленные входные данные всегда относятся к физическим пикселям и не связаны с вызывающим контекстом.

Заголовок winuser.h определяет ChangeDisplaySettingsEx в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-sysparams-ext-l1-1-1 (представлено в Windows 10 версии 10.0.14393)

Структура DEVMODEA (wingdi.h)

Структура данных DEVMODE содержит сведения об инициализации и среде принтера или устройства отображения.

Синтаксис

typedef struct _devicemodeA < BYTE dmDeviceName[CCHDEVICENAME]; WORD dmSpecVersion; WORD dmDriverVersion; WORD dmSize; WORD dmDriverExtra; DWORD dmFields; union < struct < short dmOrientation; short dmPaperSize; short dmPaperLength; short dmPaperWidth; short dmScale; short dmCopies; short dmDefaultSource; short dmPrintQuality; >DUMMYSTRUCTNAME; POINTL dmPosition; struct < POINTL dmPosition; DWORD dmDisplayOrientation; DWORD dmDisplayFixedOutput; >DUMMYSTRUCTNAME2; > DUMMYUNIONNAME; short dmColor; short dmDuplex; short dmYResolution; short dmTTOption; short dmCollate; BYTE dmFormName[CCHFORMNAME]; WORD dmLogPixels; DWORD dmBitsPerPel; DWORD dmPelsWidth; DWORD dmPelsHeight; union < DWORD dmDisplayFlags; DWORD dmNup; >DUMMYUNIONNAME2; DWORD dmDisplayFrequency; DWORD dmICMMethod; DWORD dmICMIntent; DWORD dmMediaType; DWORD dmDitherType; DWORD dmReserved1; DWORD dmReserved2; DWORD dmPanningWidth; DWORD dmPanningHeight; > DEVMODEA, *PDEVMODEA, *NPDEVMODEA, *LPDEVMODEA; 

Члены

Массив символов с нулем, указывающий «понятное» имя принтера или дисплея; Например, «PCL/HP LaserJet» в случае PCL/HP LaserJet. Эта строка является уникальной среди драйверов устройств. Обратите внимание, что это имя может быть усечено, чтобы поместиться в массив dmDeviceName .

Номер версии спецификации данных инициализации, на которой основана структура. Чтобы убедиться, что для любой операционной системы используется правильная версия, используйте DM_SPECVERSION.

Номер версии драйвера, назначенный разработчиком драйвера.

Указывает размер (в байтах) структуры DEVMODE , не включая частные данные драйвера, которые могут следовать за открытыми элементами структуры. Задайте этому члену значение , sizeof (DEVMODE) чтобы указать версию используемой структуры DEVMODE .

Содержит количество байтов частных данных драйвера, которые соответствуют этой структуре. Если драйвер устройства не использует сведения, относящиеся к устройству, установите для этого элемента значение 0.

Указывает, были ли инициализированы определенные элементы структуры DEVMODE . Если элемент инициализирован, задается соответствующий ему бит, в противном случае бит становится ясным. Драйвер поддерживает только те члены DEVMODE , которые подходят для технологии принтера или дисплея.

Следующие значения определены и перечислены здесь с соответствующими элементами структуры.

Значение Элемент структуры
DM_ORIENTATION dmOrientation
DM_PAPERSIZE dmPaperSize
DM_PAPERLENGTH dmPaperLength
DM_PAPERWIDTH dmPaperWidth
DM_SCALE dmScale
DM_COPIES dmCopies
DM_DEFAULTSOURCE dmDefaultSource
DM_PRINTQUALITY dmPrintQuality
DM_POSITION dmPosition
DM_DISPLAYORIENTATION dmDisplayOrientation
DM_DISPLAYFIXEDOUTPUT dmDisplayFixedOutput
DM_COLOR dmColor
DM_DUPLEX dmDuplex
DM_YRESOLUTION dmYResolution
DM_TTOPTION dmTTOption
DM_COLLATE dmCollate
DM_FORMNAME dmFormName
DM_LOGPIXELS dmLogPixels
DM_BITSPERPEL dmBitsPerPel
DM_PELSWIDTH dmPelsWidth
DM_PELSHEIGHT dmPelsHeight
DM_DISPLAYFLAGS dmDisplayFlags
DM_NUP dmNup
DM_DISPLAYFREQUENCY dmDisplayFrequency
DM_ICMMETHOD dmICMMethod
DM_ICMINTENT dmICMIntent
DM_MEDIATYPE dmMediaType
DM_DITHERTYPE dmDitherType
DM_PANNINGWIDTH dmPanningWidth
DM_PANNINGHEIGHT dmPanningHeight

Только для принтеров выбирает ориентацию бумаги. Это может быть DMORIENT_PORTRAIT (1) или DMORIENT_LANDSCAPE (2).

Только для принтеров выбирает размер бумаги для печати. Этот элемент может быть равен нулю, если длина и ширина бумаги задаются элементами dmPaperLength и dmPaperWidth . В противном случае члену dmPaperSize можно задать значение для конкретного устройства, большее или равное DMPAPER_USER или одно из следующих предопределенных значений.

Значение Значение
DMPAPER_LETTER Буква, 8 1/2- на 11 дюймов
DMPAPER_LEGAL Юридический, 8 1/2- на 14 дюймов
DMPAPER_9X11 Лист 9 на 11 дюймов
DMPAPER_10X11 Лист 10 на 11 дюймов
DMPAPER_10X14 Лист 10 на 14 дюймов
DMPAPER_15X11 Лист 15 на 11 дюймов
DMPAPER_11X17 Лист 11 на 17 дюймов
DMPAPER_12X11 Лист 12 на 11 дюймов
DMPAPER_A2 Лист A2, 420 x 594 миллиметра
DMPAPER_A3 Лист A3, 297 х 420 миллиметров
DMPAPER_A3_EXTRA A3 Extra 322 x 445-миллиметров
DMPAPER_A3_EXTRA_TRAVERSE A3 Extra Transverse 322 x 445-миллиметров
DMPAPER_A3_ROTATED Лист A3, повернутый 420 на 297 миллиметров
DMPAPER_A3_TRAVERSE A3 Поперечная 297 x 420 миллиметров
DMPAPER_A4 Лист A4, 210 на 297 миллиметров
DMPAPER_A4_EXTRA Лист A4, 9,27 x 12,69 дюйма
DMPAPER_A4_PLUS A4 Plus 210 x 330 миллиметров
DMPAPER_A4_ROTATED Лист A4, повернутый, 297 на 210 миллиметров
DMPAPER_A4SMALL A4 маленький лист, 210 на 297 миллиметров
DMPAPER_A4_TRANSVERSE A4 Поперечная 210 x 297 миллиметров
DMPAPER_A5 Лист A5, 148 на 210 миллиметров
DMPAPER_A5_EXTRA A5 Extra 174 x 235 миллиметров
DMPAPER_A5_ROTATED Лист A5, повернутый, 210 на 148 миллиметров
DMPAPER_A5_TRANSVERSE A5 Поперечная 148 x 210 миллиметров
DMPAPER_A6 Лист A6, 105 на 148 миллиметров
DMPAPER_A6_ROTATED Лист A6, повернутый, 148 на 105 миллиметров
DMPAPER_A_PLUS SuperA/A4 227 x 356 миллиметров
DMPAPER_B4 Лист B4, 250 х 354 миллиметра
DMPAPER_B4_JIS_ROTATED B4 (JIS) повернутый лист, 364 на 257 миллиметров
DMPAPER_B5 Лист B5, 182-х 257-миллиметровый лист
DMPAPER_B5_EXTRA B5 (ISO) Extra 201 x 276-миллиметров
DMPAPER_B5_JIS_ROTATED B5 (JIS) повернутый лист, 257 на 182 миллиметра
DMPAPER_B6_JIS Лист B6 (JIS), 128 на 182 миллиметра
DMPAPER_B6_JIS_ROTATED B6 (JIS) повернутый лист, 182 на 128 миллиметров
DMPAPER_B_PLUS SuperB/A3 305 x 487 миллиметров
DMPAPER_CSHEET Лист C, 17 х 22 дюйма
DMPAPER_DBL_JAPANESE_POSTCARD Двойная японская открытка, 200 на 148 миллиметров
DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED Двойная японская открытка повернутая, 148- на 200 миллиметров
DMPAPER_DSHEET Лист D, 22 х 34 дюйма
DMPAPER_ENV_9 #9 Конверт, 3 7/8- на 8 7/8 дюймов
DMPAPER_ENV_10 #10 Конверт, 4 1/8- на 9 1/2 дюйма
DMPAPER_ENV_11 #11 Конверт, 4 1/2 — 10 3/8 дюймов
DMPAPER_ENV_12 #12 Конверт, 4 3/4- на 11 дюймов
DMPAPER_ENV_14 #14 Конверт, 5- х 11 1/2 дюйма
DMPAPER_ENV_C5 Конверт C5, 162 на 229 миллиметров
DMPAPER_ENV_C3 Конверт C3, 324 х 458 миллиметров
DMPAPER_ENV_C4 Конверт C4, 229 х 324 миллиметра
DMPAPER_ENV_C6 Конверт C6, 114 на 162 миллиметра
DMPAPER_ENV_C65 Конверт C65, 114 х 229 миллиметров
DMPAPER_ENV_B4 Конверт B4, 250 х 353 миллиметра
DMPAPER_ENV_B5 Конверт B5, 176 на 250 миллиметров
DMPAPER_ENV_B6 Конверт B6, 176 на 125 миллиметров
DMPAPER_ENV_DL Конверт DL, 110 х 220 миллиметров
DMPAPER_ENV_INVITE Конверт-приглашение 220 x 220 мм
DMPAPER_ENV_ITALY Конверт Италии, 110- х 230 миллиметров
DMPAPER_ENV_MONARCH Конверт Monarch, 3 7/8- х 7 1/2 дюйма
DMPAPER_ENV_PERSONAL 6 конвертов 3/4, 3 5/8- 6 1/2 дюйма
DMPAPER_ESHEET Лист E, 34 х 44 дюйма
DMPAPER_EXECUTIVE Исполнительный, 7 1/4- х 10 1/2 дюйма
DMPAPER_FANFOLD_US US Std Fanfold, 14 7/8- х 11-дюймов
DMPAPER_FANFOLD_STD_GERMAN Немецкий Std Fanfold, 8 1/2- 12 дюймов
DMPAPER_FANFOLD_LGL_GERMAN Немецкий юридический вентилятор, 8 — на 13 дюймов
DMPAPER_FOLIO Фолио, 8 1/2- х 13-дюймовая бумага
DMPAPER_ISO_B4 B4 (ISO) 250 х 353 миллиметров бумаги
DMPAPER_JAPANESE_POSTCARD Японская открытка, 100 на 148 миллиметров
DMPAPER_JAPANESE_POSTCARD_ROTATED Японская открытка повернутая, 148- х 100 миллиметров
DMPAPER_JENV_CHOU3 Японский конверт Chou #3
DMPAPER_JENV_CHOU3_ROTATED Японский конверт Chou #3, повернутый
DMPAPER_JENV_CHOU4 Японский конверт Chou #4
DMPAPER_JENV_CHOU4_ROTATED Японский конверт Chou #4, повернутый
DMPAPER_JENV_KAKU2 Японский конверт Kaku #2
DMPAPER_JENV_KAKU2_ROTATED Японский конверт Каку #2, повернутый
DMPAPER_JENV_KAKU3 Японский конверт Kaku #3
DMPAPER_JENV_KAKU3_ROTATED Японский конверт Kaku #3, повернутый
DMPAPER_JENV_YOU4 Японский конверт Вы #4
DMPAPER_JENV_YOU4_ROTATED Японский конверт вы #4 повернуты
DMPAPER_LAST DMPAPER_PENV_10_ROTATED
DMPAPER_LEDGER Реестр, 17 на 11 дюймов
DMPAPER_LEGAL_EXTRA Legal Extra 9 1/2 x 15 дюймов.
DMPAPER_LETTER_EXTRA Letter Extra 9 1/2 x 12 дюймов.
DMPAPER_LETTER_EXTRA_TRANSVERSE Letter Extra Transverse 9 1/2 x 12 дюймов.
DMPAPER_LETTER_ROTATED Повернутая буква 11 на 8 1/2 дюйма
DMPAPER_LETTERSMALL Буква маленькая, 8 1/2- х 11 дюймов
DMPAPER_LETTER_TRANSVERSE Поперечные буквы 8 1/2 x 11 дюймов
DMPAPER_NOTE Обратите внимание, 8 1/2- 11 дюймов
DMPAPER_P16K PRC 16K, 146- х 215 миллиметров
DMPAPER_P16K_ROTATED PRC 16K вращаемый, 215-х 146-миллиметров
DMPAPER_P32K PRC 32K, 97 х 151 миллиметров
DMPAPER_P32K_ROTATED PRC 32K вращаемый, 151 на 97 миллиметров
DMPAPER_P32KBIG PRC 32K (Big) 97 х 151 миллиметров
DMPAPER_P32KBIG_ROTATED PRC 32K (Большой) вращаемый, 151 на 97 миллиметров
DMPAPER_PENV_1 Конверт КНР No 1, 102- х 165 миллиметров
DMPAPER_PENV_1_ROTATED Конверт КНР No 1 с повернутой, 165 на 102 миллиметра
DMPAPER_PENV_2 Конверт PRC No 2, 102- х 176 миллиметров
DMPAPER_PENV_2_ROTATED Конверт КНР No 2 повернутый, 176 на 102 миллиметра
DMPAPER_PENV_3 Конверт PRC No 3, 125- х 176 миллиметров
DMPAPER_PENV_3_ROTATED Конверт PRC No 3 повернутый, 176- х 125 миллиметров
DMPAPER_PENV_4 Конверт PRC No 4, 110- х 208-миллиметров
DMPAPER_PENV_4_ROTATED Конверт КНР No 4 повернутый, 208 на 110 миллиметров
DMPAPER_PENV_5 Конверт КНР No 5, 110- х 220 миллиметров
DMPAPER_PENV_5_ROTATED Конверт PRC No 5 повернутый, 220 на 110 миллиметров
DMPAPER_PENV_6 Конверт PRC No 6, 120- х 230 миллиметров
DMPAPER_PENV_6_ROTATED Конверт PRC No 6 повернутый, 230 на 120 миллиметров
DMPAPER_PENV_7 Конверт PRC No 7, 160- х 230 миллиметров
DMPAPER_PENV_7_ROTATED Конверт КНР No 7 повернутый, 230 на 160 миллиметров
DMPAPER_PENV_8 Конверт КНР No 8, 120- х 309 миллиметров
DMPAPER_PENV_8_ROTATED Конверт КНР No 8 повернутый, 309 на 120 миллиметров
DMPAPER_PENV_9 Конверт PRC No 9, 229- х 324-миллиметров
DMPAPER_PENV_9_ROTATED Конверт КНР No 9 повернутый, 324-х 229 миллиметров
DMPAPER_PENV_10 Конверт PRC No 10, 324- х 458 миллиметров
DMPAPER_PENV_10_ROTATED Конверт PRC No 10 вращаемый, 458-х 324-миллиметров
DMPAPER_QUARTO Кварто, 215- х 275-миллиметровая бумага
DMPAPER_STATEMENT Оператор, 5 1/2- 8 1/2 дюйма
DMPAPER_TABLOID Tabloid, 11- х 17-дюймов
DMPAPER_TABLOID_EXTRA Tabloid, 11,69 x 18 дюймов

Только для принтеров переопределяет длину бумаги, указанной элементом dmPaperSize , либо для пользовательских размеров бумаги, либо для устройств, таких как принтеры с точками матрицы, которые могут печатать на странице произвольной длины. Эти значения, наряду со всеми другими значениями в этой структуре, определяющими физическую длину, находятся в десятых миллиметрах.

Только для принтеров переопределяет ширину бумаги, указанной элементом dmPaperSize .

Указывает коэффициент масштабирования выводных данных. Видимый размер страницы масштабируется с физического размера страницы в коэффициенте dmScale /100. Например, страница размера буквы со значением dmScale 50 будет содержать столько данных, сколько страница размером 17 х 22 дюйма, так как выходной текст и графика будут вдвое меньше исходной высоты и ширины.

Выбирает количество печатных копий, если устройство поддерживает многостраничные копии.

Указывает источник бумаги. Чтобы получить список доступных источников бумаги для принтера, используйте функцию DeviceCapabilities с флагом DC_BINS.

Этот элемент может быть одним из следующих значений или значением для конкретного устройства, которое больше или равно DMBIN_USER.

Задает разрешение принтера. Существует четыре предопределенных значения, независимых от устройства:

Если указано положительное значение, оно указывает количество точек на дюйм и, следовательно, зависит от устройства.

Только для устройств отображения — структура POINTL , указывающая позиционные координаты устройства отображения, ссылающиеся на область рабочего стола. Основное устройство отображения всегда находится в координатах (0,0).

Только для устройств отображения — ориентация, с которой должны быть представлены изображения. Если DM_DISPLAYORIENTATION не задано, этот элемент должен быть равен нулю. Если задано DM_DISPLAYORIENTATION, этот элемент должен иметь одно из следующих значений.

Значение Значение
DMDO_DEFAULT Ориентация дисплея — это естественная ориентация устройства отображения; он должен использоваться по умолчанию.
DMDO_90 Ориентация дисплея поворачивается на 90 градусов (измеряется по часовой стрелке) от DMDO_DEFAULT.
DMDO_180 Ориентация дисплея поворачивается на 180 градусов (измеряется по часовой стрелке) от DMDO_DEFAULT.
DMDO_270 Ориентация дисплея поворачивается на 270 градусов (измеряется по часовой стрелке) от DMDO_DEFAULT.

Чтобы определить, является ли ориентация отображения книжной или альбомной, проверка соотношение dmPelsWidth и dmPelsHeight.

Windows 2000: Не поддерживается.

Только для устройств отображения с фиксированным разрешением, как дисплей представляет режим низкого разрешения на дисплее с более высоким разрешением. Например, если разрешение устройства дисплея фиксированное на уровне 1024 x 768 пикселей, но его режим установлен в 640 x 480 пикселей, устройство может отображать изображение размером 640 x 480 где-то в интерьере экрана 1024 x 768 пикселей или растянуть изображение размером 640 x 480, чтобы заполнить большее пространство экрана. Если DM_DISPLAYFIXEDOUTPUT не задано, этот элемент должен быть равен нулю. Если задано DM_DISPLAYFIXEDOUTPUT, этот элемент должен иметь одно из следующих значений.

Значение Значение
DMDFO_DEFAULT Значение по умолчанию для дисплея.
DMDFO_CENTER Изображение с низким разрешением выравлируется по центру в большом пространстве экрана.
DMDFO_STRETCH Изображение с низким разрешением растягивается для заполнения большего пространства экрана.

Windows 2000: Не поддерживается.

Переключается между цветом и монохромным цветом на цветных принтерах. Допустимы следующие значения:

  • DMCOLOR_COLOR
  • DMCOLOR_MONOCHROME

Выбирает дуплексную или двустороннюю печать для принтеров, способных к дуплексной печати. Ниже приведены возможные значения.

Значение Значение
DMDUP_SIMPLEX Обычная (недуплексная) печать.
DMDUP_HORIZONTAL Привязка с коротким краем, то есть длинный край страницы является горизонтальным.
DMDUP_VERTICAL Привязка с длинным краем, то есть длинный край страницы является вертикальным.

Указывает разрешение принтера по Y в точках на дюйм. Если принтер инициализирует этот элемент, член dmPrintQuality задает разрешение принтера в точках на дюйм.

Указывает способ печати шрифтов TrueType. Этот элемент может быть одним из следующих значений.

Значение Значение
DMTT_BITMAP Выводит шрифты TrueType в виде графики. Это действие по умолчанию для принтеров точечной матрицы.
DMTT_DOWNLOAD Загружает шрифты TrueType в виде мягких шрифтов. Это действие по умолчанию для Hewlett-Packard принтеров, использующих язык управления принтерами (PCL).
DMTT_DOWNLOAD_OUTLINE Загружает шрифты TrueType в виде мягких шрифтов структуры.
DMTT_SUBDEV Заменяет шрифты устройства шрифтами TrueType. Это действие по умолчанию для принтеров PostScript.

Указывает, следует ли использовать параметры сортировки при печати нескольких копий. (Этот элемент игнорируется, если драйвер принтера не указывает поддержку параметров сортировки, задав члену dmFields значение DM_COLLATE.) Этот элемент может быть одним из следующих значений.

Значение Значение
DMCOLLATE_TRUE Сортировка при печати нескольких копий.
DMCOLLATE_FALSE Не выполнять сортировку при печати нескольких копий.

Массив символов с нулем, указывающий имя используемой формы; Например, «Letter» или «Legal». Полный набор имен можно получить с помощью функции EnumForms .

Количество пикселей на логический дюйм. Драйверы принтера не используют этот элемент.

Задает разрешение цвета (в битах на пиксель) устройства отображения (например, 4 бита для 16 цветов, 8 битов для 256 цветов или 16 битов для 65 536 цветов). Драйверы отображения используют этот элемент, например, в функции ChangeDisplaySettings . Драйверы принтера не используют этот элемент.

Задает ширину видимой поверхности устройства (в пикселях). Драйверы отображения используют этот элемент, например, в функции ChangeDisplaySettings . Драйверы принтера не используют этот элемент.

Указывает высоту видимой поверхности устройства в пикселях. Драйверы отображения используют этот элемент, например, в функции ChangeDisplaySettings . Драйверы принтера не используют этот элемент.

Указывает режим отображения устройства. Этот элемент может быть сочетанием следующих значений.

Значение Значение
DM_GRAYSCALE Указывает, что дисплей является нецветным устройством. Если этот флаг не задан, предполагается цвет. Этот флаг больше недействителен.
DM_INTERLACED Указывает, что режим отображения чередуется. Если флаг не задан, предполагается неинтерлейка.

Драйверы отображения используют этот элемент, например, в функции ChangeDisplaySettings . Драйверы принтера не используют этот элемент.

Указывает, где выполняется NUP. Это может быть один из следующих вариантов.

Значение Значение
DMNUP_SYSTEM Диспетчер очереди печати выполняет NUP.
DMNUP_ONEUP Приложение выполняет NUP.

Указывает частоту в герцах (циклов в секунду) устройства отображения в определенном режиме. Это значение также называется вертикальной частотой обновления устройства отображения. Драйверы отображения используют этот элемент. Он используется, например, в функции ChangeDisplaySettings . Драйверы принтера не используют этот элемент.

При вызове функции EnumDisplaySettings член dmDisplayFrequency может возвращать значение 0 или 1. Эти значения представляют частоту обновления оборудования дисплея по умолчанию. Эта скорость по умолчанию обычно устанавливается переключателями на дисплее карта или системной плате компьютера или программой настройки, которая не использует функции отображения, такие как ChangeDisplaySettings.

Указывает, как обрабатывается ICM. Для приложения, отличного от ICM, этот член определяет, включена или отключена функция ICM. Для приложений ICM система проверяет этот элемент, чтобы определить, как обрабатывать поддержку ICM. Это может быть одно из следующих предопределенных значений или определенное драйвером значение, большее или равное значению DMICMMETHOD_USER.

Значение Значение
DMICMMETHOD_NONE Указывает, что ICM отключен.
DMICMMETHOD_SYSTEM Указывает, что ICM обрабатывается Windows.
DMICMMETHOD_DRIVER Указывает, что ICM обрабатывается драйвером устройства.
DMICMMETHOD_DEVICE Указывает, что ICM обрабатывается конечным устройством.

Драйвер принтера должен предоставить пользовательский интерфейс для настройки этого элемента. Большинство драйверов принтера поддерживают только значение DMICMMETHOD_SYSTEM или DMICMMETHOD_NONE. Драйверы для принтеров PostScript поддерживают все значения.

Указывает, какой метод или намерение сопоставления цветов следует использовать по умолчанию. Этот элемент в первую очередь предназначен для приложений, не относящихся к ICM. Приложения ICM могут устанавливать намерения с помощью функций ICM. Это может быть одно из следующих предопределенных значений или определенное драйвером значение, большее или равное значению DMICM_USER.

Значение Значение
DMICM_ABS_COLORIMETRIC Сопоставление цветов должно оптимизироваться в соответствии с точным запрошенным цветом без сопоставления белых точек. Это значение наиболее подходит для использования с правописания.
DMICM_COLORIMETRIC Сопоставление цветов должно оптимизироваться в соответствии с точным запрошенным цветом. Это значение лучше всего подходит для использования с бизнес-логотипами или другими изображениями, когда нужно точное соответствие цвета.
DMICM_CONTRAST Сопоставление цветов должно оптимизироваться для контрастности цветов. Это значение является наиболее подходящим вариантом для отсканированных или фотографических изображений, когда необходимо выполнить поиск.
DMICM_SATURATE Сопоставление цветов должно оптимизироваться для насыщенности цвета. Это значение является наиболее подходящим вариантом для бизнес-графов, когда не рекомендуется использовать мизерные диаграммы.

Указывает тип печатаемого носителя. Элементом может быть одно из следующих предопределенных значений или определенное драйвером значение, большее или равное значению DMMEDIA_USER.

Значение Значение
DMMEDIA_STANDARD Обычная бумага.
DMMEDIA_GLOSSY Глянцевая бумага.
DMMEDIA_TRANSPARENCY Прозрачная пленка.

Чтобы получить список доступных типов носителей для принтера, используйте функцию DeviceCapabilities с флагом DC_MEDIATYPES.

Указывает, как выполняется дитерирование. Элементом может быть одно из следующих предопределенных значений или определенное драйвером значение, большее или равное значению DMDITHER_USER.

Значение Значение
DMDITHER_NONE Никакого дитинга.
DMDITHER_COARSE Смещание грубой кистью.
DMDITHER_FINE Смять с помощью тонкой кисти.
DMDITHER_LINEART Литейное рисование— специальный метод смежения, который создает четко определенные границы между черным, белым и серым масштабированием. Он не подходит для изображений, которые включают непрерывные градации по интенсивности и оттенку, например сканированные фотографии.
DMDITHER_GRAYSCALE Устройство выполняет серое масштабирование.

Не используется; значение должно быть равно нулю.

Не используется; значение должно быть равно нулю.

Этот элемент должен быть равен нулю.

Этот элемент должен быть равен нулю.

Комментарии

Частные данные драйвера устройства соответствуют общедоступной части структуры DEVMODE . Размер общедоступных данных может отличаться для разных версий структуры. Член dmSize указывает количество байтов общедоступных данных, а член dmDriverExtra — количество байт частных данных.

Заголовок wingdi.h определяет DEVMODE как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть wingdi.h (включая Windows.h)

Поиск в реестре настроек (DEVMODE и прочих) сетевого принтера для разных версий Windows

Доброе время суток!
Если коротко сформулировать вопрос: где в реестре находится DEVMODE по умолчанию для сетевого принтера и где находится копия DEVMODE для сетевого принтера для локального пользователя? Так же интересно какие отличия в пути к DEVMODE в реестре у XP, Vista и Windows 7,8.

Далее в деталях:
Озаботился с поиском в реестре DEVMODE структуры для сетевых принтеров (для локальных и с самой DEVMODE уже разобрался).

В связи с этим возникли вопросы:

1. Копирует ли винда для сетевого принтера в реестре настройки DEVMODE в локального пользователя в HKEY_CURRENT_USER\Printers\Connections\,,PrintServer,PrinterName? (спрашиваю потому что не нашел их там, но возможно просто не инициировал это копирование) или же DEVMODE сетевого принтера копируется в HKEY_CURRENT_USER\Printers\DevModes2\PrinterName?

В Windows 7 настройки по умолчанию DEVMODE для сетевого принтера ищутся в
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider\S-1-5-21-2499520557-3571156519-1839909518-1144\Printers\Connections\,,PrintServer,PrinterName
где S-1-5-21-2499520557-3571156519-1839909518-1144 это UserId
в связи с этим 2 вопроса
1. Всегда ли в пути присутствует «Client Side Rendering Print Provider» или это имя может изменяться в зависимости от типа подключения?
2. Где искать и как вытаскивать средствами c# или из реестра этот UserId S-1-5-21-2499520557-3571156519-1839909518-1144 дабы подставить его в этот путь?

В Windows XP (к сожалению не имею её чтобы проверить) путь к DEVMODE сетевого принтера иной
этот ключ совпадает с windows 7 HKEY_CURRENT_USER > Printers > Connections
а этого я не нашел в 7ке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers\LanMan Print Services\Servers\Printers
в 7ке ключ обрывается на уровне отсутствующего «LanMan Print Services«

п.с. для локальных принтеров на всех версиях винды начиная с XP DevMode для текущего пользователя хранится в HKEY_CURRENT_USER\Printers\DevModePerUser\PrinterName
и если отсутствуе то вытаскивается из
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\PrinterName\Default DevMode

а вот что за ветка эта HKEY_CURRENT_USER\Printers\DevModes2?
В одном из примеров видел что когда меняют DEVMODE для сетевого или локального принтера в этой ветке меняют тоже, из того что нашел в сети это связано с сетевыми принтерами, но что конкретно непонятно. Возможно это как раз та ветка в которой хранится DEVMODE сетевого принтера для локального пользователя?

Просветите пожалуйста или направьте по ссылке. Перерыл уже пол инета, ничего толкового по настройкам сетевых принтеров в реестре не нашел.

  • Вопрос задан более трёх лет назад
  • 8182 просмотра

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *