Додавання меню, що розкривається в контекстне меню робочого столу і комп`ютера

У контекстних меню робочого столу і комп`ютера дуже зручно мати різні програми і інструменти для швидкого доступу. У цій статті я розповім, як створити в контекстних меню, що розкриваються меню, які будуть містити власні набори програм і адміністративних засобів.

Для роботи у спадному меню потрібні дві складові:

  1. команди, які виконуються при натисканні по пункту меню
  2. меню, що розкриває список пунктів

Спочатку я розповім, як зареєструвати в реєстрі власні команди. У порівнянні зі способом додавання окремих пунктів меню, про який я вже розповідав, такий підхід має дві переваги:

Відео: Як додати посилання в контекстне меню Робочого столу

  1. Одного разу зареєструвавши команду, її можна викликати з будь-якого меню, якщо їх декілька.
  2. Управління пунктами меню значно спрощується.

Слідуючи простим поетапні інструкції, через 10 хвилин ви створите власне спливаюче меню, яке показано на малюнку нижче.

Відео: Як додати програму в контекстне меню windows 7

спливаюче меню

В кінці статті ви знайдете готові набори розкривних меню.

Реєстрація команд в реєстрі

Спочатку ми зареєструємо команди, які будуть виконуватися при натисканні по пункту меню. Відкрийте редактор реєстру і приступимо!

Перейдіть в разделHKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Explorer CommandStore Shell

В цьому розділі створіть підрозділи для кожної програми або команди, яку ви хочете бачити в меню. Назви підрозділів можуть бути будь-якими, але обов`язково латинськими і без пробілів. У моєму прикладі створюється три підрозділи:

  • regedit
  • taskmgr
  • devmgmt

У кожному з створених підрозділів двічі клацніть параметр (За замовчуванням) і в якості значення задайте ім`я ярлика, яке ви хочете бачити в меню. Наприклад, для підрозділу regedit я задав ім`я Редактор реєстру.

Якщо ви хочете, щоб поруч з назвою відображався значок, створіть там же строковий параметр Icon і в якості значення вкажіть виконуваний файл або бібліотеку з номером ресурсу. Я вказав regedit.exe, щоб використовувати стандартний значок редактора реєстру.




Тепер задайте команду для пункту меню. У кожному розділі, який ви створили на кроці 2, створіть підрозділ з ім`ям command. Потім двічі клацніть параметр (За замовчуванням) і в якості значення вкажіть шлях до програми.

Наприклад, для редактора реєстру я вказав regedit.exe (повний шлях не потрібен, оскільки виконуваний файл знаходиться в системній папці).

У реєстрі повинна вийти така картина:

спливаюче меню

Створення меню, що розкривається і додавання в нього пунктів

Тепер потрібно в реєстрі створити меню і додати в нього пункти, які будуть служити для виклику команд.




Залежно від того, де ви хочете створити спливаюче меню, виберіть розділ.

  • для меню «Комп`ютер» перейдіть в розділ: HKEY_CLASSES_ROOT CLSID {20D04FE0-3AEA-1069-A2D8-08002B30309D} shell
  • для меню робочого столу перейдіть в розділ: HKEY_CLASSES_ROOT DesktopBackground Shell

Клацніть правою кнопкою миші по розділу shell і виберіть пункт Створити - Новий розділ. Ім`я для розділу можна вибрати будь-який, але воно обов`язково повинно бути латинське. Назвіть його, наприклад, Menu1. У цьому розділі будуть створені такі строкові параметри.

Параметр MUIVerb (обов`язково) відповідає за назву меню, що розкривається, тому значення можете вибирати будь-який. Я назвав своє Система.

Параметр SubCommands (обов`язково) містить список покажчиків для команд, які будуть виконуватися з меню. Назви покажчиків повинні відповідати назвам підрозділів реєстру, які ви створили на кроці 2 в попередньому розділі статті. Розділіть покажчики крапкою з комою (-) і перераховуйте їх в тому порядку, в якому ви хочете бачити пункти в меню. Щоб вам було простіше зрозуміти, я приведу свій список:

regedit-taskmgr-devmgmt

Таким чином, у мене в меню будуть редактор реєстру, диспетчер задач і диспетчер пристроїв.

Параметр Icon (необов`язково) задає значок для меню, що розкривається. Можна задати шлях до бібліотеки (dll) і номер ресурсу (значка), або повний шлях до виконуваного файлу (якщо він в системній папці, досить вказати тільки ім`я). Для свого меню «Система» я поставив значок imageres.dll, 104 (спочатку почала ім`я файлу, а через кому - номер ресурсу).

Відео: Додавання в контекстні меню додаткових функцій за допомогою Easy Context Menu 1.5

Параметр Position (необов`язково) відповідає за розташування розкривається контекстного меню. Ви можете задати йому значення Top (вгорі) або Bottom (внизу). Якщо значення не ставити, розкривається меню виявиться в середині контекстного меню. Я розташував своє меню внизу.

Параметр Extended (необов`язково) відповідає за відображення пункту в меню. Коли параметр присутній, щоб побачити створений пункт, потрібно викликати контекстне меню, утримуючи клавішу SHIFT. Цьому параметру не потрібні значення.

Якщо ви хочете створити два меню, створіть розділ Menu2 і повторіть кроки 3 - 7. Таких меню можна зробити скільки завгодно.

Давайте подивимося, що вийшло в реєстрі:

спливаюче меню

До речі, вже все готово! У контекстному меню комп`ютера з`явилося спливаюче меню «Система» зі списком пунктів.

Якщо ви заплуталися або у вас щось не виходить, видаліть створені розділи і параметри, а потім імпортуйте наведений нижче REG-файл (він додає спливаюче меню в контекстне меню комп`ютера).

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT CLSID {20D04FE0-3AEA-1069-A2D8-08002B30309D} shell Menu1]
"MUIVerb" = "Система"
"SubCommands" = "regedit-taskmgr-devmgr"
"Icon" = "imageres.dll, 104"
"Position" = "Bottom"

[HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Explorer CommandStore shell regedit]
@ = "Редактор реєстру"
"Icon" = "regedit.exe"

[HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Explorer CommandStore shell regedit command]
@ = "Regedit.exe"

[HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Explorer CommandStore shell taskmgr]
@ = "Диспетчер завдань"
"Icon" = "taskmgr.exe"

[HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Explorer CommandStore shell taskmgr command]
@ = "Taskmgr.exe"

[HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Explorer CommandStore shell devmgr]
@ = "Диспетчер пристроїв"
"Icon" = "devmgr.dll, 4"

[HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Explorer CommandStore shell devmgr command]
@ = Hex (2): 25,00,53,00,79,00,73,00,74,00,65,00,6d, 00,52,00,6f, 00,6f, 00,74,00 , 25,

00,5c, 00,73,00,79,00,73,00,74,00,65,00,6d, 00,33,00,32,00,5c, 00,6d, 00,6d, 00,

63,00,2e, 00,65,00,78,00,65,00,20,00,2f, 00,73,00,20,00,25,00,53,00,79,00,73,
00,74,00,65,00,6d, 00,52,00,6f, 00,6f, 00,74,00,25,00,5c, 00,73,00,79,00,73,00,

74,00,65,00,6d, 00,33,00,32,00,5c, 00,64,00,65,00,76,00,6d, 00,67,00,6d, 00,74,
00,2e, 00,6d, 00,73,00,63,00,00,00

Тепер ви можете побачити, яка структура повинна бути в реєстрі.


Поділися в соц. мережах:

По темі: