2011-12-26 68 views
0

我有一個程序,我添加到資源管理器的右鍵菜單。當我在單個文件或單個文件夾上運行它時,它將分別運行帶有%1參數的程序,如註冊表項HKCR\*\shell\program\command\myprogram.exe %1HKCR\folder中分別指定的文件和文件夾。這工作正常,但問題是當我選擇多個文件/文件夾,因爲它然後執行每個選定的程序。我知道這是應該發生的事情,但我希望能夠像處理多個選擇一樣處理多個選擇,然後對參數進行foreach。有什麼辦法可以做到這一點?任何建議,非常感謝。通過註冊表傳遞多個參數

+0

你需要幫助*將參數傳遞給應用程序* __OR__ on *處理應用程序中的參數*?假設第一個是安全的嗎? – Adam 2011-12-26 12:42:59

+0

是的,它是第一個,我可以在傳遞給應用程序時處理參數。問題是,當我選擇多個文件時,他們都會調用reg鍵,創建一個單獨的程序實例,我希望能夠只調用一次。我會發布我的代碼,但那只是處理傳遞的參數。 Tbh我想我可能會以錯誤的方式解決這個問題,這就是爲什麼我需要幫助,謝謝。 – 2011-12-26 12:47:15

+0

嗯,也許你可以寫一個批處理文件,將所有文件名傳入你的應用程序,並將其放入上下文菜單中[像這樣](http://www.pcreview.co.uk/forums/multiple-commands-w -context菜單的註冊表條目,t3867872.html)? – Adam 2011-12-26 12:50:48

回答

1

據我所知,沒有辦法通過註冊表來實現。
相反,您將不得不創建一個外殼擴展。

以下是有關外殼擴展的一個很好的教程:
http://www.codeproject.com/KB/cs/dateparser.aspx
而這裏的上編寫處理多個文件外殼擴展教程:
http://www.codeproject.com/KB/shell/shellextguide2.aspx
我希望他們兩個人的結合,將幫助您創建整個處理。

+0

謝謝,我想這就是我一直在尋找! – 2011-12-27 12:22:36

0

戰鬥這幾天,不喜歡這個解決方案之後,我發現了以下工作對我來說:

程序 「%1%2%3%4%5%6%7」

的引號是什麼讓它工作。