前言
本人是在家中上網,經常有一些BBS的密碼懶得記了,就用IE的自動密碼保存功能,這樣一來是方便了,但卻有一個麻煩,一旦機子不行了,想要重裝操作系統了,這些密碼卻也取不出了,還得重新申請,好麻煩!因此我就寫了一個工具,可以取得網頁密碼框的密碼.
因為網頁密碼框不是一般的EDIT控件,因此不能取得網頁密碼框的句柄.要實現這個功能,只好通過WebBrowser控件的有關COM接口了.因此取得這些接口是整個程序的關鍵.有兩種方法可以取得WebBrowser控件的接口,接下來我們會逐一介紹,並提供示例源代碼供大家參考。
示例程序運行效果圖
第一種方法:使用腳本語言和IE右鍵菜單
我們可以使用注冊表來控制IE右鍵菜單.當你裝了FlashGet(網際快車)時,你會發現IE右鍵菜單多了兩項:"使用網際快車下載"和"使用網際快車下載全部鏈接",而這時你打開注冊表,在HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\下有這兩個主鍵.這兩個主鍵下都有兩個值,一個是默認的串值,指定了選擇了這個菜單命令要打開的URL,IE在一個隱藏的窗口打開它,並這個隱藏窗口的external.menuArguments值設為當前窗口對象,執行完URL對話網頁包含的腳本程序該窗口自動關閉.另一個名稱是contexts是DWORD值,指定了在什麼情況下需要顯示這個菜單項.具體的值見下.
(0x1 << CONTEXT_MENU_DEFAULT) (等於 0x1) //缺省時顯示
(0x1 << CONTEXT_MENU_IMAGE) (等於 0x2) //右鍵點擊圖像時顯示該項
(0x1 << CONTEXT_MENU_CONTROL) (等於 0x4) //右鍵點擊表單元素時顯示該項
(0x1 << CONTEXT_MENU_TABLE) (等於 0x8) //右鍵點擊表格時顯示該項
(0x1 << CONTEXT_MENU_TEXTSELECT) (等於 0x10) //右鍵點擊高亮選擇的文本時顯示該項
(0x1 << CONTEXT_MENU_ANCHOR) (等於 0x20) //右鍵點擊鏈接時顯示該項
(0x1 << CONTEXT_MENU_UNKNOWN) (等於 0x40)//右鍵點擊網頁中除上以外的地方顯示該項
現在我們寫一段腳本程序以獲取密碼框的值.
本文示例代碼或素材下載