我試圖將新條目添加到Internet Explorer的右鍵單擊上下文菜單中。我知道這可以通過創建一個包含JavaScript的HTML文件,然後從註冊表中的一個位置鏈接到這個文件來實現。我還讀到,您還可以將HTML添加到資源文件並將其編譯到DLL中(請參閱Microsoft KB:Adding Entries to the Standard Context Menu)。這是我開始遇到問題的地方。將項目添加到Internet Explorer的右鍵單擊上下文菜單
以下是我迄今爲止所做的一些背景介紹。
- 我有一個文件
C:\test.htm
在以下JavaScript:
<script type="text/javascript"> alert('Hello, world!'); </script>
- 我已在以下位置在註冊表中添加了一個新的
REG_SZ
值'c:\test.htm'
:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt
如果我現在重新啓動IE,我的新菜單項出現在上下文菜單中。如果我選擇我的新菜單項,我的消息框警報將按預期顯示。到現在爲止還挺好。但是,我似乎無法訪問該腳本,如果它在一個DLL中。下面是我所採取的步驟:進口我C:\test.htm
到默認的文件app.rc
資源文件
- 創建於2005年VS一個新的Visual C++類庫項目名爲
'IETest'
在c:\IETest
- 。我已經改變了
ID
是TEST
- 編譯
- 改變了註冊表項,在調試模式下DLL閱讀
res://C:\IETest\debug\IETest.dll/TEST
如果我現在重新啓動IE瀏覽器,然後再試一次,消息當我右鍵單擊並選擇我的新的上下文菜單項時,框不會出現。我也嘗試了DLL的發佈版,沒有任何運氣,並試圖用逗號代替最後一個正斜槓,並將雙反斜槓的路徑更改爲雙斜槓。
我只能假設我在創建我的DLL時做了一些錯誤。任何人都可以將我指向正確的方向嗎?有什麼辦法可以檢查編譯的DLL來檢查資源和關聯的ID嗎?
謝謝。
當你說「提醒」你真的是「上下文菜單項」? – Eddie 2009-04-24 16:35:57
如果我在第一個示例中使用JavaScript,當選擇我的新的上下文菜單項時,會出現'alert'消息框。我遇到的問題是當我嘗試將這個JavaScript添加到一個新的DLL。 我將更新條目以使版權清晰一些。 – 2009-04-24 18:45:39