簡體   English   中英

集成到 Windows 資源管理器上下文菜單中

[英]Integrating into Windows Explorer context menu

我想寫一個小工具,它執行以下操作:

當您右鍵單擊具有特定文件擴展名的文件時,Windows 資源管理器上下文菜單會顯示一個附加條目。

當您單擊此條目時,將使用此文件作為其參數之一啟動某個 EXE。

我想為此使用 C#/.NET 2.0。 如果不可能,我也可以用 C++/Win32 來完成。

我的問題是:

  1. C# .NET 2.0 有可能嗎?
  2. 集成到 Windows 資源管理器上下文菜單中的必要功能是什么?
  3. 我怎樣才能使它永久化? (我不想在每次啟動后重新啟動這個工具)
  4. 我需要特別注意什么? (不同的操作系統、安全權限等)

您將需要訪問注冊表並在root\\\\File\\\\shellroot\\Folder\\\\shell下添加一個鍵,具體取決於您希望菜單項可見的項目。

在 CodeProject試試這篇文章,它非常有用。

編輯:這里還有另一篇文章可能會有所幫助。

順便說一句,不支持將 .NET 用於外殼擴展,因為當前無法在同一進程中承載多個運行時版本(.NET 4 將取消此限制)。

考慮一下您有兩個 shell 擴展的情況; 一種用於 .NET 3.5,一種用於 .NET 1. 哪個運行時將加載到您的進程中? 好吧,它或多或少是隨機的——這取決於首先加載哪個 shell 擴展。 有時可能是 2.0 運行時,有時可能是 1.1 運行時。

如果 .NET 程序創建通用文件對話框,這也是一個問題; 您的 shell 擴展可能會或可能不會加載,並且可能會或可能不會以正確的運行時版本運行。

因此,如果您沿着Shell 擴展路線走下去,您應該使用本機 C++/COM/Win32。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM