2011-12-08 43 views
1

我是新手,主題爲shell擴展,我在尋找關於命名空間擴展的資源。我想寫一個支持SFTP的命名空間擴展,其中包含所有選項,以在瀏覽器中像FTP一樣瀏覽。與Windows 7集成編寫命名空間擴展

我從codeproject上看了zengxi的示例1,2,但是它們不能正確編譯,看起來很老。我認爲地址欄中的文件夾選擇也有很多變化。

有人可以提供一些正確的方向或一些工作實例的資源嗎?

更新: 來源是免費的是很重要的。這是一個非營利性項目。

目前我在MSDN上發現了一個名爲Explorer Data Provider Sample的好源代碼。這是最新的,並提供了一些別名Explorer Data ProviderShell Data Source。目前還缺少的是拖動支持和一個支持協議鏈接的膠水。

對於將來的使用,找到一種將文件擴展名與shell data source(如zip文件)相關聯的方法非常好。

回答

1

的開發商將&降工作,this series of articles是一個偉大的點開始。在我瞭解到這些文件必須具有該標誌可以複製,移動等之後,我幾乎可以找到解決方案。神奇的是,在GetAttributesOf添加一行:

*rgfInOut |= SFGAO_CANCOPY|SFGAO_CANMOVE; 

此外,我不得不發佈IDataObjectGetUIObjectOf這樣的:

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的最佳做法是什麼?

0

查看EZNamespaceExtensionsMFC庫,這使得開發名稱空間擴展變得非常容易。查看可以使用起點的FileBrowser和RegBrowser示例。

聲明:我LogicNP軟件,EZNamespaceExtensionsMFC

+0

我看到了你的產品。它看起來完全像我正在尋找,但我不能購買許可證。目前這是一個非盈利項目的想法,我也想知道名稱空間擴展如何工作。 – rekire

1

下面是在Flickr上創建名稱空間以映射真實文件的完整示例。 但是,只有源代碼可用。沒有教程。 希望它有幫助.... http://www.viksoe.dk/code/flickrdrive.htm

+2

雖然這可能在理論上回答這個問題,但[這將是更可取的](http://meta.stackexchange.com/q/8259)在這裏包含答案的重要部分,並提供供參考的鏈接。 –