2010-02-23 65 views
4

嗨沒有人知道如何獲得Windows資源管理器通過傳遞多個文件/文件夾在註冊表中引用的外部應用程序(C#)?通多個文件/文件從Windows文件夾瀏覽到外部應用程序

我目前能夠使用的%1語法在單個文件/文件夾的作用,但不知道如何讓資源管理器中通過多個項目。

有誰知道如何做到這一點?

+1

你有沒有考慮拖放? – jdigital 2010-02-23 04:03:42

+0

嗨,是的,我認爲這個,但寧願使用瀏覽器中的上下文菜單。 – Grant 2010-02-23 04:13:57

+0

請參閱http://stackoverflow.com/questions/9355/programatically-select-multiple-files-in-windows-explorer – 2010-02-23 04:15:27

回答

2

當你在資源管理器中選擇多個文件,您的外殼上下文菜單擴展的IShellExtInit ::初始化方法將被調用,pdtobj包含的選擇。 不支持編寫託管shell擴展的注意事項。

+0

支持,smuportted。我們不需要steenkin運動! ;-) – 2010-02-23 05:33:57

+1

+1表示不支持編寫託管shell擴展。 – 2010-02-23 05:47:42

+1

最新的.Net 4.0運行時支持使用早期的.Net運行時並行加載.Net 4.0運行時(以及所有未來運行時)。 請參閱從http://msdn.microsoft.com/en-us/magazine/ee819091.aspx 以下摘錄「,具有在多進程運行時與其他運行時的能力,我們現在可以提供編寫託管普遍支持外殼擴展 - 甚至是那些在機器上運行的任意應用程序。「 – logicnp 2010-02-23 08:11:01

2

我不認爲這是可能的。

當您打開使用資源管理器的多個文件,就會啓動程序的一個獨立的副本文件。我不認爲有可能重寫這種行爲。

編輯:我忘了外殼擴展。這個有可能。

要解決此問題,可以使後續副本與第一個副本通信,然後退出。有關詳細說明超出了本答案的範圍。

0

爲了可靠地執行此操作,您需要編寫一個shell擴展,最有可能是sendto實現。

我沒有寫一個,因爲VB6但你可以找到什麼看起來是一個很好的管理例如here

或者你可以使用一個freeware utility

相關問題