Реестр Windows (по-английски
regisrtry) – одна из самых слабых и одновременно сильных особенностей
этой ОС. В UNIX (в том числе Linux) никакого общего реестра не
существует. В Windows же реестр есть единая база данных, предназначенная
для хранения всего, что вздумается в нем сохранять прикладным
программам и самой системе. Из реестра ОС узнает об установленном
оборудовании, о том, какой именно браузер в данный момент объявлен по
умолчанию, какое приложение привязано к данному типу (расширению) файла и
т. п., и т. д. То есть реестр можно рассматривать, как огромный
INI-файл, общий для всех программ и самой операционной системы.
Отдельные программы на свое усмотрение могут использовать и обычные
INI-файлы (в том числе их использовала и сама Windows вплоть до XP), но
это считается моветоном и не приветствуется.
Через редактирование реестра можно
осуществить все те настройки среды Windows, которые мы описывали ранее.
Но в подавляющем большинстве случаев, когда в онлайновых сборниках
«вопросов и ответов» рекомендуется обращаться в реестр, этого не
требуется – неудобно и небезопасно, и все то же самое можно сделать
штатным путем с использованием системных утилит Windows. Например, это
относится к коррекции автозагрузки – в реестре есть с десяток мест, где
хранятся эти настройки, а штатный способ (см. разд. 10.1.3
«Автозагрузка») позволяет их все увидеть и отредактировать в одном
месте.
Некоторые примеры использования реестра,
когда другого выхода не остается, мы встречали в других главах этой
книги. В этом разделе мы рассмотрим еще несколько полезных настроек,
которые иным способом, чем редактированием реестра, выполнить
невозможно.
К реестру получить доступ очень просто, и в
большинстве практических случаев никаких сторонних программ для его
изучения и редактирования не потребуется. Наберите в командной строке,
которую можно вызвать командами меню Пуск | Выполнить или Пуск |
Командная строка, команду regedit, и вы увидите примерно такую картину,
как на рис. 12.7. Во всех версиях Windows редактор реестра практически
одинаков, и описанные далее приемы годятся для любой из трех
рассматриваемых нами версий. Рис. 12.7. Окно редактора реестра (regedit)
В
окне редактора реестра, аналогично Проводнику, дерево разделов (иногда
их называют ключами) показывается в левой стороне окна, а параметры,
содержащиеся в выделенной позиции, – справа, вместе с их типами и
значениями. Скопировать в буфер обмена путь к найденному (иногда с
большим трудом) параметру в редакторе реестра можно, если выбрать из
контекстного меню выделенной в левой стороне экрана позиции пункт
Копировать имя раздела. Параметры могут иметь строковые и числовые
значения (на самом деле их разновидностей много, и мы разберемся с ними
по ходу дела).
В редакторе реестра отлично действует
поиск даже по одним фрагментам названия параметра или раздела.
Осуществляется он обычным способом – через меню Правка | Найти (или
комбинацией клавиш <Ctrl>+<F>). Можно отметить нужные
объекты поиска – только параметры, только разделы или только значения
параметров. Повторный поиск следующего вхождения того же объекта (Найти
далее…) осуществляется нажатием клавиши <F3>. Так, можно,
например, найти все разделы, относящиеся к данной программе или другому
объекту Windows.
Весь реестр или только выбранную его ветку
можно экспортировать и импортировать. Это один из эффективных способов
сохранить реестр в неприкосновенности – экспортируйте ветку перед
изменением, а если изменения вам не понравились, импортируйте ее
обратно. Другой способ отката – перед редактированием создать вручную
точку восстановления системы. Только не забывайте это делать – никаких
собственных функций отката в редакторе реестра нет.
Экспорт реестра осуществляется через меню
Файл | Экспорт, где вы получите обычное диалоговое окно сохранения
файла, в котором стоит обратить внимание только на пункты, расположенные
внизу окна под заголовком Диапазон экспорта. о умолчанию предлагается
экспортировать только текущую (выбранную) ветку, и в подавляющем
большинстве случаев этого достаточно. Можно, конечно, экспортировать и
весь реестр, только это займет массу времени (и столько же – обратный
импорт), а, кроме того, полученный файл будет, как говорится,
«неподъемным».
Формат файла экспортированной части
реестра – REG, менять его не следует и вот почему. Если вы имеете
REG-файл, то для импорта не нужно запускать даже regedit – просто
щелкните по файлу REG в Проводнике, и вам будет предложено импортировать
содержащиеся в этом файле данные. Так вы можете размножать настройки в
разных компьютерах, не повторяя их заново, причем в общем случае даже
между разными версиями Windows.
Считаю необходимым еще раз предупредить,
чтобы вы были осторожны, – бездумное редактирование реестра может сильно
испортить систему. Вряд ли вы будете менять что-то такое, чего не
понимаете, но в реестре много похожих и просто одинаковых параметров,
расположенных в разных местах, тут нужно себя тщательно проверять.
В сборниках советов можно встретить сокращенное название главных разделов реестра, вот их расшифровка:
♦ HKCR – HKEY_CLASSES_ROOT;
♦ HKCU – HKEY_CURRENT_USER;
♦ HKLM – HKEY_LOCAL_MACHINE;
♦ HKU – HKEY_USERS;
♦ HKCC – HKEY_CURRENT_CONFIG.
А теперь перейдем непосредственно к рецептам. Отмена перехода на зимнее время
Как известно, в России с 2011 года
отменен перевод стрелок часов на летнее время и обратно, и
устанавливается единое время на весь год. 27 марта 2011 года в
большинстве регионов стрелки были переведены на летнее время, и осенью
обратного перевода уже не предполагается. Фактически это означает, что в
охваченных реформой регионах часовой пояс сдвинулся на час вперед – для
Москвы и Питера это переход из GMT+3 в пояс GMT+4. В некоторых регионах
перевода стрелок в марте не было, но вопрос для них остается тот же
самый – как корректно внести изменения в операционную систему, чтобы не
затронуть другие региональные установки?
Это не такой однозначный вопрос, как
кажется. Можно просто сменить часовой пояс на следующий к востоку
(например, GMT+3 на CMT+4), не трогая региональные особенности. Но это
ненадежное решение – кто знает, какие особенности вылезут из-за смены
местоположения? Для Windows Vista и Windows 7 Microsoft выпустила
специальный пакет обновлений, автоматически устраняющий проблему. Но,
во-первых, далеко не все пользователи рискуют устанавливать
автоматические обновления, во-вторых, для Windows XP таких пакетов и не
обещают (Microsoft в момент написания этих строк еще только планирует
разместить в своей базе знаний статью с описанием процедуры ручной
коррекции Windows XP)[23]. Но и там вы не найдете прямого ответа на вопрос: как
правильно поступить, если у вас установлены две операционные системы
параллельно, и каждая стремится внести свои изменения?
Отсчет времени в ПКСистемное
время компьютера измеряется на аппаратном уровне – компонентами на
материнской плате, а операционная система только пользуется результатами
их работы. Когда компьютер выключен, в нем идут самые обычные
электронные часы с календарем на батарейке – ничем не отличающиеся от
наручных или настольных, только, естественно, без цифрового дисплея.
Такие часы называют еще RTC, Real Time Clock (часы реального времени) –
иногда можно встретить название CMOS-часы. При включении компьютера
время ОС синхронизируется с RTC и затем отсчитывается уже операционной
системой в довольно сложном формате. Разрешающая способность системных
часов невелика: хотя формально время в ПК можно отсчитывать с точностью
до 0,1 миллисекунды (т. е. 10-4 секунды), на практике
показания времени отсчитываются значительно реже, обновляя системное
время примерно 18 раз в секунду. Из-за этой особенности, а также из-за
непредсказуемого времени переключения между одновременно выполняющимися
программами, точный отсчет малых промежутков времени в Windows очень
затруднен.
Естественно, любые часы рано или поздно
«уходят», потому их надо периодически подводить – синхронизировать.
Проще всего это делать автоматически – через специальные службы времени в
Интернете. Есть много сторонних программ для этой цели, позволяющих
выбирать различные службы, но во все версии Windows встроена такая
программа, которая не хуже любой другой. Чтобы добраться до нее,
щелкните по часам в области уведомлений и перейдите на вкладку Время по
Интернету. На рис. 12.8 показана эта вкладка для Windows XP, в остальных
там почему-то будет почти пусто, а получить то же самое, что на
рис. 12.8, можно, если щелкнуть по кнопке Изменить параметры. Попробуйте
синхронизировать время, щелкнув по кнопке Обновить сейчас. Если ничего
не получается, проверьте на всякий случай соединение с Интернетом или
смените сервер времени из выпадающего списка (по моему опыту
time.nist.gov работает лучше, чем time.windows.com). В остальное время
синхронизация работает автоматически по расписанию, и нужды что-то
менять там нет.
Рис. 12.8. Вкладка Время Интернета часов Windows XP
Далее
я описываю корректную процедуру отмены перехода с зимнего на летнее
время – она потребуется для всех систем, выпущенных до 2011 года. Для
тех немногих регионов, где перевода на летнее время в марте 2011 года не
было (т. е. для них оставлен текущий часовой пояс, и единое время
теперь будет равно бывшему зимнему), достаточно лишь убрать отметку в
пункте Переход на летнее время и обратно. Чтобы его разыскать, нужно
щелкнуть по часам в панели уведомлений, в Windows XP перейти на вкладку
Часовой пояс (рис. 12.9), а в других системах – щелкнуть на кнопке
Изменить часовой пояс. Рис. 12.9. Вкладка Часовой пояс часов Windows XP
Но в
большинстве российских регионов, где перевод стрелок в марте 2011 года
произошел и больше не предполагается (в том числе в Москве и Питере),
этого простого действия недостаточно. Для начала, после такой отмены
автоматического перехода летом время на часах сдвинется на час назад
(компьютер просто перейдет на зимнее время, он-то не знает, что обратный
перевод уже отменили). Вы можете попробовать откорректировать время
вручную, но оно опять сдвинется при первой же синхронизации времени
через Интернет – неважно, через службу времени Windows или сторонними
программами. Тем более внесет путаницу наличие двух установленных
систем, каждая из которых при запуске и коррекции через Интернет захочет
установить время по-своему.
Для того чтобы избавиться от этого
наваждения, придется внести изменения в параметры реестра, отвечающие за
часовой пояс. К счастью, во всех 32-разрядных системах Windows, включая
даже Windows 98, это делается одинаково, и особых проблем не
представляет. Рецепт, приведенный далее, годится для регионов пояса
GMT+3 (Москва, Питер, Волгоград). Для других регионов, где 27 марта 2011
года время было также переведено на час вперед, и больше перевода не
предполагается, действия те же самые, только шестнадцатеричные значения
будут другими (их можно подсчитать прямо в шестнадцатеричной форме с
помощью калькулятора Windows, переведя его в форму Инженерный).
Последовательность действий такова:
1. Отмените автоматический Переход на
летнее время и обратно, как описано ранее (см. рис. 12.9). При этом не
корректируйте часы вручную, если они «уйдут» на час.
2. Запустите редактор реестра, набрав
regedit в командной строке. Разыщите там ветку
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation.
3. Найдите параметр Bias – он обозначает
смещение текущего часового пояса в довольно запутанном шестнадцатеричном
формате, и в Windows, выпущенной до введения нового времени, будет
равен ffffff4c (или, в десятичном виде, 4294967116). Расшифровывается
это просто – чтобы представить такое шестнадцатеричное число (со знаком)
в привычном десятичном виде, нужно из него вычесть максимальное число
диапазона ffffffff (или 4294967296). Получим число -180, что и было
смещением часового пояса в минутах до опубликования указа президента
Медведева. Его надо изменить на значение -4 часа, т. е. сделать равным
-240, в шестнадцатеричной форме это будет выглядеть так: ffffff10
(4294967056). То есть ваша задача – щелкнуть правой кнопкой на параметре
Bias, выбрать Изменить и изменить последние два знака (4с) на 10.
Больше тут ничего делать не надо.
4. Перезагрузите компьютер и убедитесь,
что время у вас стало правильное. При синхронизации через Интернет
значение часов тоже теперь не должно меняться. Можете зайти снова в
реестр (редактор запоминает ветку, где вы находились последний раз) и
убедиться, что другие параметры в той же ветке автоматически
откорректированы, хотя это уже и не имеет большого значения: это
ActiveTimeBias (смещение летнего времени), которое стало равным Bias,
DayTimeBias (разница между летним и зимним) – стало равным нулю и
StandartBias (разница между Bias и ActiveTimeBias для зимнего времени)
также равно нулю.
5. Проделайте все то же самое для всех
установленных на компьютере операционных систем, если их больше одной.
Не исключено, что в процессе этих установок время будет сбиваться при
переходе между системами, и придется окончательно его корректировать
вручную (или синхронизацией через Интернет). Но эту коррекцию придется
сделать только один раз, потом все установится. Всплывающие подсказки
Обратите внимание, что я почти не
упоминаю по ходу изложения в этой книге о всплывающих
подсказках-сообщениях, которые сопровождают почти каждое телодвижение в
Windows. Это следствие того, что я их у себя давно удалил. Сообщения
эти, как правило, не несут никакой полезной информации, зато настойчиво
требуют внимания и весьма трудно закрываются – в частности, не реагируют
на клавишу <Esc> и даже на перевод фокуса ввода, отчего
приходится ловить мышью почти невидимый крестик в углу сообщения. В этом
они родственны сетевой рекламе и вполне заслуживают такого же
отношения. Поэтому описанную далее операцию хирургического их удаления
через реестр я рекомендую провести каждому пользователю ПК.
Задача формулируется так: в ветке
HKEY_CURRENT_USER\Software\Microsoft \Windows\
CurrentVersion\Explorer\Advanced надо создать параметр с именем
EnableBalloonTips числового типа DWORD и присвоить ему значение 0.
Запустим редактор реестра и перейдем к
этому разделу. Будьте внимательны и ничего не пропустите по пути – ключи
с одинаковыми или очень похожими названиями попадаются в разных ветках
сплошь да рядом. После того, как нужный ключ найден, на всякий случай
поищем в списке многочисленных параметров, которые появятся в окне
справа, – если EnableBalloonTips вдруг уже присутствует, то надо просто
изменить его значение на 0, и все. В противном случае его требуется
сначала создать.
Щелкнем правой кнопкой мыши в окне
параметров справа на пустом месте и в появившемся единственном пункте
Создать выберем Параметр DWORD (рис. 12.10). Можно выбрать аналогичный
пункт в главном меню (в разделе Правка). Параметр создастся немедленно –
в списке внизу появится Новый параметр, имя которого можно
отредактировать, точно так же, как это делается при создании папки в
Проводнике. Если вы ввели имя неправильно (или упустили момент
редактирования), то изменить его можно опять же аналогичным Проводнику
способом – щелкнуть правой кнопкой на имени и выбрать пункт
Переименовать. Заметьте, что параметру сразу придано нужное нам значение
0 (отображаться это будет так: 0x00000000 – восемь нулей символизируют
число типа DWORD, а запись 0х показывает, что число представлено в
шестнадцатеричном виде). Рис. 12.10. Создание параметра в редакторе реестра
На
прилагаемом диске в папке Registry находится файл balloon.reg, при
запуске которого и подтверждении того, что вы действительно хотите
внести изменения в реестр, автоматически создастся параметр
EnableBalloonTips с нулевым значением. Проверьте его создание через
редактор реестра.
Папки в диалоговом окне Открыть/Сохранить файл Windows XP
В Windows 7 и Vista диалоговое окно
Открыть/Сохранить файл изменило внешний вид – в левой части в нем теперь
доступно полное содержание окна Компьютер. А в Windows XP решение было
принято половинчатое – в этой левой части размещается ограниченный
список папок, которые, по мнению разработчиков Windows, употребляются
чаще других: Рабочий стол, Мой компьютер и пр. Понятно, что мнение
пользователей совершенно необязательно должно совпадать с мнением
разработчиков, в результате чего эта часть окна чаще всего оказывалась
невостребованной – относительно полезным в этом списке оказывается лишь
Мой компьютер. Причем это окно имеет разный вид для обычных программ и
для Microsoft Office.
К счастью, настроить список папок в окне
Открыть/Сохранить файл довольно просто. Для общего диалогового окна
Windows XP найдите в ветви реестра
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\comdlg32
раздел PlacesBar, если его там нет – создайте. Этот раздел должен
содержать четыре-пять параметров с именами Place0-Place4. Для обычных
папок эти параметры должны иметь строковый тип и значение, указывающее
путь к папке. Например, для параметра Place3 можно задать значение
"C:\Windows" (как обычно, обязательно в кавычках, если путь включает
пробелы). Для системных папок надо задавать значения типа DWORD (табл.
12.1).
Таблица 12.1. Системные наименования ряда параметров (наименования некоторых параметров продублированы по-английски)При
желании можно удалить этот перечень вовсе. Для этого в том же разделе
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\comdlg32 надо
создать параметр NoPlacesBar типа DWORD и придать ему значение, равное
1.
Для окна Открыть/Сохранить файл Microsoft
Office настройка производится по иному принципу. Найдите ветвь
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\ Common\Open
Find\Places\StandardPlaces
Здесь название раздела 11.0 относится к
Office 2003, для Office XP это будет 10.0, для Office 2000 – 9.0. В
каждом имеющемся там разделе (Desktop, MyComputer и пр.), который вы
хотите удалить из перечня, создайте DWORD-параметр с именем Show и
значением 0.
На освободившееся место можно поставить
свои папки, если в соседней ветви
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Common\Open
Find\Places\UserDefinedPlaces создать разделы с произвольными именами
(например, 1, 2, 3 и т. п.), содержащие по паре параметров строкового
типа с именами Nаmе и Path, определяющие соответственно название и
полный путь к нужной папке. Общее число отображаемых папок в разделах
StandardPlaces вместе с новыми позициями в разделе UserDefinedPlaces не
должно быть больше пяти.
Если вы ошибетесь и установите неверный
путь к несуществующей папке, то она просто не будет отображаться. Через
ветвь реестра HKEY_LOCAL_MACHINE эти настройки можно сделать для всех
пользователей сразу.
Переназначение клавиш на клавиатуре
На клавиатуре есть множество клавиш,
которыми вы никогда не пользуетесь. Одна из самых надоедливых – клавиша
<Caps Lock>, сохранившаяся со времен программистских языков типа
Фортрана, где все писалось заглавными буквами. Редко кто пользуется и
системными клавишами Windows (и основной, и для вызова контекстного
меню) – это удобнее делать мышью. Между тем случайное нажатие этих
клавиш тормозит всю работу. Те, кого это раздражает, могут отключить их
или переназначить на другие функции – например, на соседние клавиши.
Рассмотрим на примерах эти действия, а потом расскажем, как это осуществляется в общем случае – для любой клавиши.
Сначала нужно в разделе реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\Keyboard Layout (не
путать с Keyboard Layouts!) создать новый двоичный параметр (в меню так
и будет написано – двоичный параметр), озаглавив его Scancode Map (с
пробелом!), и присвоить ему значение по следующему образцу:
00 00 00 00 00 00 00 00
03 00 00 00 00 00 5C E0
00 00 5D E0 00 00 00 00
Эта строка отключит клавишу с флажком Windows и соседнюю клавишу вызова всплывающего меню. Разберемся в том, что здесь написано.
Сначала должно идти 8 пар нулей подряд.
Затем идет число (с ведущим нулем) – в данном случае 03, которое
означает количество отслеживаемых клавиш плюс единица (т. е. в этом
примере отслеживаем две клавиши). После него всегда должно идти три пары
нулей (дополняя до 4-х пар цифр). Заканчиваться запись должна всегда
четверкой пар нулей. А вот между ними мы должны записать столько
четверок парных чисел, сколько мы предусмотрели клавиш для отслеживания –
в данном случае две. В них записываются так называемые скан-коды
клавиш, которые желаем отключить. В табл. 12.2 приведены коды тех
клавиш, которые целесообразно рассматривать в плане кандидатов на
отключение или замену (см. далее).
Эти коды записываются в последние две пары
каждой четверки пар чисел, первые две пары опять же нули – как вы и
видите в образце. Таким образом, приведенная в качестве примера строка
отключит нам правую клавишу <Win> (с флажком Windows) (00 00 5C
E0) и соседнюю клавишу <PopUp Menu> вызова всплывающего меню (00
00 5D E0).
Таблица 12.2. Скан-коды клавиш* Официальное название этой клавиши – <Application>
Что такое скан-коды и где их взятьСкан-код
– это то число, которое выдает клавиатура при нажатии определенной
клавиши. Скан-коды не следует путать с виртуальными кодами клавиш –
последние формируются уже на уровне BIOS и Windows и в дальнейшем
определяют коды символов, те самые, что, например, образуют содержимое
текстовых документов. В большинстве случаев они никак между собой не
связаны. Например, виртуальный код клавиши «пробел» – 32 (совпадает с
кодом символа «пробел» в однобайтных кодировках), а скан-код ее – 57 (в
HEX-форме это будет 20 и 39 соответственно). Заметьте, что виртуальные
коды не эквивалентны символьным – чтобы превратить виртуальный код в код
символа, надо еще учесть языковую раскладку, состояние клавиш
<Shift>, <Caps Lock> и, между прочим, используемую систему
кодировок – однобайтную или Unicode. Все это проделывает системный
драйвер клавиатуры еще до того, как событие нажатия попадает в очередь
Windows-сообщений. Некоторые клавиши (<Win> или <Caps Lock>)
вообще ни с какими символами не связаны и в указанную очередь не
попадают. Поэтому для полной подмены функциональности некоей клавиши
подменить виртуальные коды (что вообще-то может сделать любой, владеющий
навыками программирования в Delphi или Visual C++) недостаточно – надо
действовать на более глубоком уровне, манипулируя именно скан-кодами.
Это и позволяет осуществить параметр Scancode Map в реестре Windows.
Для наших целей скан-коды, как вы можете
догадаться по приведенной таблице, должны быть представлены в
шестнадцатеричной (HEX), а не десятичной форме. Таблицы виртуальных
кодов и кодов символов обычно прилагается к любому пособию по
Windows-программированию, а вот полную таблицу скан-кодов разыскать
непросто.
Она немного неудачно составлена – так называемые расширенные клавиши
(это те, у которых второй байт в нашей таблице равен E0) там показаны
добавлением лишнего разряда, равного 1. То есть выбрав из колонки HEX
скан-код, например, 11С (клавиша <Enter> на цифровой клавиатуре),
его надо для наших целей переписать как 1С E0. Официальный полный набор
скан-кодов, включая и клавиши управления питанием (но исключая
дополнительные медиаклавиши), можно скачать с сайта Microsoft. Ссылка на
документ очень длинная, потому просто наберите в поиске на
microsoft.com слова Keyboard Scan Code Specification», и получите
искомое – правда, по-английски. При изучении этого документа учтите, что
нас интересует только один набор кодов: Scan Code Set 1.
Разумеется, готовить такую
строку чисел следует заранее и внимательно пересчитать все пары перед
тем, как вводить ее в реестр. Но при вводе вы увидите, что вам помогут
не наделать ошибок. Ввод значения двоичного числа осуществляется вручную
(рис. 12.11), но несмотря на непривычный вид этого редактора, вы быстро
убедитесь, что работать с ним очень удобно. В частности, не возникает
проблем при подсчете вводимых пар – они автоматически группируются по
восемь в строке. Не забудьте перезагрузить ПК после окончательного ввода
значений параметра. Рис. 12.11. Ввод значений двоичного параметра
Для
не просто отмены, а еще и переназначения, придется немного усложнить
запись – первые две пары нулей в тех четверках, что содержат коды
отключаемых клавиш, заменить на те коды, которые должны, по вашему
мнению, работать. Например, значение параметра Scancode Map, равное
00 00 00 00 00 00 00 00
03 00 00 00 00 00 5C E0
1D E0 5D E0 00 00 00 00
сделает так, что правая
клавиша с флажком Windows отключится, а <PopUp> будет дублировать
правый <Ctrl>, т. е. ближайшую к ней клавишу. Именно это значение
Scancode Map приведено в качестве примера на рис. 12.11.
Покажем, как справиться с <Caps
Lock>. Эксперименты показывают, что с ней не все однозначно – в
частности, попытка простого отключения может не дать результатов. Но я
приведу значение параметра Scancode Map, которое гарантировано отключает
<Caps Lock> – ее функция меняется на функцию <Shift>
(правого, но на практике это неважно), а <PopUp> здесь, как и
ранее, дублирует правый <Ctrl>:
00 00 00 00 00 00 00 00
03 00 00 00 1D E0 5D E0
2A 00 3A 00 00 00 00 00
На прилагаемом диске в папке
Registry находится файл key.reg, при запуске которого и подтверждении
того, что вы действительно хотите внести изменения в реестр,
автоматически создастся параметр Scancode Map с таким значением. Если не
хотите трогать ничего, кроме <Caps Lock>, то отредактируйте это
значение следующим образом: 03 замените на 02 и замените четыре байта с
ненулевым значением во второй строке нулями.
Ничего фатального в результате этих ваших
экспериментов произойти не должно – если вы в чем-то ошиблись или решили
оставить все как есть, просто удалите из реестра параметр Scancode Map и
перезагрузите компьютер. Или верните систему в исходное состояние с
помощью точек восстановления.
Отключение клавиши <Alt>, как входа в менюК
сожалению, справиться с клавишей <Alt> как системной для Windows
(вызова главного меню), сохранив ее функциональность как
клавиши-модификатора, через реестр не получится – она вообще перестанет
реагировать на нажатие. Потому, раз уж мы занялись клавишами, заодно
укажу средство с ней справиться, хотя оно и не имеет отношения к
реестру. На диске к книге имеется папка AltSpy, в которой размещена
программа того же имени. Скопируйте всю папку (она содержит три файла)
на жесткий диск и запустите файл с расширением js (сценарий на языке
Java Script). Чтобы не запускать руками каждый раз, его следует включить
в автозагрузку (см. разд. 10.1.3 «Автозагрузка»). Спустя 10 секунд
после запуска сценария AltSpy создаст в области уведомлений кареглазый
значок, у которого окажется единственный пункт контекстного меню –
Закрыть. Пауза нужна для того, чтобы AltSpy гарантированно оказался
самым последним при запуске и перекрыл другие службы. После этого
<Alt> перестанет вызывать главное меню, зато сохранит свою
основную функциональность. Возможность вызвать главное меню у вас при
этом не пропадает – эту функцию по-прежнему выполняет клавиша
<F10>, зато теперь куда труднее вызвать его случайно и тем самым
сбить фокус ввода с нужного элемента. |