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

Секреты Windows: статьи о реестре, rundll32.exe, программах Книга Реестр Windows Vista. Диалоги Vista - 2


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

здравствуйте!у меня Windows XP prof сервис пак 2 .не знаю как удалить и поставить занова дрова для принтора epson FX890 .при установке появляется собшение ; "Обнаружена проблема при установки этого оборудования EPSON FX-890. Произошла ошибка при установке устройства. Требуемая секция в INF-файле не найдена." . Пробовали удалять в реестре все упоминания о этом принтере ноэто не помогло. зарание спасибо

Здравствуйте. А зачем вы вообще удаляли вручную все сведения о драйвере из реестра? Почему не воспользовались функцией удаления принтера либо восстановления предыдущего драйвера с помощью оснастки devmgmt.msc? Вы, кстати, не указали много важной информации =)
1. какие дрова вы не можете установить? Стандартные дрова операционной системы для принтера, дрова, идущие в комплекте с принтером или дрова, скачанные с инета?
2. а раньше принтер работал? Если работал, то с какими дровами, с теми же, которые не можете установить сейчас, или с другими?
3. почему бы вам не воспользоваться стандартными дровами для принтера, идущими вместе с операционной системой? Или скачать последнюю версии дров для принтера с сайта Epson'а?
4. Зачем вы удаляли сведения о драйвере из реестра, если из сообщения ясно, что драйвер установлен не был? =)
Вообще, ошибка "Требуемая секция в INF-файле не найдена" ясно говорит, что в используемых вами драйверах есть какая-то ошибка – в INF-файле, используемом для их установки. Если файл небольшой, можно вручную просмотреть, указаны ли в файле все разделы, которые объявлены в секции по умолчанию. О разработке INF-файлов на нашем сайте было несколько статей, правда, они не относились к INF-файлам, используемым для установки драйверов оборудования =) Хотя, вместо ручного редактирования INF-файла драйвера проще скачать его более новую версию.
Во время установки дров принтера изменяется не только реестр. Также после установки в каталог %systemroot%\inf помещается INF-файл установленного драйвера принтера, а кроме того, PNF-файл со сведениями об установленном драйвере (INF и PNF-файл имеют одно и то же название). Если уж вы удалили все сведения о драйвере из реестра, неплохо было бы удалить и сам драйвер из этого каталога (если, конечно, он туда был скопирован в процессе установки), так как винда ищет наиболее подходящий драйвер в этом каталоге.
Хорошо, что у вас XP – она позволяет более гибко работать с дровами =) Если Виста автоматически ищет наиболее подходящие дрова, то в XP можно вручную указывать нужный драйвер, а не надеяться на интеллект винды =)

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

Продолжение, начало в выпусках: 1

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

Книга "Реестр Windows Vista. На 100%", Глава 2. Диалоги Vista. 2.1. Изменение содержимого диалогов - 2.

Папка Панель управления

Также существует возможность изменения содержимого папки ПАНЕЛЬ УПРАВЛЕНИЯ. Данная папка отображает в себе все апплеты, доступные в операционной системе, а также некоторые ActiveX-объекты, отображение которых определено при помощи реестра.

Настроить отображение папки Панель управления можно при помощи параметров REG_DWORD типа, расположенных в ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer.

ForceClassicControlPanel. Если значение данного параметра равно 1, тогда вид панели задач по категориям будет запрещен.

NoControlPanel. Если значение данного параметра равно 1, тогда доступ к папке Панель управления будет запрещен.

Апплеты операционной системы

Апплет представляет собой файл с расширением .cpl, который позволяет изменить различные параметры реестра и располагается, как правило, в каталоге %systemroot%\system32. Фактически апплеты представляют собой большинство стандартных диалогов операционной системы.

Операционная система Windows Vista содержит следующие стандартные апплеты.

Апплеты можно вызвать при помощи команды rundll32.exe shell32.dll, Control_RunDLL "имя апплета или dll-файла". Также апплет можно вызвать, просто введя его имя (расширение апплета обязательно) в диалоге Выполнить.

  • Appwiz.cpl. Вызывает мастер ПРОГРАММЫ И КОМПОНЕНТЫ, но не отображает значок.
  • Collab.cpl. Вызывает диалог СОСЕДНИЕ ПОЛЬЗОВАТЕЛИ и отображает одноименный значок.
  • Desk.cpl. Вызывает диалог ПАРАМЕТРЫ ДИСПЛЕЯ и отображает одноименный значок.
  • Firewall.cpl. Вызывает диалог БРАНДМАУЭР WINDOWS, но не отображает значок.
  • Hdwwiz.cpl. Вызывает диалог УСТАНОВКА ОБОРУДОВАНИЯ, но не отображает значок.
  • Inetcpl.cpl. Вызывает диалог СВОЙСТВА: ИНТЕРНЕТ и отображает значок СВОЙСТВА ОБОЗРЕВАТЕЛЯ.
  • Intl.cpl. Вызывает диалог ЯЗЫК И РЕГИОНАЛЬНЫЕ СТАНДАРТЫ и отображает одноименный значок.
  • Joy.cpl. Вызывает диалог ИГРОВЫЕ УСТРОЙСТВА и отображает одноименный значок.
  • Main.cpl. Вызывает диалог СВОЙСТВА: МЫШЬ, а также может отображать диалог СВОЙСТВА: КЛАВИАТУРА. Данный апплет отображает значки МЫШЬ и КЛАВИАТУРА.
  • Mmsys.cpl. Вызывает диалог ЗВУК и отображает одноименный значок.
  • Ncpa.cpl. Вызывает диалог СЕТЕВЫЕ ПОДКЛЮЧЕНИЯ и отображает одноименный значок.
  • Powercfg.cpl. Вызывает диалог ЭЛЕКТРОПИТАНИЕ и отображает значок ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ЭЛЕКТРОПИТАНИЯ.
  • Sapi.cpl. Вызывает диалог SPEECH PROPERTIES и отображает значок TEXT TO SPEECH. Данный апплет расположен в каталоге %systemroot%\system32\Speech\SpeechUX.
  • Sysdm.cpl. Вызывает диалог СВОЙСТВА СИСТЕМЫ, но не отображает значок.
  • TabletPC.cpl. Вызывает диалог ПЕРО И УСТРОЙСТВА ВВОДА и отображает одноименный значок.
  • Telephon.cpl. Вызывает диалог ТЕЛЕФОН И МОДЕМ и отображает одноименный значок.
  • Timedate.cpl. Вызывает диалог ДАТА И ВРЕМЯ и отображает одноименный значок.
  • wmdConn.cpl. Вызывает диалог НАСТРОЙКИ ПОДКЛЮЧЕНИЯ и отображает значок ЦЕНТР УСТРОЙСТВ WINDOWS MOBILE.
  • Wscui.cpl. Вызывает диалог ЦЕНТР ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ WINDOWS и отображает одноименный значок.
  • cscui.dll. Данная библиотека определяет апплет АВТОНОМНЫЕ ФАЙЛЫ, вызывающий одноименный диалог.
  • srchadmin.dll. Данная библиотека определяет апплет ПАРАМЕТРЫ ИНДЕКСИРОВАНИЯ, вызывающий одноименный диалог.
  • hotplug.dll. Данная библиотека определяет апплет УСТРОЙСТВА ГОРЯЧЕГО ПОДКЛЮЧЕНИЯ, вызывающий диалог БЕЗОПАСНОЕ ОТКЛЮЧЕНИЕ УСТРОЙСТВА.
  • keymgr.dll. Данная библиотека определяет апплет СОХРАНЕНИЕ ИМЕН ПОЛЬЗОВАТЕЛЕЙ И ПАРОЛЕЙ, вызывающий одноименный диалог.
  • input.dll. Данная библиотека определяет апплет ЯЗЫКИ И СЛУЖБЫ ТЕКСТОВОГО ВВОДА, вызывающий одноименный диалог.
  • cliconfg.dll. Данная библиотека определяет апплет ПРОГРАММА СЕТЕВОГО КЛИЕНТА SQL, вызывающий одноименный диалог.

Виды папки Панель управления

Существует два вида папки ПАНЕЛЬ УПРАВЛЕНИЯ — вид по категориям и классический вид. Переход между этими видами осуществляется при помощи ссылок, расположенных на панели ссылок (располагается слева) папки ПАНЕЛЬ УПРАВЛЕНИЯ.

Вид же, который будет использоваться при следующем запуске папки ПАНЕЛЬ УПРАВЛЕНИЯ, определяется параметром REG_DWORD-типа RecentView, расположенным в ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel. Если значение данного параметра равно 1, тогда при следующем запуске папки ПАНЕЛЬ УПРАВЛЕНИЯ будет использоваться вид по категориям.

ВИД ПО КАТЕГОРИЯМ

Вид по категориям является нововведением операционной системы Windows XP. Он определяет десять категорий, по которым сортируются отображаемые в папке ПАНЕЛЬ УПРАВЛЕНИЯ апплеты и ActiveX-объекты (один и тот же апплет или ActiveX-объект может находиться сразу в нескольких категориях).

Отображение апплетов Список апплетов, которые отображаются в папке ПАНЕЛЬ УПРАВЛЕНИЯ при использовании вида по категориям, а также категории, в которых они отображаются, определяются при помощи ветви реестра HKLM\Software\Microsoft\Windows\CurrentVersion\Control Panel\Extended Properties\{305CA226-D286-468e-B848-2B2E8E697B74} 2.

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

  • 0x00000001. Категория ОФОРМЛЕНИЕ И ПЕРСОНАЛИЗАЦИЯ.
  • 0x00000002. Категория ОБОРУДОВАНИЕ И ЗВУК.
  • 0x00000003. Категория СЕТЬ И ИНТЕРНЕТ.
  • 0x00000004. Категория ОБОРУДОВАНИЕ И ЗВУК.
  • 0x00000005. Категория СИСТЕМА И ЕЕ ОБСЛУЖИВАНИЕ.
  • 0x00000006. Категория ЧАСЫ, ЯЗЫК И РЕГИОН.
  • 0x00000007. Категория СПЕЦИАЛЬНЫЕ ВОЗМОЖНОСТИ.
  • 0x00000008. Категория ПРОГРАММЫ.
  • 0x00000009. Категория УЧЕТНЫЕ ЗАПИСИ ПОЛЬЗОВАТЕЛЕЙ И СЕМЕЙНАЯ БЕЗОПАСНОСТЬ.
  • 0x0000000a. Категория БЕЗОПАСНОСТЬ.
  • 0x0000000b. Категория МОБИЛЬНЫЕ ПК. По умолчанию данная категория отображается только на ноутбуках. Если же необходимо отобразить данную категорию на обычном компьютере, присвойте параметру REG_DWORD типа ShowCategoryMobilePC, расположенному в ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\ControlPanel значение 1.
  • 0xFFFFFFFF. Не отображать данный апплет.

Отображение ActiveX-объектов Если же необходимо определить ActiveX-объекты, которые будут отображаться в папке ПАНЕЛЬ УПРАВЛЕНИЯ при использовании вида по категориям, тогда необходимо добавить параметр строкового типа System.ControlPanel.Category к ветви реестра, определяющей соответствующий ActiveX-объект (ветвь реестра вида HKCR\CLSID\{CLSID-номер ActiveX-объекта}).

Значение параметра System.ControlPanel.Category определяет одну или несколько категорий, в которых будет отображаться данный апплет. Например, чтобы отобразить ActiveX-объект в категориях ОБОРУДОВАНИЕ И ЗВУК, СИСТЕМА И ЕЕ ОБСЛУЖИВАНИЕ и МОБИЛЬНЫЕ ПК, нужно данному параметру присвоить значение 2,5,11 (смотрите список возможных категорий и значений, определенный выше при описании отображения апплетов).

КЛАССИЧЕСКИЙ ВИД

При использовании классического вида все апплеты и ActiveX-объекты отображаются в одном и том же окне папки ПАНЕЛЬ УПРАВЛЕНИЯ. Это затормаживает отображение папки ПАНЕЛЬ УПРАВЛЕНИЯ.

Скрытие апплетов Операционная система Windows Vista предоставляет возможность скрытия определенных апплетов из папки ПАНЕЛЬ УПРАВЛЕНИЯ, если данными апплетами вы не пользуетесь. Для этого можно использовать несколько способов, точнее, несколько ветвей реестра. Все описанные ниже ветви реестра могут содержать в себе набор параметров строкового типа, названия которых определяют имена апплетов, которые не будет отображаться в папке ПАНЕЛЬ УПРАВЛЕНИЯ. Например, если в ветви реестра присутствует параметр main.cpl, тогда значки МЫШЬ и КЛАВИАТУРА не будут отображаться в апплете.

Стандартным способом скрытия апплетов является использование ветви реестра HKCU\Control Panel\don't load.

Еще одной ветвью реестра, с помощью которой можно запретить отображение апплетов в папке ПАНЕЛЬ УПРАВЛЕНИЯ, является ветвь HKLM\Software\Microsoft\Windows\CurrentVersion\Control Panel\don't load. По умолчанию с помощью данной ветви реестра запрещено отображение апплетов appwiz.cpl, desk.cpl, Firewall.cpl, hdwwiz.cpl, infocardcpl.cpl, ncpa.cpl, powercfg.cpl и sysdm.cpl.

Также, скрыть определенные апплеты папки Панель управления можно с помощью дочерних подразделов DisallowCpl (скрывает определенные в подразделе апплеты) или RestrictCpl (отображает только определенные в подразделе апплеты) ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer. Чтобы определить апплет, который будет скрыт (или который будет отображен), нужно в соответствующем подразделе создать параметр строкового типа. Значение этого параметра должно определять имя скрываемого апплета, а название параметра — число от 1 и далее.

Чтобы определенные в данных подразделах параметры использовались, нужно параметру REG_DWORD типа DisallowCpl или RestrictCpl ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer присвоить значение 1.

Отображение определенных библиотеками апплетов, или апплетов, расположенных не в каталоге %systemroot%\system32 Если апплет не расположен в каталоге %systemroot%\system32, или если он определен при помощи библиотеки, по умолчанию он не будет отображаться в папке ПАНЕЛЬ УПРАВЛЕНИЯ.

Чтобы такой апплет отображался, его отображение нужно указать при помощи параметров расширенного строкового типа ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls. Значение параметра должно содержать путь к апплету и его имя. Название же параметра не имеет значения.

Отображение ActiveX-объектов Все ActiveX-объекты, отображаемые в папке ПАНЕЛЬ УПРАВЛЕНИЯ при использовании классического вида, определяются в ветви HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace.

Чтобы добавить ActiveX-объект достаточно в данной ветви реестра создать подраздел, название которого соответствует CLSID-номеру нового ActiveX-объекта. Если же нужно удалить ActiveX-объект, нужно удалить описывающий его подраздел данной ветви реестра.

Назначение данной ветви реестра в операционной системе Windows Vista было расширено. Теперь если вы удалите подраздел из данной ветви реестра, вы больше не сможете отобразить окно мастера, определенного соответствующим ActiveX-объектом.

Пример изменения содержимого папки На диске, поставляемом с книгой, содержится reg-файл, после применения которого будут скрыты все апплеты и большинство ActiveX-объектов папки ПАНЕЛЬ УПРАВЛЕНИЯ в классическом виде. Получить же доступ к этим апплетам будет возможно при помощи контекстного меню добавленных значков ActiveX-объектов.

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


Рис. 3.02. Создаем свой ActiveX-объект для отображения в папке Панель управления и удаляем стандартные апплеты

Также на диске к данной книге содержит несколько reg-файлов, которые создают дополнительные элементы папки ПАНЕЛЬ УПРАВЛЕНИЯ, с помощью контекстного меню которых можно отобразить различные стандартные диалоги операционной системы.

Внутренние имена апплетов и ActiveX-объектов

Каждый апплет и ActiveX-объект имеет внутреннее имя, с помощью которого этот апплет можно вызвать. Делается такой вызов следующим образом: control.exe /name «внутреннее имя».

Внутреннее имя ActiveX-объекта хранится в параметре строкового типа System.ApplicationName ветвей реестра вида HKCR\CLSID\«CLSID-номер ActiveX-объекта».

Внутренние имена апплетов хранятся проще — в виде параметров строкового типа ветви HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Extended Properties\System.ApplicationName. Имена параметров этой ветви определяют пути к апплету и имена его файла, а значения — внутреннее имя апплета.

Например, чтобы вызвать мастер АВТОЗАПУСК, который имеет внутреннее имя MICROSOFT.AUTOPLAY, нужно выполнить команду control /name Microsoft.AutoPlay. Внутренние имена апплетов и ActiveX-объектов будут приведены ниже.

Оснастка Редактор объектов групповой политики

Содержимое раздела КОНФИГУРАЦИЯ КОМПЬЮТЕРА/КОНФИГУРАЦИЯ WINDOWS/ПАРАМЕТРЫ БЕЗОПАСНОСТИ/ЛОКАЛЬНЫЕ ПОЛИТИКИ/ПАРАМЕТРЫ БЕЗОПАСНОСТИ оснастки РЕДАКТОР ОБЪЕКТОВ ГРУППОВОЙ ПОЛИТИКИ (консоль gpedit.msc) также строится на основе содержимого реестра. Для этого используются подразделы ветви реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SeCEdit\Reg Values.

Хотелось бы заметить еще один способ применения данной ветви реестра (кроме простого изменения параметров при помощи оснастки Редактор объектов групповой политики). Добавленные вами к данной ветви реестра подразделы также будут отображаться в шаблонах безопасности. То есть, вы сможете расширить возможности шаблонов безопасности, и, тем самым, набор параметров реестра, за состоянием которых (и автоматическим изменением) можно следить при помощи оснастки Анализ и настройка безопасности.

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

То есть, чтобы изменить значение параметра, допустим, WaitToKillServiceTimeout, расположенного в ветви реестра HKLM\SYSTEM\CurrentControlSet\Control, нужно в данной ветви реестра создать подраздел MACHINE/SYSTEM/CurrentControlSet/Control/WaitToKillServiceTimeout (обратите внимание на используемые в названии подраздела слеши).

Параметры подразделов ветви

Подразделы данной ветви реестра могут содержать в себе следующие параметры (если тип параметра не указан, тогда параметр имеет тип REG_DWORD).

DisplayName Данный параметр имеет строковый тип. Он определяет название элемента списка раздела ПАРАМЕТРЫ БЕЗОПАСНОСТИ.

DisplayChoices Данный параметр имеет тип REG_MULTI_SZ. Он определяет описание возможных состояний данного элемента (каждое состояние с новой строки), а также значение, которое будет присваиваться параметру при установке соответствующего состояния элемента. Формат одной строки данного параметра следующий: «присваиваемое значение»|«состояние».

DisplayUnit Данный параметр имеет строковый тип. Он определяет единицы, которые будут отображаться напротив счетчика, если значение параметра DisplayType равно 1.

DisplayFlags Данный параметр имеет тип REG_MULTI_SZ. Он определяет флажки, и значения, которые будут присвоены параметру при их установке, если значение параметра DisplayType равно 5. Формат одной строки данного параметра следующий: «присваиваемое значение»|«описание флажка».

DisplayType Значение данного параметра определяет тип соответствующего элемент. Например, данный параметр может принимать следующие значения.

  • 1. Отображает счетчик (значение, которое присваивается счетчиком, не может быть более 999).
  • 2. Отображает поле для ввода значения.
  • 3. Отображает раскрывающийся список для выбора состояния из списка. Возможные состояния определяются параметром DisplayChoices.
  • 4. Отображает список для выбора состояния. Возможные состояния определяются параметром DisplayChoices.
  • 5. Отображает список флажков, определенный в параметре DisplayFlags.
  • 6 или 0. Отображает два переключателя, включающие (присваивает значение 1 изменяемому данным элементом параметру) или отключающие элемент (присваивает значение 0 изменяемому данным элементом параметру).

ValueType Значение данного параметра определяет тип изменяемого данным элементом параметра реестра. Возможны следующие значения данного параметра.

  • 1. Строковый тип.
  • 3. Тип REG_BINARY.
  • 4. Тип REG_DWORD.
  • 7. Тип REG_MULTI_SZ.

Пример создания новой записи в разделе Параметры безопасности

В качестве примера посмотрите на листинг 3.02 и на результат применения приведенного в листинге reg-файла (рис 3.03).


Рис. 3.03. Редактирование значения параметра при помощи созданного элемента списка

Надеюсь, вы заметили, что созданным нами элементом лучше никогда не пользоваться, ведь максимальное значение, которое можно присвоить с его помощью, равно 999 миллисекундам, что очень мало. В этом случае придется воспользоваться не счетчиком, а, допустим, полем для ввода или списком предопределенных параметров.

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

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

В избранное