пятница, 1 февраля 2013 г.

контексное меню корзины

Проверяем ЂЂЂ выбираем объект Компьютер в любом месте (меню кнопки Пуск, значок на Рабочем столе или в Проводнике) и убеждаемся, что в контекстном меню появилась команда Запустить блокнот.

Как и в примерах с папками, вы можете отредактировать значение по умолчанию для созданного раздела Notepad, чтобы выводилось более удобное имя (например, Запустить блокнот)

Перейдем к делу. Итак, чтобы добавить новую команду в контекстное меню значка Компьютер (бывший Мой компьютер), нужно найти его идентификатор и добавить новый подраздел в его разделе shell. Объекту Компьютер соответствует идентификатор {20D04FE0-3AEA-1069-A2D8-08002B30309D}. Таким образом, чтобы добавить свою команду в контекстное меню объекта Компьютер, необходимо создать в разделе HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell новый раздел (например, Notepad), который и будет отображаться в меню. В созданном разделе создайте подраздел command, в котором пропишите программу для запуска в параметре по умолчанию. В нашем случае это будет строка notepad.exe.

Для начала нужно понять, что, несмотря на определенную схожесть с папками, Компьютер и Корзина являются специальными объектами Windows, обладающими особенными свойствами. На самом деле таких объектов в системе Windows несколько сотен. В реестре Windows есть специальный раздел CLSID, который находится в ветке HKEY_CLASSES_ROOT. Если вы зайдете в этот раздел, то увидите, что он содержит непонятные разделы, состоящие из набора цифр, которые окружены фигурными скобками. Это идентификаторы класса (Class ID или CLSID), которые являются шестадцатибайтным числом. Для простоты можете представлять это число как номер телефона. Как номер телефона соответствуют одному человеку, так и номер CLSID соответствует определенному объекту.

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

После публикации статьи на Хабре ко мне периодически стали приходить письма, в которых авторы просили объяснить, почему добавленные команды не отображаются в контекстных меню папки Компьютер или Корзина, хотя некоторые программы умудряются как-то добавить свои команды.

Добавление команд в контекстное меню Компьютера и Корзины (продолжение)

Добавление команд в контекстное меню Компьютера и Корзины (продолжение) / Хабрахабр

Комментариев нет:

Отправить комментарий