Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Секреты Windows: статьи о реестре, rundll32.exe, программах Реестр Windows Vista. Работа с файлами и папками: Печать


Есть вопросы по работе с Windows? Задайте их нам и нашим посетителям в разделе Форум (http://onestyle.com.ua/q.php). Возможно, мы сможем помочь вам решить возникшие проблемы. Например, ниже представлен один из вопросов, заданных на нашем форуме.
В какой раз хотел поменять тему на XP, пошла загрузка потом выбило ошибку (rundll32.exe Обнаружена ошибка) теперь автоматом поставило стандартную тему, и при попытке изменить ее выбивает туже ошибку. Помогите пожалуйста

ОП Windows SP3
 К сожалению, ваша ошибка не нова. Она появлялась и на Windows XP SP2 и на Windows XP SP1 – в инете можно найти множество упоминаний об этой ошибке. И, как ни странно, чаще всего такая ошибка появляется после установки 'левых' тем оформления, хотя иногда ошибка возникает и после установки различных некачественных программ.

За все время существования этой ошибки никто так и не придумал нормального способа ее решения – единственный способ, который советуют в инете, это переустановка операционной системы. Ну, если установленная вами тема оформления настолько корректна, что добавила возможность своего удаления через диалог Установка/Удаление программ, тогда также решить проблему можно удалением темы оформления (правда, это еще бабушка надвое сказала, что проблема после этого решится =)).

Также можно отключить службу Темы, правда тогда вы вообще не сможете использовать темы оформления. Но зато исчезнет и ошибка =)

Можно еще попробовать выполнить в командной строке команду sfc /scannow. Быть может, операционка обнаружит измененный системный файл и предложит его перезаписать с загрузочного диска. Хотя такое бывает очень редко.

Проблема в том, что многие темы оформления помимо редактирования реестра добавляют различные библиотеки, а также, в особых случаях, подменяют стандартные библиотеки винды. Что именно подменяет и добавляет ваша тема оформления, непонятно, поэтому ничего конкретного я вам сказать не могу. Если бы вы указали название темы оформления, которую пытались установить, и указали, где ее можно скачать (или прикрепите тему оформления к созданной вами теме на нашем форуме), я б попробовал установить ее на свою систему и посмотреть, что из этого получится =)

Файл rundll32.exe не виноват в возникшей ошибке. Он является лишь оболочкой, которая позволяет выполнять отдельные функции из библиотек DLL. Поэтому нужно искать библиотеку, при выполнении функций которой возникает такая ошибка. Иногда сторонние темы оформления патчат стандартную библиотеку themeui.dll (или uxtheme.dll), поэтому, возможно, из-за некорректной патчинга такая ошибка и начала возникать.

Новости нашего сайта:

В конец записи

Книга "Реестр Windows Vista. На 100%", Глава 4. Vista для пользователя, 4.1. Работа с файлами и папками: Печать.

Возможности печати в операционной системе Windows Vista практически не изменились.

Как и раньше, доступ к принтерам можно получить при помощи мастера ПРИНТЕРЫ, открыть который можно при помощи папки ПАНЕЛЬ УПРАВЛЕНИЯ. С помощью данного мастера можно устанавливать, удалять и настраивать работу принтеров.

Некоторые настройки печати можно изменить при помощи параметров REG_DWORD типа, расположенных в ветви реестра SOFTWARE\Policies\Microsoft\Windows NT\Printers.

DisableHTTPPrinting. Если значение данного параметра равно 1, тогда печать по протоколу HTTP будет запрещена. Однако это не запрещает данному компьютеру быть сервером печати по протоколу HTTP.

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

Принтер Microsoft XPS Document Writer

Единственным нововведением операционной системы Windows Vista, относящимся к печати, является поддержка нового формата данных, называемого XPS. Для работы с этим форматом применяется принтер MICROSOFT XPS DOCUMENT WRITER, устанавливаемый при инсталляции операционной системы. Печать на данном принтере аналогична печати на других принтерах, однако в результате печати создается файл изображения, имеющий формат .xps.

Структура файлов XPS Файлы XPS являются файлами в формате XML, основанными на новой модели программирования WinFX. Они относятся к фиксированным файлам (к файлам, не поддерживающим быстрого изменения своего содержимого, например, не поддерживающим переформатирования).

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

Файлы XPS открываются при помощи браузера Internet Explorer 7.0.

Печать файлов XPS Алгоритм печати файлов XPS был модифицирован с целью повышения производительности и качества печати.

Например, задания на печать файлов XPS передаются на принтер по новому пути печати, обходящему слой GDI. Это не только повысило скорость печати и качество результата (доведя его до уровня печати файлов PDF), но и добавило поддержку градиентов, прозрачности и улучшенных цветов.

Служба Диспетчер печати

Тип запуска: автоматически.
Учетная запись: система.
Дополнительные привилегии: SETCBPRIVILEGE, SEIMPERSONATEPRIVILEGE, SEAUDITPRIVILEGE,
 SECHANGENOTIFYPRIVILEGE, SELOADDRIVERPRIVILEGE, SEASSIGNPRIMARYTOKENPRIVILEGE.
Файлы службы: spoolsv.exe.
Исполняемый файл:
Подраздел реестра: Spooler.
Службы, необходимые для работы данной: УДАЛЕННЫЙ ВЫЗОВ ПРОЦЕДУР (RPC) (RPCSS).

Загрузка файлов в память компьютера для дальнейшей печати с помощью принтера осуществляется при помощи службы ДИСПЕТЧЕР ПЕЧАТИ.

Настройки печати

Настройка параметров печати выполняется при помощи нескольких стандартных диалогов операционной системы.

Диалог Свойства: Сервер печати

Настройки печати, влияющие на все принтеры данной операционной системы, изменяются при помощи диалога СВОЙСТВА: СЕРВЕР ПЕЧАТИ. Данный диалог отображается при помощи команды СВОЙСТВА СЕРВЕРА… контекстного меню мастера ПРИНТЕРЫ и содержит в себе следующие вкладки.

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

Формы, добавленные вами, хранятся в виде дочерних подразделов ветви реестра HKLM\SYSTEM\CurrentControlSet\Control\Print\Forms. Название этих подразделов определяется названием созданной вами формы. Также с помощью названия созданной вами формы определяется параметр REG_BINARY типа ветви реестра HKLM\SYSTEM\CurrentControlSet\Control\Print\Forms, хранящий в себе настройки вашей формы.

А вот в подразделе созданной вами формы содержится параметр REG_BINARY типа FormKeyword, содержащий GUID-номер, под которым определяются ключевые слова вашей формы.

Порты С помощью данной вкладки можно изменить список портов, к которым подключены принтеры, а также отредактировать настройки портов, если такие имеются.

Например, для портов LPT можно изменить таймаут повторной передачи задания на печать (в секундах). Для этого изменяется значение параметра строкового типа TransmissionRetryTimeout, расположенного в ветви реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows.

Список портов, которые могут использоваться принтерами данной операционной системы, хранится в виде параметров строкового типа, расположенных в ветви реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports. Название параметров этой ветви определяет название порта, а значение (для некоторых параметров, например, для параметров COM1: и т.д.) определяет настройки передачи по данному порту.

По умолчанию операционная система может использовать до трех портов LPT: LPT1, LPT2, LPT3. Однако вы можете самостоятельно добавить в ветвь реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports параметры от LPT1 до LPT9, чтобы установить поддержку до девяти портов LPT.

Драйверы С помощью данной вкладки можно изменить список установленных драйверов локальных и сетевых принтеров, установив новые драйверы, или удалив уже существующие.

Список установленных драйверов, и файлы, входящие в состав этих драйверов, содержится в подразделах ветви реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\PackageInstallation\«тип процессора».

Настройки же установленных драйверов содержатся в ветви реестра вида HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\«тип процессора»\Drivers\«версия драйвера»\«название принтера».

Дополнительные параметры С помощью данной вкладки можно изменить следующие параметры реестра.

  • DefaultSpoolDirectory. Значение данного параметра строкового типа, содержащегося в ветви реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers, изменяется при помощи поля ПАПКА ОЧЕРЕДИ ПЕЧАТИ.

    Если значение параметра строкового типа Spooler, расположенного в ветви реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows, равно no, тогда очередь печати на принтерах данного компьютера не используется.

  • BeepEnabled. Данный параметр REG_DWORD типа находится в ветви реестра HKLM\SYSTEM\CurrentControlSet\Control\Print. Его значение изменяется флажком ЗВУКОВОЙ СИГНАЛ ПРИ ОШИБКАХ УДАЛЕННОЙ ПЕЧАТИ ДОКУМЕНТОВ.
  • EnableBalloonNotificationsRemote. Данный параметр REG_DWORD типа находится в ветви реестра HKCU\Printers\Settings. Его значение изменяется флажком ПОКАЗЫВАТЬ УВЕДОМЛЕНИЯ СЕТЕВЫХ ПРИНТЕРОВ.
  • EnableBalloonNotificationsLocal. Данный параметр REG_DWORD типа находится в ветви реестра HKCU\Printers\Settings. Его значение изменяется флажком ПОКАЗЫВАТЬ УВЕДОМЛЕНИЯ ЛОКАЛЬНЫХ ПРИНТЕРОВ.
  • EventLog. Данный параметр REG_DWORD типа находится в ветви реестра HKLM\SYSTEM\CurrentControlSet\Control\Print\Providers. Его значение является битовой маской, биты которой изменяются при помощи следующих флажков.
    • 0x1. Данный бит устанавливает флажком ВЕСТИ ЖУРНАЛ ОШИБОК ОЧЕРЕДИ ПЕЧАТИ.
    • 0x2. Данный бит устанавливает флажком ВЕСТИ ЖУРНАЛ ПРЕДУПРЕЖДЕНИЙ ОЧЕРЕДИ ПЕЧАТИ.
    • 0x4. Данный бит устанавливает флажком ВЕСТИ ЖУРНАЛ СООБЩЕНИЙ ОЧЕРЕДИ ПЕЧАТИ.

Диалог свойств принтера

Если же необходимо настроить параметры работы определенного принтера, тогда нужно воспользоваться диалогом свойств соответствующего принтера. Данный диалог отображается после выбора команды СВОЙСТВА контекстного меню значка принтера.

Данный диалог содержит в себе следующие вкладки.

Общие С помощью данной вкладки можно изменить значения параметров строкового типа, расположенных в ветви реестра вида HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\«название принтера».

  • Description. Содержит в себе описание принтера.
  • Location. Определяет расположение принтера.
  • Name. Определяет название принтера.

Также с помощью данной ветви реестра можно просмотреть значения некоторых параметров REG_BINARY типа ветви HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\«название принтера»\DsDriver.

  • printMaxResolutionSupported. Данный параметр имеет тип REG_DWORD. Он определяет максимальное разрешение печати, доступное драйверу данного принтера.
  • printDuplexSupported. Если значение данного параметра равно 1, тогда драйвер принтера поддерживает двустороннюю печать.
  • printColor. Если значение данного параметра равно 1, тогда драйвер принтера поддерживает цветную печать.
  • printStaplingSupported. Если значение данного параметра равно 1, тогда драйвер принтера поддерживает использование сшивателя.
  • printMediaReady. Данный параметр имеет тип REG_MULTI_SZ. Он определяет типы бумаг, которые может использовать драйвер принтера.

Также обратите внимание на кнопку НАСТРОЙКА ПЕЧАТИ…, расположенную на вкладке ОБЩИЕ. С ее помощью можно изменить дополнительные настройки работы принтера, которые для каждого принтера разные.

Доступ С помощью данной вкладки можно установить общий доступ к данному принтеру.

При этом будет создан параметр REG_MULTI_SZ типа print$, а также параметр, названный в честь общего имени принтера. Оба эти параметра расположены в ветви HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares.

Порты Данная вкладка позволяет указать порт, на котором находится соответствующий принтер.

Название порта хранится в параметре строкового типа Port, расположенном в ветви HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\«название принтера».

Также с помощью данной вкладки можно определить, разрешен ли двусторонний обмен данными. Если он разрешен, тогда бит 0x800 битовой маски Attributes данной ветви реестра будет установлен.

Список виртуальных портов, назначенных принтерам, хранится в параметрах строкового типа ветви реестра HKCU\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts. Названия этих параметров определяют название принтера.

Дополнительно С помощью данной вкладки можно изменить дополнительные параметры работы принтера.

Некоторые из этих параметров имеют тип REG_DWORD и расположены в ветви реестра вида HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\«название принтера».

  • StartTime. Значение данного параметра определяет время, начиная с которого печать на данном принтере разрешена.

    Время хранится в минутах, начиная с 2 часов ночи (то есть при 2 часах ночи значение данного параметра равно 60, при 3 часах ночи значение параметра 120 и т.д.).

  • UntilTime. Значение данного параметра определяет время, до которого печать на данном принтере разрешена.

    Время хранится в минутах, начиная с 2 часов ночи (то есть при 2 часах ночи значение данного параметра равно 60, при 3 часах ночи значение параметра 120 и т.д.).

  • Priority. Значение данного параметра определяет приоритет принтера.

    Операционные системы семейства Windows позволяют изменить приоритет ядра для драйвера печати. Для этого применяется параметр REG_DWORD типа PortThreadPriority, расположенный в ветви реестра HKLM\SYSTEM\CurrentControlSet\Control\Print. Существует три вида приоритета: нормальный (значение 0), низкий (значение 0xffffffff) и высокий (значение 1). По умолчанию используется нормальный приоритет.

    Также можно настроить приоритет планировщика печати операционной системы. Для этого применяется параметр REG_DWORD типа SchedulerThreadPriority, расположенный в ветви реестра HKLM\SYSTEM\CurrentControlSet\Control\Print. Данный параметр может принимать следующие значения: 1 (высокий), 0 (нормальный), 0xFFFFFFFF (низкий).

  • Printer Driver. Данный параметр имеет строковый тип. Он хранит название драйвера этого принтера.
  • Attributes. Данный параметр является битовой маской, значения некоторых бит которой можно изменить при помощи данной вкладки.
    • 0x1. Если данный бит сброшен, тогда процесс печати будет начинаться немедленно. Если же данный бит установлен, тогда перед началом печати задание будет помещаться в очередь.
    • 0x2. Если данный бит сброшен, тогда будет использоваться значение бита 0x1. Если же данный бит установлен, тогда во время печати очередь печати использоваться не будет.
    • 0x80. Данный бит изменяется флажком ЗАДЕРЖИВАТЬ ДОКУМЕНТЫ С НЕПОДХОДЯЩИМИ ПАРАМЕТРАМИ.
    • 0x200. Данный бит изменяется флажком ПЕРВЫМИ ПЕЧАТАТЬ ДОКУМЕНТЫ ИЗ ОЧЕРЕДИ.
    • 0x100. Данный бит изменяется флажком СОХРАНЯТЬ ДОКУМЕНТЫ ПОСЛЕ ПЕЧАТИ.
    • 0x1000. Данный бит устанавливается при сбросе флажка ВКЛЮЧИТЬ ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ ПЕЧАТИ.
  • Print Processor. Данный параметр имеет строковый тип. Он определяет обработчик печати, используемый данным принтером.

    Возможны следующие значения данного параметра: WinPrint и ModiPrint. Обработчик печати WinPrint используется большинством видов принтеров. Обработчик печати ModiPrint используется принтером MICROSOFT OFFICE DOCUMENT IMAGE WRITER.

  • Datatype. Данный параметр имеет строковый тип. Он определяет тип данных, используемый принтером по умолчанию.

    Например, возможны следующие типы данных: RAW, TXT и т.д.

Также элементы данной вкладки изменяют некоторые параметры REG_DWORD типа, расположенные в ветви реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\«название принтера»\DsSpooler.

  • printEndTime. Аналогичен рассмотренному выше параметру UntilTime.
  • printStartTime. Аналогичен рассмотренному выше параметру StartTime.
  • priority. Аналогичен рассмотренному выше параметру priority.
  • printSeparatorFile. Данный параметр имеет строковый тип. Он определяет путь к файлу разделителю, который принтер всегда будет печатать между двумя заданиями очереди печати.

Другие настройки

Остальные же настройки работы принтеров изменяются при помощи реестра.

Монитор порта Чтобы принтер мог взаимодействовать с портом, к которому он подключен, должен быть определен монитор порта (специальная библиотека).

Название библиотеки, выполняющей функции монитора порта, хранится в параметрах строкового типа Driver, расположенных в подразделах ветви реестра HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors.

Названия подразделов данной ветви определяют название соответствующего порта. Особенно следует обратить внимание на подразделы Local Port и Standard TCP/IP Port, которые отвечают за локальную и сетевую печать.

По умолчанию за локальную печать отвечает монитор порта localspl.dll, а за сетевую печать — порт tcpmon.dll.

Если при попытке печати выдается ошибка вида ИНСТРУКЦИЯ ПО АДРЕСУ 'АДРЕС' ОБРАТИЛАСЬ К ПАМЯТИ ПО АДРЕСУ 'АДРЕС'. ПАМЯТЬ НЕ МОЖЕТ БЫТЬ «READ», тогда скорее всего, сторонняя программа заменила стандартный монитор порта на свой собственный, который работает некорректно.

Обработчик печати Выше мы с вами рассмотрели способ изменения используемого принтером обработчика печати. Обработчик печати представляет собой специальную библиотеку, зарегистрированную в операционной системе.

Все обработчики печати, доступные в операционной системе, содержатся в качестве дочерних подразделов ветви реестра вида HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\«тип операционной системы»\Print Processors.

Название этих подразделов определяет название обработчика печати (например, ModiPrint или winprint). При этом в параметре строкового типа Driver, расположенном в подразделе обработчика печати, хранится название библиотеки, которая и представляет данный обработчик печати.

Провайдеры печати Провайдеры печати, поддерживаемые операционной системой, определяются в подразделах ветви реестра HKLM\System\CurrentControlSet\Control\Print\Providers.

По умолчанию операционная система поддерживает два провайдера печати, Internet Print Provider и LanMan Print Services, каждый из которых имеет свой дочерней одноименный подраздел в этой ветви реестра.

Провайдер Internet Print Provider используется для печати через Интернет, а провайдер LanMan Print Services используется для сетевой печати.

Существует возможность запрета пользователям (кроме администраторов) устанавливать драйверы для сетевых принтеров. Для этого достаточно присвоить параметру REG_DWORD типа AddPrinterDrivers, расположенному в ветви HKLM\System\CurrentControlSet\Control\Print\Providers\LanMan Print Services\Servers, значение 1.

Значение данного параметра можно изменить при помощи элемента УСТРОЙСТВА: ЗАПРЕТИТЬ ПОЛЬЗОВАТЕЛЯМ УСТАНОВКУ ДРАЙВЕРОВ ПРИНТЕРА подраздела КОНФИГУРАЦИЯ КОМПЬЮТЕРА/КОНФИГУРАЦИЯ WINDOWS/ПАРАМЕТРЫ БЕЗОПАСНОСТИ/ЛОКАЛЬНЫЕ ПОЛИТИКИ/ПАРАМЕТРЫ БЕЗОПАСНОСТИ оснастки РЕДАКТОР ОБЪЕКТОВ ГРУППОВОЙ ПОЛИТИКИ.

Настройки принтеров Все настройки принтеров, расположенные в подразделах ветви реестра вида HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\«название принтера», также дублируются в подразделах ветви реестра HKLM\SYSTEM\CurrentControlSet\Control\Print\Printers\«название принтера».

Продолжение следует

Рейтинг: 0 
Оцените: 1 2 3 4 5
В начало записи
Оригинал статьи: http://www.onestyle.com.ua/txt.php?u=327

В избранное