win32獲取瀏覽器當前Tab的URL

2021-09-08 12:32:29 字數 2300 閱讀 8072

**都是win10上測試的

1. 獲取ie的url,enum ie視窗的子控制代碼,找到classname為edit的控制代碼,然後用sendmessage wm_gettext訊息來獲取:

上**:

1 #include 2 #include 

3 #include 456

bool callback browseriechildenumproc(hwnd hwndchild, lparam lparam)7;

9 getclassname(hwndchild, classname, 256

);10

char url[4028] = ;

1112 std::string

class_name(classname);

13if (class_name.compare("

edit

") == 0)14

19else

if (class_name.compare("

comboboxex32

") == 0)20

25else

if (class_name.compare("

tabwindowclass

") == 0)26

30else

3134

3536

return

true;37}

3839

40bool callback browserenumproc(hwnd hwndchild, lparam lparam)41;

4344 getclassname(hwndchild, classname, 256

);45

46 std::string

class_name(classname);

47//

std::cout << "window class is:" << class_name << std::endl;

48if (class_name.compare("

ieframe

") == 0)49

52else

if (class_name.compare("

edit

") == 0)53

;55 sendmessage(hwndchild, wm_gettext, sizeof

(url), (lparam)url);

56 std::cout << "

top level edit class : url

"<< url <58//

else if ()

59//

6263

64return

true;65}

6667

68int

main()

69

通過windows的動態資料交換(dde)技術來獲取firefox瀏覽器的url(不支援opera 和chrome):

1 #include 2 #include 

3 #include 4

5 #include 678

910hddedata callback

11ddecallback(uint utype, uint ufmt, hconv hconv,

12hsz hsz1, hsz hsz2, hddedata hdata,

13dword dwdata1, dword dwdata2)

1417

1819

//請求資料

20void dderequest(dword idinst, hconv hconv, char* szitem, char*sdesc)

2133

else

3441}42

43static

void

fetchfirefoxurl()

6364

char recvdata[2048] = ;

65//

請求資料

66 dderequest(iddde, hconversation, "

\\doc

", recvdata);

6768

//斷開連線,釋放資源

69ddedisconnect(hconversation);

70ddeuninitialize(iddde);

7172

7374}75

76int

main()

77

references:

win32 獲取當前焦點的幾個函式

1 以下幾個函式,均可以獲取當前的焦點所在程式的控制代碼,只是獲取的焦點資訊不一樣。getforegroundwindow getactivewindow getfocus 2 getforegroundwindow和 getactivewindow的區別 getforegroundwindow指最...

win32 截圖 獲取 資料

如下 hdc hdesktop getdc getdesktopwindow int bitperpixel getdevicecaps hdesktop,bitspixel int width getdevicecaps hdesktop,horzres int height getdevicec...

js獲取當前瀏覽器核心版本資訊

最近在研究瀏覽器版本相容性的問題,真是乙個靠經驗來支撐的事兒,只能是先看看人家總結的問題集合,然後自己去試,但是前提得有測試的環境,it tester不知道是版本問題還是自己不會設定,ie7的不能正常顯示,智慧型混搭著真實瀏覽器,chrome agent和它來測試,這裡為了能更好的區分當前用的是哪個...