我已經成功地創建自己的文件擴展名下面這個教程處理:http://www.codeproject.com/Articles/17023/System-File-Association自己的文件擴展名 - 雙擊不超過文件路徑
到目前爲止,它完美的作品。我只有一件我無法解決的事情。 當我雙擊帶有擴展名的文件時,我的程序打開。現在,我想在我的程序中執行一個操作。我在這裏通過一些線程,並讀取文件路徑自動傳遞給啓動參數。
問題是沒有單個參數傳遞,也是Process.GetCurrentProcess()。StartInfo.FileName返回一個空字符串。我認爲這是連續的,因爲在雙擊我的文件時我沒有傳遞任何參數。
這是我的代碼:
var fai = new FileAssociationInfo(".extension");
if (!fai.Exists)
{
try
{
fai.Create("My Extension Program");
var pai = new ProgramAssociationInfo(fai.ProgId);
if (!pai.Exists)
{
pai.Create("My Program File",
new ProgramVerb("Open", Application.ExecutablePath);
pai.DefaultIcon = new ProgramIcon(Application.ExecutablePath);
}
}
}
正如你可以看到我只能通過應用程序來打開它的路徑。但是,我現在怎麼能通過文件路徑作爲參數?我見過例如文章的作者通過「%1」作爲論據,我也嘗試過,但沒有任何改變。
在此先感謝。
Main-method不提供任何參數,正如我上面所寫的。連續「Process.GetCurrentProcess()。StartInfo.Arguments」爲我提供了一個空字符串,所以基本上沒有任何東西。 「%1」聽起來很有趣,但也沒有任何爭論。 –