Автор Александр Косинов или по нашему Psih psih@atnet.ru
При написании статьи в качестве материала использовался:
"Справочник по реестру Windows" (c) 1999-2002 А.Климов
http://winchanger.narod.ru
В прошлой статье я рассказал о том как можно оптимизировать систему без хирургических вмешательств. На этот раз рассмотрим кое что из более радикальных и сложных способов.
Начнём с того, что же такое реестр? Реестр - база данных операционной системы, содержащая конфигурационные сведения. Физически вся информация реестра разбита на несколько файлов. Реестры Windows 9х и NT частично различаются. В Windows 95/98 реестр содержится в двух файлах SYSTEM.DAT и USER.DAT, находящиеся в каталоге Windows. В Windows Me был добавлен еще один файл CLASSES.DAT. В основном для работы с этой информацией используется стандартное приложение RegEdit.exe, расположенное в папке Windows. Можно так же запустить его из стандартной командной строки, набрав regedit. Если всё вышесказанное для вас - дремучий лес, то лучше сразу отложите эту статью до лучших времён, иначе за последствия я не отвечаю!
Рассмотрим подробнее структуру реестра. Реестр содержит шесть корневых разделов (ветвей), на которых ниже остановимся подробнее, каждый из них включает подразделы, отображаемые в левой части окна в виде значка папки. Конечным элементом дерева реестра являются ключи или параметры, делящиеся на три типа:
* строковые (напр. "C:\Windows");
* двоичные (напр. 10 82 A0 8F). Максимальная длина такого ключа 16Кб;
* DWORD. Этот тип ключа занимает 4 байта и отображается в шестнадцатеричном и в десятичном виде (напр. 0x00000020 (32) - в скобках указано десятичное значение ключа).
Наибольший интерес представляют ветви HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE. Именно там хранятся настройки, позволяющие привести операционную систему в надлежащий вид.
При работе с реестром следует соблюдать крайнюю осторожность, поэтому для начала советую сохранить резервные копии этих ветвей на диске. Для это делаем правый клик на имени ветви -> Экспортировать. Потом в случае каких-то неверных действий достаточно будет запустить эти файлы и все данные восстановятся, но к сожалению те ключи, которые мы будем создавать сами, так и останутся без изменений. Поэтому советую экспортировать так же и конкретные папки, в которых вы работаете, желательно с полными названиями ветвей.
Автозагрузка
Ну что ж приступим. Начнём с автозагрузки программ. Помимо того, что файлы можно запускать через меню пуск - автозагрузка, многие программы "прячутся" в реесте в разделе HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion. Здесь есть подразделы Run, RunOnce, RunOnceEx, RunServices, RunServicesOnce, в которых прописаны строковые ключи с произвольными именами, в качестве параметров выступают пути к исполняемым файлам. Разделы "Once" служат для временных записей установочных программ, которые требуют перезагрузки системы. После установки эти ключи должны удалятся автоматически.
В разделе Run присутствуют ключи с названиями internat.exe, LoadPowerProfile, ScanRegistry, SystemTray, TaskMonitor. В разделе RunServices - ключ LoadPowerProfile. Это системные файлы и их НЕЛЬЗЯ! Удалять из автозапуска, а вот все остальные ключи относятся к вашим установленным программам и могут удалятся с последствиями только для оных. Постарайтесь убрать все ненужные ключи программ, которые постоянно не используете и их наличие в памяти для вас не жизненно важно.
Но это не единственный раздел, откуда запускаются программы. Перейдем к другой ветви, а именно к HKEY_CURRENT_USER и откроем там раздел SOFTWARE\Microsoft\Windows\CurrentVersion. Там есть только два подраздела, отвечающие за автозагрузку: Run и Runonce. Изначально они пустые, так что все записи там сделаны другими программами. Их тоже желательно почистить, но всегда думайте, прежде чем удалять, особенно если не знаете к какому приложению относится тот или иной ключ.
Диалоговое окно открытия и сохранения файла
Windows Me/2000/XP имеет новое диалоговое окно "Открыть\Сохранить файл", которое можно изменить по Вашему желанию. В левой части диалогового окна расположены пять системных папок, которые можно поменять местами или изменить на те, которыми вы часто пользуетесь. Создайте в ветви: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\comdlg32 раздел "PlacesBar". В нем хранятся имена папок. Как я уже говорил, их пять. И у каждой свой параметр. У первой "Place0", у второй "Place1", а у пятой "Place4".
Системные папки имеют значение типа DWORD:
- Рабочий стол - 00000000
- Мои документы - 00000005
- Мои рисунки - 00000027
- Мои видеозаписи - 0000000e
- Мой компьютер - 00000011
- Избранное - 00000006
- Мое сетевое окружение - 00000012
- Шрифты - 00000014
- History - 00000022
Папки могут быть и обычные, где строковое значение параметра Place указывает путь к папке. Например: "Place0"="C:\Windows"; "Place1"="C:\Windows\Systems". Здесь можно указать любые необходимые папки, что довольно сильно упрощает доступ к папкам при открытии и записи файлов.
Контекстное меню папок и файлов
При установке многих программ контекстное меню файлов и папок постепенно заполняется лишними пунктами.
Чтобы оставить в меню только то, что действительно нужно, найдите ветвь: HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers - в ней в качестве подразделов выступают команды, отображаемые в меню любого файла. Просто удалите то, то вам не нужно.
Команды, привязанные к конкретному типу файлов можно найти уже в ветвях, соответствующих такому типу. Например, для файла AVI это будет раздел
HKEY_CLASSES_ROOT\ avifile\ shell.
За меню папок же отвечают HKEY_CLASSES_ROOT\Directory\shell и HKEY_CLASSES_ROOT\Folder\shell
Увеличение скорости всплывания меню
Существует возможность менять скорость появления подменю в контекстных или основных меню (в т.ч. меню кнопки Пуск), облегчая работу на компьютере и ускоряя доступ к командам. Для этого используйте строковый параметр MenuShowDelay в разделе HKEY_CURRENT_USER\Control Panel\Desktop.
По умолчанию он равен "400". Значение "0" соответствует наиболее быстрому реагированию на движение мыши. В Windows 95 значение параметра можно изменять в диапазоне от 1 до 10. Но это к нам не относится. В последующих версиях Windows данный параметр можно менять от "0" до "32767" и от "-32768" до "-2"
Недостаточно места на диске
Если Windows постоянно выводит сообщения о том, что на диске мало места, то в разделе реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explоrer создайте параметр NoLowDiskSpaceChecks типа DWORD со значением, равным 1, - и Windows заткнется. Очень полезно, если у вас небольшой диск.
Num Lock (Windows 2000/XP)
Иногда бывают жалобы на необходимость вручную включать Num Lock после запуска системы, а это не всегда удобно. Например у меня на дополнительную клавиатуру возложены функции управления WinAmp-ом, а всё время, забывая включить оную, уже надоело вспоминать разработчиков. Но есть способ.
Для этого найдите ветвь: HKEY_CURRENT_USER\Сontrol Panel\Keyboard и установите строковое значение InitialKeyboardIndicators равным "2"
Автоматическая выгрузка DLL (Windows /2000/XP)
Windows выгружает неиспользуемые DLL не сразу, а через некоторое время. Этот промежуток времени иногда может достигать больших интервалов (особенно при отладке программ). Для автоматической выгрузки всех DLL в разделе HKEY_LOCAL_MASHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer установите значение строкового параметра AlwaysUnloadDLL равным "1"
Зависшие программы (Windows NT/2000/XP)
Время, по истечении которого программу считать зависшей
Иногда программа зависает, т.е. не реагирует на обращение к ней. Приходится принудительно закрывать его (например, через Диспетчер задач (Ctr-Shift-Esc или Ctr-Alt-Del)) что не всегда удобно, чточнее всегда не удобно и раздражает. Ключ HungAppTimeout в разделе HKEY_CURRENT_USER\Control Panel\Desktop определяет время, по прошествии которого не отвечающее приложение считается зависшим (по умолчанию 5000 миллисекунд). Измените данный строковый параметр на необходимое значение
Время ожидания перед завершением зависшего приложения
Программу мало считать зависшей, её надо ещё и закрыть. Ключ WaitToKillAppTimeout в разделе HKEY_CURRENT_USER\Control Panel\Desktop задает время ожидания перед завершением зависшего приложения (по умолчанию 2000 миллисекунд). Измените данный строковый параметр на необходимое значение
Автоматическое завершение зависших программ
Вы можете разрешить системе автоматически завершать зависшие процессы. Для этого используйте строковый параметр AutoEndTasks в разделе HKEY_CURRENT_USER\Control Panel\Desktop Значение "1" разрешает системе автоматически завершать процессы Значение "2" - процессы не завершаются автоматически. Система ожидает, когда процесс завершится, и если время завершения процесса превышаетзначение HungAppTimeout (см. выше), то появлятеся диалоговое окно Завершение работы, указывающее, что приложение зависло
Учтите, что при установке слишком малых значений в указанных ключах могут возникнуть проблемы с автозавершением запущенных задач, так как приложение может длительное время не отвечать на запросы в случае достаточно большой загруженности процессора или работой с другими программами
Быстрое завершение работы Windows NT/2000/XP
В Windows NT 3.51 и выше существует возможность определять величину интервала, в течение которого система должна завершить свою работу. Для этого необходимо исправить ключ системного реестра - строковый параметр WaitToKillServiceTimeout, где установлена временная задержка закрытия всех запущенных сервисов в миллисекундах.
Этот ключ расположен в разделе HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control
По умолчанию значение параметра равно 20000, что эквивалентно 20 секундам.
Уменьшите этот параметр например до 5000. Но не делайте его слишком малым, иначе приложения не будут успевать корректно завершать свою работу и сохранять данные, поэтому могут возникнуть глюки в дальнейшей работе.
Ошибки в Office (Office XP)
Чуть не забыл обещенное отключение отчётов об ошибках офиса.
Многие замечали, что при возникновении сбоя в Office XP утилита DW.exe пытается отправить отчет о нем в Microsoft. Если вы не хотите заниматься ловлей багов, то можете отключить эту функцию. Существует несколько различных параметров, находящихся в разделе HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\10.0\Common
- Параметр типа DWORD DWNeverUpload со значением 1 отключает отправку данных и не выводит соответствущее сообщение
- Параметр типа DWORD DWNoExternalURL со значением 1 отключает соединение с сервером Майкрософт и не выводит соответствущее сообщение
- Параметр типа DWORD DWNoFileCollection со значением 1 не высылает файлы, запрашиваемые сервером обработки ошибок
- Параметр типа DWORD DWNoSecondLevelCollection со значением 1 не высылает файлы особого рода (записи в реестре, версия файлов, используемые программы), запрашиваемые сервером обработки ошибок
Лично мне помогла только установка всех этих параметров. Отсутствие этих параметров (по умолчанию) или установка в 0 включает эти настройки обратно.
Ну что я думаю на сегодня хватит. Да забыл сказать: многие разделы и ключи из вышеперечисленных не существуют, поэтому их придётся создавать вручную, но помните, что создавая вы ещё не навредили, а вот удаляя - может быть. Если придерживаться моих рекомендаций, то ничего страшного произойти не должно. В любом случае вы сами вправе решать делать или нет.
Все изменения вступают в силу только после перезагрузки. Если вы убили что-то не то, то ещё не поздно вернуться к сохранённым по моим рекомендациям файлам отката - просто запустите их и согласитесь со всеми сообщениями винды. А уж если таких фалов нет, то это уже чисто ваша вина.