Отображение контекстного меню windows (файл/каталог) в приложении c# winforms
Я пытаюсь отобразить стандартное контекстное меню файла / каталога в приложении WinForms - я хотел бы позволить пользователю делать вещи с файлами в моем приложении, как он мог в Проводнике.
должно быть два варианта
- всплывающее контекстное меню с некоторым системным вызовом
- прочитайте все из системного контекстного меню и вставьте его в мое контекстное меню
не могли бы вы указать мне в правильном направлении? Спасибо
2 ответов
Я написал библиотеку .NET, чтобы разрешить это. Вы можете найти его здесь:
http://gong-shell.sourceforge.net/
класс, который вы ищете, является ShellContextMenu в этой библиотеке.
Это может оказаться очень сложным, поэтому я предлагаю два решения:
-
(легко) используя библиотеку, которую предложил Гроки,сделать то, что сделано в FolderSizes. контекстное меню Проводника показано как суб-меню. Вы можете имитировать это, отображая меню проводника, когда элемент" операция проводника " завис.
(жесткий) если это недостаточно, вы можете пройти весь путь и получить меню из оболочки, и создайте свое собственное меню. Эта статья CodeProject (http://www.codeproject.com/KB/miscctrl/FileBrowser.aspx) проходит процесс перечисления и вызова команд оболочки для определенного объекта оболочки и перечисления подменю.