1

シェル拡張のトピックは初めてで、名前空間拡張に関するリソースを探しています。エクスプローラーでFTPのように参照するためのすべてのオプションを備えたSFTPをサポートする名前空間拡張機能を作成したいと思います。

codeprojectからzengxiの例1、2を読みましたが、正しくコンパイルされず、古いようです。アドレスバーでのフォルダ選択など、多くの変更があったと思います。

誰かが私に正しい方向のいくつかのリソースまたはいくつかの実用的な例を提供できますか?

更新: ソースが無料であることが重要です。これは非営利プロジェクトです。

現時点では、MSDNでExplorer DataProviderSampleという優れたソースを見つけました。これは最新であり、いくつかのエイリアスExplorer Data Providerとを提供しますShell Data Source。まだ欠けているのは、ドロップアンドドラッグのサポートとプロトコルリンクをサポートするための接着剤です。

shell data source将来の使用のために、ファイル拡張子をzipファイルのようなものに関連付ける方法を見つけるのは素晴らしいことです。

4

3 に答える 3

1

Drag&Dropの場合、この一連の記事は開始点として最適です。ファイルには、コピー、移動などのフラグが必要であることを理解した後、ほぼ解決策がありました。魔法は次のように1行追加することでした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;
}

それで全部です。

ちなみに、CFileDataObjectここで割り当てるためのベストプラクティスは何ですか?

于 2011-12-19T01:32:12.377 に答える
1

これは、Flickr上の実際のファイルをマッピングするための名前空間を作成する完全な例です。ただし、利用できるのはソースコードのみです。チュートリアルはありません。お役に立てば幸いです 。http://www.viksoe.dk/code/flickrdrive.htm

于 2012-08-23T02:26:58.847 に答える
0

名前空間拡張の開発を非常に簡単にするEZNamespaceExtensionsMFCライブラリを見てください。開始点として使用できるFileBrowserとRegBrowserのサンプルを確認してください。

免責事項:私はEZNamespaceExtensionsMFCの開発者であるLogicNPソフトウェアで働いています

于 2011-12-12T09:07:29.170 に答える