2010-08-12 81 views
1

我們使用BHO和C#開發了一個Internet Explorer插件。我們還添加了一些上下文菜單操作(對於使用插件的IE)。 我們使用HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ MenuExt \下的註冊條目來添加上下文菜單條目。 有沒有辦法訂購enntries?或者添加一個分隔符?或嵌套的菜單? 目前他們都是按字母順序排列的。 非常感謝!重新排列IE上下文菜單

回答

1

據我所知,不,仍然沒有好的方法來完成這個看似簡單的任務。

對於將來的讀者,有兩種方法(OP提到的其中之一),您可以考慮添加上下文菜單項。

註冊表方法

不幸的是,有沒有方法來創建 「富」 在Internet Explorer中使用registry method菜單。簡單的「上下文」過濾是可用的,但僅此而已。總結中的鏈接描述的這種方法,首先在添加一個新的子項:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\<Menu Text> 

<MenuText>是在Internet Explorer中的上下文菜單中顯示的文本。對於加速鍵使用&確實按預期工作。

(Default)值設置爲要執行的腳本文件的路徑。這可能是Javsascript,VB腳本等。如果你正在創建一個BHO,將它與你的DLL/EXE打包是明智的;使用res://訪問它。例如,我的系統中有一個名爲E&xport to Microsoft Excel與值的條目:

res://C:\PROGRA~2\MICROS~1\Office12\EXCEL.EXE/3000 

的IDocHostUIHandler方法

這種方法可有效取代IE的整個上下文菜單中選擇一個您的BHO產生編程。雖然非常靈活,但它是highly discouraged。如果不止一個BHO試圖這樣做,結果可能是災難性的。我在CodeProject的Pop-Up Blocker tutorial上找到了這個方法的一個工作例子,但是由於上述原因我沒有嘗試過。

延伸閱讀:

我積極工作的一個項目,該項目包含許多組件。如果我找到任何直接的解決方案,我會盡量保持這篇文章的更新。

+0

+ 1,雖然你不由的海報,你肯定有所幫助我,謝謝。 – 2011-07-15 17:48:46