Как вставить мое приложение в меню Windows правой кнопкой мыши?

2

Я хотел бы написать программу С#.NET, которая будет делать некоторые преобразования для выбранных изображений. После того, как я выберу несколько изображений на своем рабочем столе (или в любой другой папке Windows) и щелкните их правой кнопкой мыши, я хотел бы увидеть свою программу в появившемся меню. Как я могу вставить свою программу в это меню и выполнить ее при нажатии этой опции? Я был бы признателен за небольшой пример кода.

Спасибо заранее!

Теги:
windows-xp

2 ответа

3
Лучший ответ

Самый простой способ сделать это - не через код, а через записи реестра. Добавьте ключ в HKCR/filetype/Shell (где filetype - это тип файла, связанный с расширением файла, например jpegfile). Имя ключа - это ваш пункт меню (например, "Преобразование" ). В этом случае создайте ключ с именем Command и установите значение этого ключа в командной строке для вашей программы, например. c:\myprogram\myprogram.exe "%1" (% 1 - это то, где Explorer заменит имя файла файла с правосторонним щелчком).

  • 0
    На самом деле, я хочу, чтобы опция «Преобразование» автоматически добавлялась в меню каждый раз, когда я запускаю программу (и я буду запускать программу при запуске). Я не хочу входить в реестр и редактировать его каждый раз, когда я помещаю свою программу на другой компьютер.
  • 0
    Я бы по-прежнему придерживался подхода реестра: при запуске программы проверьте наличие ключа и вставьте его, если его там еще нет. Вы можете использовать классы Microsoft.Win32.RegistryXxx для этого. Я не знаю, есть ли API для «временного» добавления записей в контекстное меню или для получения обратного вызова (в отдельном процессе) для перехвата / изменения при отображении контекстного меню (я полагаю, вы можете сделать это из расширения оболочки, но тогда вам нужно загрузить свое расширение в Проводник, который обычно является настройкой реестра!). Сожалею.
Показать ещё 3 комментария
1

просмотрите этот вопрос и этот

  • 0
    Я не верю, что это решает суть вопроса - это не «как мне настроить« открыть с »для определенных расширений файлов», а «как мне выполнить пользовательские действия». Например, как мне написать команду «обновить эту папку из исходного репо».
  • 1
    open - это действие с именем «open». любое действие можно назвать открытым, или открытое можно назвать любым. В любом случае, метод «Custom Action» такой же, только вы называете его «Custom Action», а не «open».

Ещё вопросы

Сообщество Overcoder
Наверх
Меню