2010-08-12 1 views
0

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

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

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

ответ

1

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

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

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

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

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

  • Нет связанных вопросов^_^