Администрирование Windows Замена Windows notepad на notepad2 Tue, April 16 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Замена Windows notepad на notepad2 Печать
Добавил(а) microsin   

Этот документ раскрывает технические детали процесса замены стандартного текстового редактора Windows Notepad на более продвинутый, который любят многие программисты - на Notepad2. Поскольку Notepad2 версии 4.2.25 имеет программу установки, которая сама делает такую замену, то больше нет необходимости вручную проводить шаги, описанные ниже [1].

Некоторые замечания по программе установки можно найти в Notepad2 FAQ [2], см. вопрос "Как использовать утилиту установки (Notepad2 Setup Tool) чтобы установить и обновить Notepad2?".

Notepad2 setup

Со своей модифицированной версией Notepad2 [3] Kai Liu представил поддержку замены Windows Notepad с использованием чистого, не разрушающего работу системы метода, основанного на реестре.

[Замена Windows notepad на notepad2]

Процедура замены может показаться немного сложной, поскольку notepad.exe является защищенным системным файлом, что усложняет его прямую замену (однако замена все же возможна).

Самый простой способ замены - использовать ключ реестра "Image File Execution Options", чтобы заставить Windows запускать notepad2.exe всякий раз, когда раньше должен был бы запускаться notepad.exe. Тот же самый трюк используется и в функции "Replace Task Manager" программы Microsoft Process Explorer [4]. Выгода этого метода в том, что замена стандартного Notepad не запутывается системой защиты системных файлов Windows File Protection - потому что на самом деле Вы не заменяете никакой исполняемый системный файл на диске. Программа notepad.exe остается в целости и сохранности на своем старом месте, и Вы можете легко откатить обратно сделанные изменения, просто удалив этот ключ реестра. Недостаток этого метода в том, что он не работает правильно с официальной сборкой Notepad2; есть несколько незначительных изменений, которые нужно сделать для Notepad2 для работы этой функции (см. авторский патч img_exec_replace).

Для использования этого метода замены Notepad Вам нужно выполнить следующие шаги:

1. Получите сборку Notepad2, которая поддерживает эту форму системной замены Notepad.

2. Создайте ключ (раздел) реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe.

3. Внутри этого ключа реестра создайте новое строковое (REG_SZ) значение под именем "Debugger".

4. Установите данные этого нового значения "Debugger" в значение полного пути до исполняемого файла Notepad2, за которым идет опция /z, например:

"C:\Windows\Notepad2.exe" /z

Simon Steele описывает ту же процедуру для своего текстового редактора Programmer's Notepad [5], и также объясняет, какой ключ реестра использовать на 64-битной версии Windows, когда Вы используете 32-битную версию Notepad2 на 64-битной версии Windows.

HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

[Замена в случае Notepad2 версии 4.1.24 (или более новой)]

Поскольку начиная с версии 4.1.24 официального релиза Notepad2 поддержка этого метода замены стандартного Windows Notepad уже предусмотрена, то описанные выше шаги работают нормально. Однако в этих версиях нет автоматической поддержки замены Notepad, так как официальный релиз Notepad2 не модифицирует реестр системы. По той же причине нет поддержки доступа по умолчанию к последним используемым файлам через списки перехода Windows 7 (потому что это требует предварительной регистрации приложений в системном реестре).

Также избегайте использование автоматической замены Notepad при запуске с извлекаемых носителей (например флешка), поскольку это может дать нежелательные эффекты, если программа Notepad2 запускалась не с фиксированного места положения на диске - оригинальное состояние не будет восстановлено, если извлечено устройство, с которого был осуществлен запуск.

Скрипт командного файла для запуска из директории Notepad2 и замены Windows Notepad может выглядеть следующим образом (это требует повышенных административных привилегий):

reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution
 Options\notepad.exe" /v "Debugger" /t REG_SZ /d "\"%~dp0Notepad2.exe\" /z" /f

Оригинальный Windows Notepad может быть восстановлен следующей командой (также требуются права администратора):

reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File
 Execution Options\notepad.exe" /f

[Как добиться поддержки списка последних изменяемых файлов]

Требуется провести несколько дополнительных настроек, чтобы работала стандартная функция списка доступа к последним изменяемым файлам (recent file access) через списки перехода (jump lists), представленные в Windows 7. Сначала зарегистрируйте Notepad2 как обработчик "Open with" с использованием следующего командного файла (его нужно запустить из каталога установки Notepad2.exe с повышенными привилегиями):

reg add "HKCR\*\OpenWithList\Notepad2.exe" /f
reg add "HKCR\Applications\Notepad2.exe" /v "AppUserModelID"
 /t REG_SZ /d "Notepad2" /f
reg add "HKCR\Applications\Notepad2.exe\shell\open\command"
 /ve /t REG_SZ /d "\"%~dp0Notepad2.exe\" %%1" /f

После этого сделайте следующие изменения в файле Notepad2.ini:

[Settings2]
...
ShellAppUserModelID=Notepad2
ShellUseSystemMRU=1

После этого "Recent files" появятся в jump lists. Окна Notepad2 теперь присвоены пользовательскому AppUserModelID, и из-за этого могут проявиться несколько иконок, если Notepad2.exe непосредственно прикреплен к панели задач (taskbar). Чтобы исправить это, сначала откройте окно Notepad2, и затем привяжите его к панели задач с помощью кнопки контекстного меню Notepad2 на панели задач.

Отмена регистрации для Notepad2 обработчика "Open with" делается следующим скриптом (требуются повышенные административные привилегии):

reg delete "HKCR\*\OpenWithList\Notepad2.exe" /f
reg delete "HKCR\Applications\Notepad2.exe" /f

© Florian Balmer 1996-2014

[Ссылки]

1. Notepad2 Replacing Windows Notepad site:flos-freeware.ch.
2. Notepad2 FAQ.
3. Notepad2 Modifications site:code.kliu.org.
4. Process Explorer By Mark Russinovich site:microsoft.com.
5. Programmer's Notepad site:pnotepad.org.

 

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


Защитный код
Обновить

Top of Page