Как я могу расширить поведение Windows Explorer Нажмите или Расширение поведения оболочки - PullRequest
0 голосов
/ 12 августа 2010

Можно ли как-то расширить или изменить поведение щелчка в проводнике Windows?

Например, я хочу изменить событие щелчка.При нажатии на диск, я должен иметь возможность подключиться к FTP-серверу, а не открывать диск.Диск будет подключенным.

Так что я хочу изменить стандартное поведение Windows Explorer Click или расширение поведения оболочки (я не уверен, относится ли это к расширению оболочки).

1 Ответ

1 голос
/ 12 августа 2010

Хм, это немного за "клик".Вы должны написать расширение оболочки.Делать это в C # было довольно запрещено до .NET 4.0 из-за проблемы с внедрением версии CLR.Неуправляемые программы (скажем, «Блокнот») вводят в них CLR, когда они используют диалог оболочки, такой как FolderBrowser или OpenFileDialog.Что может привести к сбою последующего кода, что требует другой версии CLR.Это решено, CLR 4.0 поддерживает параллельную работу в памяти нескольких версий CLR.

Что не решено, так это сложность кода, который вам нужно написать.Расширения оболочки требуют COM-код.Жесткий вид, интерфейсы, которые происходят от IUnknown.Чтобы даже начать, вам нужно написать массу объявлений для интерфейсов COM.Вы не можете получить их из объявлений SDK, они могут использоваться только программой на C ++.И это очень подвержено ошибкам, C # не поддерживает множественное наследование, особенность, которую вам нужно было бы объявить COM-интерфейсами, производными от других интерфейсов.

И последнее, но не менее важное, отладка такого рода кодакошмарный сон.Это важный процесс Windows, с которым вы работаете.Ошибка делает вас непригодной оболочкой.Перезагрузка запускает ту же скорлупку.

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

...