2011-01-22 4 views
1

В настоящее время я пишу приложение с WPF в фреймворке 3.5 SP1, и мне нужно расширить свою функциональность в контекстном меню Windows Explorer, например, как Winzip или Winrar или кто-либо еще, когда пользователь щелкает правой кнопкой мыши по файлу или папка.манипулировать контекстным меню проводника Windows

Я много изучил, некоторые сказали, что реестр реестра, который после того, как я попробовал, довольно негибкий. Потому что мне нужно подменю в моем контекстном меню, а также значки.

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

Программирование оболочки требует знания программирования COM, которому нужно время, чтобы узнать.

Для всех статей, которые я нашел об изменении контекстного меню проводника Windows, они в основном опубликованы в 2003 году, 2005 и т. Д., Это 5 лет назад, я имею в виду, что после 5 лет разработки есть ли какие-либо новые технологии, которые могут это возможно в текущей инфраструктуре .net, например, 3.5 SP1 или 4.0 с использованием C#?

Спасибо.

+0

вероятно DUP этого одного http://stackoverflow.com/questions/2194572/windows-shell-extension-with- c –

ответ

0

Добавление приложения правой кнопкой мыши на каждой папке

Вот как добавить любое приложение в контекстное меню при щелчке правой кнопкой мыши на любой папке. Таким образом, вам не обязательно всегда идти в меню «Пуск». Когда вы щелкните правой кнопкой мыши по любой папке, вы можете получить доступ к этому приложению, так же как и к Sent To.

  1. Open RegEdit
  2. Перейти к HKEY_CLASSES_ROOT \ Folder \ оболочки
  3. Добавить новый ключ к "Shell" Key и назовите его как угодно.
  4. Дайте ему значение по умолчанию, которое будет отображаться при щелчке правой кнопкой мыши папку, т.е. Проточите новый ключ (используйте «&» без кавычки, перед любым характером и это позволит вам использовать клавиатуру)

  5. Нажмите на ключ HKEY_CLASSES_ROOT \ Folder \ оболочки \ Проточите новый ключ

  6. добавить новый ключ с именем Command
  7. Установите (по умолчанию) значение приложения, которое вы хотите запустить
  8. для экзамена PLE: C: \ файлы программы \ Internet Explorer \ iexplore.exe (Включить полный путь и параметры , если вы нуждаетесь в них)

код писать для вас ....

Edit:

код в C# (для папок)

private void button1_Click(object sender, EventArgs e) 
    {   
     Microsoft.Win32.RegistryKey contextMenuKey = Registry.ClassesRoot.CreateSubKey(@"Folder\shell\MyName\command"); 
     //MyName is name to display 
     contextMenuKey.SetValue(null, @"c:\program files\internet explorer\iexplore.exe"); 
     //null or "" to set value in (Default), full path of your application 
    } 
+0

спасибо. Но то, что я хочу, немного сложнее, чем это. Я хочу включить меню с иконкой на левой стороне и с подменю. – VHanded

0

Чтобы сделать дополнительный вход в Windows Explorer, контекстное меню Вам необходимо будет добавить два ключа к югу в реестре окна в HKEY_CLASSES_ROOT \ Folder \ оболочка

Эти ключи:

  1. Папка \ оболочка \ MyProduct: значение этого ключа будет отображаться как текст в новом контекстном меню нового проводника Windows. Вы также можете добавить значок в элемент контекстного меню, добавив значение к ключу 1 и назовите его «Значок», а затем установите путь к значку в качестве значения.

  2. Папка \ оболочка \ MyProduct \ команда: укажите путь к приложению, которое вы хотите запустить.

Вот ссылка для получения дополнительной информации и образцов C# код: http://newapputil.blogspot.in/2016/12/adding-new-item-to-context-menu-of.html

Смежные вопросы