2016-03-07 11 views
1

В C# .net (настольное приложение). Теперь по правому щелчку папки или файла - после нажатия на «отправьте» -> «почтовый получатель», я хочу открыть приложение. Я могу сделать это с помощью dll, я хочу сделать dll в C#. вот моментальный снимок, который я хочу сделать - Image is taken from the google - "send to mail recipient" - процесс, стоящий за задачей, - после щелчка на почте, получатель-проводник делает вызов в реестр, берет путь к dll, он читает dll. В dll есть код, который идентифицирует файл или папку, генерирует путь к файлу или папке и вызывает «мое почтовое приложение» с параметром, который имеет путь к файлу или папке.При щелчке по электронной почте получателя вызовите функцию C# и получите файл или папку, на которую она нажата.

Для этого я сделал записи в реестре, в которых я указываю адрес пути, и они совершенны. Теперь вопрос с DLL. Я не знаю, как создать dll в C#, на самом деле проблема заключается в том, как указать точку входа в dll с помощью кода C# и как передать информацию о файлах или папках.

Итак, мой вопрос находится на клике «почтовый получатель», как вызвать функцию, которую я указал в dll? Вы также можете дать мне общее представление о том, как это сделать.

+0

Возможный дубликат [Указатели для записи элементов контекстного меню для проводника Windows] (http://stackoverflow.com/questions/8671865/pointers-for-writing-context-menu-items-for-windows-explorer) – BugFinder

+0

@BugFinder Контекстное меню, которое вы говорите, IContextMenu сделает задачу для меня - когда пользователь щелкнет правой кнопкой мыши в проводнике, инициализация метода IContextmenu будет называться firs т. Но я хочу, теперь создается контекстное меню, и есть опция «Отправить» -> «Получатель почты», теперь, когда я нажимаю на нее, explorer вызывает DLL-файл. Если я делаю dll в C++, я могу войти в dll, но с C# dll я не могу войти в dll. У вас есть какое-то предложение, как это сделать. В конце у меня есть альтернативный вариант C++. –

ответ

0

Если вы google theres много информации там. переполнение стека обычно не отвечает на такие общие широкие вопросы - но это было покрыто много раз .. некоторые ссылки, которые вы могли бы

Adding app as a context

Stack over flow questions on this very subject (это один закрыт, но есть ссылки на все остальные)

+0

Да есть решения, но все они в C++, и они использовали dll. И о ссылке «Добавление приложения как контекста», я очень хорошо знаю об этом. Теперь проблема заключается в том, что я хочу создать dll в C#, в C++ вы можете определить точку входа, используя «BOOL APIENTRY DllMain (HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)», поэтому, когда процесс присоединен к dll, он запускается автоматически , Я хочу сделать то же самое C#. То, что я не могу сделать. Итак, у вас есть решение для этого, или вы также дадите альтернативное решение. –