我已經使用註冊表在Windows資源管理器的上下文菜單中添加了一個項目。 我想,當用戶右鍵單擊文件,然後單擊我添加的上下文菜單項然後應用程序必須執行以及該文件的位置必須可用。在右鍵單擊文件時執行兩個任務,c#
我的申請得到執行,但我不能獲取文件對我右側點擊
我已經使用註冊表在Windows資源管理器的上下文菜單中添加了一個項目。 我想,當用戶右鍵單擊文件,然後單擊我添加的上下文菜單項然後應用程序必須執行以及該文件的位置必須可用。在右鍵單擊文件時執行兩個任務,c#
我的申請得到執行,但我不能獲取文件對我右側點擊
您具體是如何添加上下文菜單項的路徑?您需要通過將%1
放入要執行的命令行來完成文件名的傳遞。
所以,如果你當前正在執行的命令是
"C:\Program Files\MyCoolProgram\mcp.exe"
應該
"C:\Program Files\MyCoolProgram\mcp.exe" %1
到這裏看看:A simple C# function to add context menu items in Explorer並注意這部分:
AddContextMenuItem(".zip", "ZipStrip",
"Open with &ZipStrip", Application.ExecutablePath + " %1");
這方式您將收到完整的文件路徑作爲您的第一個參數Main(string args[])
編輯:如果您需要處理包含空格的參數,試試這個:
AddContextMenuItem(".zip", "ZipStrip",
"Open with &ZipStrip", Application.ExecutablePath + " ""%1""");
這樣,你的說法將括入雙引號,保留該空格。
該路徑作爲命令行參數傳遞。通過調用Environment.GetCommandLineArgs
method
static void Main(string[] args) {
// the path is passed in the `args` array.
}
還應提供:在入口點,您可以通過定義string[]
說法訪問它。