Написание расширений пространства имен с интеграцией Windows 7 - PullRequest
1 голос
/ 09 декабря 2011

Я новичок в расширениях темы и ищу ресурсы о расширениях пространства имен. Я хотел бы написать расширение пространства имен, которое поддерживает SFTP со всеми параметрами для просмотра, как FTP в проводнике.

Я прочитал примеры 1 , 2 zengxi из codeproject, но они не компилируются правильно и кажутся устаревшими. Я думаю, что было также много изменений, таких как выбор папки в адресной строке.

Может ли кто-нибудь предоставить мне некоторые ресурсы в правильном направлении или несколько рабочих примеров?

UPDATE: Важно, чтобы источник был бесплатным. Это некоммерческий проект.

На данный момент я нашел хороший источник в MSDN, который называется Пример провайдера данных Explorer . Это актуально и предоставляет некоторые псевдонимы Explorer Data Provider и Shell Data Source. Чего пока не хватает, так это поддержки drop & drag и клея для поддержки протокольных ссылок.

Для будущего использования было бы замечательно найти способ связать расширение файла с такими shell data source, как zip-файлы.

Ответы [ 3 ]

1 голос
/ 19 декабря 2011

Для Drag & Drop эта серия статей - отличное начало.После того, как я понял, что файлы должны иметь флаг, можно копировать, перемещать и т. Д. У меня было почти решение.Магия заключалась в том, чтобы добавить одну строку в GetAttributesOf:

*rgfInOut |= SFGAO_CANCOPY|SFGAO_CANMOVE;

Также мне пришлось опубликовать IDataObject в GetUIObjectOf следующим образом:

if(riid == IID_IDataObject) {
    PWSTR pszName;
    hr = _GetName(apidl[0], &pszName);
    hr = SHCreateDataObject(m_pidl, cidl, apidl,
                            new CFileDataObject(pszName), riid, ppv);
} else if(riid == IID_IDropTarget) {
    // TODO publish
    return E_NOINTERFACE;
}

Вот и все.1012 *

Кстати, как лучше распределить CFileDataObject здесь?

1 голос
/ 23 августа 2012

Вот полный пример создания пространства имен для сопоставления реальных файлов на Flickr. Однако доступны только исходные коды. Нет учебника. Надеюсь, поможет.... http://www.viksoe.dk/code/flickrdrive.htm

0 голосов
/ 12 декабря 2011

Взгляните на библиотеку EZNamespaceExtensionsMFC , которая упрощает разработку расширений пространства имен. Посмотрите его примеры FileBrowser и RegBrowser, которые вы можете использовать в качестве отправной точки.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: я работаю в LogicNP Software, разработчике EZNamespaceExtensionsMFC

...