![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| SherbAnt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 12.1.2007 Репутация: 1 Всего: 3 |
Здравствуйте.
Такой вопрос. Пишу программу, которая особым образом выводит через фильтр файлы с жесткого диска. Дошёл до момента когда нужно, кликнув по одному из файлов в списке, вывести стандартное Explorer-ное контекстное меню. Было бы отлично, если бы тип файлов распозновался (Пример: кликнешь на mp3, в контексте высветится кроме всего прочего "Проиграть в Winamp" и т.п.). В каком компоненте хранить список файлов мне в принципе без разницы (Ну может в каком-то это сделать проще). Покопался в Microsoft Visual Studio 2005 Documentation - ничего не нащёл (хотя допускаю что плохо искал). Какие будут предложения? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Есть исходник, но он написан на С++ и подключается к шарповскому классу через [DllImport]. Подойдёт такое ?
-------------------- ![]() |
|||
|
||||
| SherbAnt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 12.1.2007 Репутация: 1 Всего: 3 |
Давай. Если можешь снабди коментами.
|
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
||||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Исходник проекта с примером - в аттаче. Пример использования:
Присоединённый файл ( Кол-во скачиваний: 24 )
WindowsApplication1.zip 107,61 Kb-------------------- ![]() |
|||
|
||||
| SherbAnt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 12.1.2007 Репутация: 1 Всего: 3 |
mr.DUDA спасибо.
Но не могу подключить всё это в свой проект. Скопировал файлы ShellContextMenu.cs и ShellContextMenu.dll в свою папку. Добавил (Add Existing Item) их. Вставил в обработчик события MouseDown твой пример. Компилю, но вылетают ошибки везде где упоменается ShellContextMenu. |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Текст ошибок, если я правильно понял, предлагается угадать
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
SherbAnt, в свойствах файла ShellContextMenu.dll выставить Copy to output directory = Copy if newer
-------------------- ![]() |
|||
|
||||
| SherbAnt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 12.1.2007 Репутация: 1 Всего: 3 |
Поменял свойства. Ошибки те же.
Код ошибки:
далее 20 точно таких ошибок, меняется только строка. |
|||
|
||||
| SherbAnt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 12.1.2007 Репутация: 1 Всего: 3 |
Всё, проблема решена. Все оказалось до безобразия просто:
У меня в проге namespase зовут FFS, а файле ShellContextMenu.cs - WindowsApplication1. Поменял и всё заработало. Всем спасибо. |
|||
|
||||
| MAG_S |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 2.8.2007 Репутация: нет Всего: нет |
Новое продолжение
У меня этот пример неработает! Вернее он работает но контекстного меню и в помине нету. Это может быть изза того что у меня Виста? Может ли ктонибуть хотябы обьяснить где хранятся данные о содержимом контекста которое создают приложения? (типа WinRAR) - это то чего нехватает в моем уже существующем контексте. В реестре упоминаний об этих пунктах нету! |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 14 Всего: 62 |
||||
|
||||
| MAG_S |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 2.8.2007 Репутация: нет Всего: нет |
я задал в поиск extract (опция extract here, и т. д.) ничего похожего
и по расширению просмотрел направления. Еслеб чтото было полюбомубы нашол (разве что зашифровали В инете написано (как я понял) эксплорер обращается к приложению и извлекает контекст Так гдеж оно тогда лежит!? |
|||
|
||||
| MAG_S |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 2.8.2007 Репутация: нет Всего: нет |
Отвечаю сам-себе Да это из-за висты. Запустил прогу под икспи там меню вылезло! mr.DUDA а какие функции использует эта библиотека? |
|||
|
||||
| _radix |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 16.6.2007 Репутация: нет Всего: нет |
Доброе время суток, уважаемые!
У меня похожая, но немного другая задача. Имеется DLL-ка контекстного меню explorer'а от программы PDF Transformer (PDFTContextmenu.dll). Нужно запускать PDF Transformer так, как делает это контекстное меню, с параметром на входе в виде PDF файла. Интерфейса командной строки у этой проги нет, SDK стоит дорого, вот я и хочу вызывать каким-то образом это контекстное меню программно. Мучать ослик хуками, вызывать его окошки и кликать программно не хочется. Посоветуйте, как сделать всё просто импортнув из DLL нужные функции? Заранее спасибо! |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |