這是個老梗了,也沒什麼技術含量。因為自從接觸linux之後,windows上我所知道的那一點api基本上都忘光了。所以這樣的博文可以當做是備忘,說不定有天還能用的到。
windows上想要獲取瀏覽器的位址列資訊,基本思路是列舉瀏覽器的子窗體,然後獲取hwnd(handle of window),最後使用sendmessage & wm_gettext(或者 getwindowtext大體上沒什麼區別)。好,基於這樣的事實,我們來做個簡單的實現。
1.獲取ie視窗
這個很簡單通過findwindow就可以做到,前提是我們已經知道了ie8的classname(視窗的類名稱)是「ieframe」。這樣的話,用findwindow這樣的函式,就可以直接獲取。當然,如果你是像獲取chrome這類瀏覽器,請先在spy++中抓取視窗看看類名稱。
2.通過列舉得到位址列子窗體
使用spy++可以很輕鬆地得到ie8的子窗體分布情況,請看下圖:
下面兩個我就不列出來了(因為編輯這個太累了),我們需要獲取的是這樣乙個路徑:ieframe->workerw->rebarwindow32->address band root->edit。
到此為止基本上問題分析就已經結束了,直接上**吧(敘述真累人)。
3.**
private如上所示,獲取ie8位址列url資訊的函式就實現了。我沒有寫函式宣告,和容錯處理,因為這樣的函式是在確定ie8在執行的情況下執行的(當然你可以改寫)。function getie8url() as
string
dim hwnd as
long
'default 0, which eq top-hwnd.
dimlpsz1
dim url as
string * 2048
dim length as
long
foreach lpsz1 in array("
ieframe
", _
"workerw
", _
"rebarwindow32
", _
"address band root
", _
"edit")
hwnd = findwindowex(hwnd, 0&, lpsz1, vbnullstring)
next
length = sendmessage(hwnd, wm_gettext, 2048&, byval
url)
getie8url = left
(url, length)
end function
c 獲取IE位址列中的URL
一直在想測試使用者行為分析的時候,通過程式 本地服務程式 獲取ie上的url位址,對當前的url分析,並結合我的情況分析我的行為方式。現在瀏覽 的時候偶然看到了幾行 不知道原始出處,就暫時 記錄下來。name 的值 屬性configurationfile dynamic base dynamicba...
獲取url位址列的引數
獲取url位址列的引數 var url window.location.href var index url.substring url.lastindexof 1 1 window.location.href 整個url字串 在瀏覽器中就是完整的位址列 2 window.location.prot...
如何獲取位址列 號前面的引數和位址列最後的引數
外部跳轉vue專案時自帶引數,例如 http 1.外部進入的url會放在vue專案編譯以後自動加 其中帶的引數在 之前 那麼我們只能用js的方法來獲取 var url window.location.href 獲取當前url var dz url url.split 0 獲取 之前的字串 var c...