Hello, All!
Не прошло и суток, как я таки овладел вновь своим компом, хоть и
временно, но мне в личку уже несколько человек обратились с вопросами,
как создавать пункты в контекстном меню и как их удалять, обращались
то человеки и раньше, но только сегодня до обращений руки дошли ;), посему я
и
решил написать данный минифак, вдруг он вам понадобится. Замечу, что
таким способом можно создать только пункты контекстного меню,
находящиеся до первого разделителя и нельзя создать вложенные меню.
Вложенные меню и пункты после первого разделителя создаются через
регистрацию классов, но вас, мои маленькие жирненькие деточки, я
регистрацией классов пугать не буду, ато ещё попьёте реестр к чертям
собачьим, а злой юникс из-за ваших кривых рук виноват останется ;););)
Итак, поехали:
Как всем прекрасно известно, windows 2000, xp , vista - системы
многопользовательские, а посему мы можем создавать пункты
контекстного меню только для себя, или для всех пользователей этого
компьютера. Принцип создания похож, только начальные этапы разные.
Итак, сначала создадим пункт меню, который позволит открывать
блокнотом из контекстного меню абсолютно любые файлы.
Открываем редактор реестра: меню пуск/выполнить, в командной строке
пишем:
regedit
Клавишей home встаём в самый верх реестра, при этом мы услышим что-то
типа "мой компьютер открыто" или "мой компьютер закрыто".
Раскрываем мой компьютер и движемся стрелкой внис до раздела:
HKEY_CLASSES_ROOT
Если раздел закрыт, открываем его стрелкой вправо и движемся до
раздела:
*
(знак звёздочки, как правило, он должен оказаться первый.
Открываем этот раздел и движемся до раздела:
Shell
Всё, мы прибыли, теперь начнём создавать нужный нам пункт меню,
назовём его вот так:
открыть в блокноте
Стоя на разделе Shell нажимаем контекстное меню, в нём выбираем пункт
создать, а в открывшемся подменю выбираем пункт раздел. После этого у
нас появится новый раздел, который, по аналогии с папкой, будет назван
"новый раздел, причём курсор будет находиться в режиме редактирования
и мы сможем сразу изменить его имя, что мы и сделаем, написав открыть
в блокноте вместо новый раздел. После нажатия ентера курсор
оказывается на имени только что созданного раздела.
Снова нажимаем контекстное меню, стоя на имени только что созданного
раздела, снова выбираем "создать" а затем "раздел" и созданному
разделу присваиваем вот это имя символ в символ:
command
тут самодеятельность не допускается. После создания раздела курсор
окажется на имени только что созданного раздела. Никуда не движемся, а
нажмём tab.
После нажатия таба мы можем услышать примерно следущее:
"по умолчанию RegXz - значение не присвоено, не пугайтесь, так и
должно быть.
Теперь откроем контекстное меню и выберем пункт изменить. Мы попадём в
поле редактирование, в котором напишем вот так:
notepad.exe "%1"
первый параметр (notepad.exe) указывает на запускаемую программу,
поскольку блокнот лежит в системных папках, то путь к нему указывать
не надо, параметр "%1" передаёт блокноту имя файла, на котором стоит
курсор, в кавычки взят потому, что, если курсор будет стоять на имени
файла с пробелами, то такое имя, если параметр "%1" не взять в
кавычки, блокноту передано не будет. Теперь жмём ентер и проверяем
свои результаты, перезагрузка компьютера не понадобится. Если вы вдруг
захотите удалить данный пункт меню, удалите раздел "открыть в
блокноте" из реестра, с разделом будут удалены и все его подразделы.
То, что мы с вами сейчас делали, мы делали только для пользователя,
находящегося в системе в текущий момент, т.е. если на вашем компьютере
работают несколько человек и у них разные учотные записи, изменения их
не коснутся, а теперь давайте сделаем то жэе самое, но уже для всех
пользователей компьютера.
Снова поднимаемся в самый верх редактора реестра и находим ветку:
HKEY_LOCAL_MACHINE
Открываем её и находим в ней раздел:
SOFTWARE
Открываем данный раздел и находим в нём раздел:
Classes
Открываем данный раздел и находим в нём раздел:
*
(знак звёздочки, как правило, он должен оказаться первый.
Открываем этот раздел и движемся до раздела:
Shell
Всё, мы прибыли, теперь начнём создавать нужный нам пункт меню,
назовём его вот так:
открыть в блокноте
Стоя на разделе Shell нажимаем контекстное меню, в нём выбираем пункт
создать, а в открывшемся подменю выбираем пункт раздел. После этого у
нас появится новый раздел, который, по аналогии с папкой, будет назван
"новый раздел, причём курсор будет находиться в режиме редактирования
и мы сможем сразу изменить его имя, что мы и сделаем, написав открыть
в блокноте вместо новый раздел. После нажатия ентера курсор
оказывается на имени только что созданного раздела.
Снова нажимаем контекстное меню, стоя на имени только что созданного
раздела, снова выбираем "создать" а затем "раздел" и созданному
разделу присваиваем вот это имя символ в символ:
command
тут самодеятельность не допускается. После создания раздела курсор
окажется на имени только что созданного раздела. Никуда не движемся, а
нажмём tab.
После нажатия таба мы можем услышать примерно следущее:
"по умолчанию RegXz - значение не присвоено, не пугайтесь, так и
должно быть.
Теперь откроем контекстное меню и выберем пункт изменить. Мы попадём в
поле редактирование, в котором напишем вот так:
notepad.exe "%1"
первый параметр (notepad.exe) указывает на запускаемую программу,
поскольку блокнот лежит в системных папках, то путь к нему указывать
не надо, параметр "%1" передаёт блокноту имя файла, на котором стоит
курсор, в кавычки взят потому, что, если курсор будет стоять на имени
файла с пробелами, то такое имя, если параметр "%1" не взять в
кавычки, блокноту передано не будет. Теперь жмём ентер и проверяем
свои результаты, перезагрузка компьютера не понадобится. Если вы вдруг
захотите удалить данный пункт меню, удалите раздел "открыть в
блокноте" из реестра, с разделом будут удалены и все его подразделы.
Следует помнить, что, если нужная вам программа лежит не в системных
папках, то надо прописывать полный путь к ней и что, если в пути есть
пробелы, то путь надо брать в кавычки, например, вот так:
"c:\program files\akelpad\akelpad.exe" "%1"
Удачных эксперементов с реестром и да выживет ваша винда