Добавить пункт меню в Window

Def

Новичок
Пользователь
Май 21, 2022
10
0
1
Odessa UA
Здраствуйте. Есть мини скрипт на Pyton мониторит буфер обмена.

При нажатии правой кнопки мыши(в windows) появляется меню -> Копировать и тд...
Как в это меню добавить свой пункт меню? Задумка в том что при копировании с использованием своего пункта меню данные попадают только в заданный каталог
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Например через реестр

Добавление элементов в контекстное меню​

Ключ
Ключ зависит от того, для чего создается контекстное меню
  • [HKEY_CLASSES_ROOT\*\shell\{name} - Для всех файлов

  • [HKEY_CLASSES_ROOT\{type}\shell\{name} - Для файлов одного типа
    • Чтобы узнать тип, надо посмотреть значение по умолчанию в разделе [HKEY_CLASSES_ROOT\{.extension}]
  • [HKEY_CLASSES_ROOT\Folder\shell\{name}] - Для папки
  • [HKEY_CLASSES_ROOT\Drive\shell\{name}] - Для запоминающих устройств
  • [HKEY_CLASSES_ROOT\DesktopBackground\Shell\{name}] - Для рабочего стола

Отображение
Параметры
  • default - Текст элемента в меню

  • Icon - Путь к иконке для элемента
    • Можно указать путь к exe файлу

  • Position - Расположение пункта в меню
    • Top / Bottom
  • Extended - Пункт меню виден только при нажатом Shift

Действие
В подразделе command значение default
  1. Можно задать путь к файлу, через пробел указать "%1", тогда при запуске файла ему передастся путь к файлу, на котором было вызвано меню
  2. Можно использовать синтаксис cmd или powershell для более сложной команды, несколько команд разделять ;

Выпадающий список
Не создавать подраздел commad, а создать параметр SubCommands, где через точку с запятой указать названия элементов подменю (не текст элементов подменю)
В разделе
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell]
Создать разделы с такими же названиями, каждый из них настроить как пункт меню (default, Icon, Command)
 
  • Мне нравится
Реакции: Def

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
# Введение
Реестр windows - хранилище параметров windows

Открыть можно как приложение `Редактор реестра` или `Win+R`-> `regedit`

У реестра есть разделы (папки), параметры (файлы) и значения (данные в файле)

путь к разделу - ключ

---
# Способы редактирования реестра
## Вручную
Через встроенные редактор реестра или через сторонние программы, например `Reg Organizer`

---
## Reg файлами
Файл `.reg` нужен для редактирования реестра
Имеет формат файла конфигурации

- Комментарий начинается с `;`
- Ключ реестра пишется в `[]`
- Для удаления раздела вместе с содержимым, перед ключом ставится `-`
- Параметр реестра и его значение пишутся через `=`
- Чтобы задать значение по умолчанию (default) вместо имени используется `@`
- Чтобы удалить значение реестра после `=` поставить `-`
- У параметра и значения можно опускать кавычки при отсутствии пробелов

``` ini
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE]
"SmartScreenEnabled"="Off"
"SmartScreenEnabled"=-

[-HKEY_CURRENT_USER\Software]
"EnabledV9"=dword:00000000
```

Возможные форматы значения
- `dword` -
- `hex:00,00,00,00` - Двоичный параметр, hex числа
- `hex(2):00,00`
- `hex(7):00,00,00,00,00,00,00`

---
## Командной строкой и bat файлами
`reg add <ключ> /t <формат> /v <параметр> /d <значение> /f`
[Остальные команды](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/reg)
 
  • Мне нравится
Реакции: Def

Форум IT Специалистов