4000-520-616
欢迎来到免疫在线!(蚂蚁淘生物旗下平台)  请登录 |  免费注册 |  询价篮
主营:原厂直采,平行进口,授权代理(蚂蚁淘为您服务)
咨询热线电话
4000-520-616
当前位置: 首页 > 新闻动态 >
热卖商品
新闻详情
AutoHotkey纯命令获取Chrome等浏览器的当前网址 - osc_65w0uouu的...
来自 : 开源中国 发布时间:2021-03-25
昇腾众智计划火热上线!140个算子/模型等你来挑战!>>>

网上大部分都是模拟手工操作(激活地址栏并复制)的方式获取,从论坛里找到了纯命令的方式,并已转成AutoHotkey v2版本。

是通过浏览器的class类来获取的,相信用AutoHotkey的人对此不陌生

来源:https://www.autohotkey.com/boards/viewtopic.php?f=6 t=3702

hyf_getUrlFromBrowser(cls:=\"Chrome_WidgetWin_1\") reg := \"i)^(Chrome_WidgetWin_1|ApplicationFrameWindow|Chrome_WidgetWin_0|Maxthon3Cls_MainFrm|MozillaWindowClass|Slimjet_WidgetWin_1)$\" if (cls ~= reg) return hyf_getUrlByACC(cls) else return hyf_getUrlByDDE(cls) { ;通过Surfingkeys获取网址,通过剪切板传输 clipboard := \"\" send(\"{alt down}c{alt up}\") ClipWait(1) u := clipboard return u; https://www.autohotkey.com/boards/viewtopic.php?f=6 t=3702hyf_getUrlByACC(cls:=\"Chrome_WidgetWin_1\") accAddressBar := GetAddressBar(Acc_ObjectFromWindow(WinGetID(\"ahk_class \" . cls), 0)) sURL := accAddressBar.accValue(0) If !strlen(sURL) ;Chrome可能用不到 arrWin := WinGetList(\"ahk_class \" . cls) ; In case of a nested browser window as in the old CoolNovo (TO DO: check if still needed) If (arrWin.length() 1) accAddressBar := GetAddressBar(Acc_ObjectFromWindow(arrWin[2], 0)) sURL := accAddressBar.accValue(0) If ((sURL != \"\") (substr(sURL,1,4) != \"http\")) ; Modern browsers omit \"http://\" sURL := \"http://\" . sURL Return sURL GetAddressBar(accObj) if !IsObject(accObj) return If (accObj.accRole(0) = 42) if (accObj.accValue(0).isUrl() || (\"http://\" . accObj.accValue(0)).isUrl()) Return accObj else For _, accChild in Acc_Children(accObj) accAddressBar := func(A_ThisFunc).call(accChild) If IsObject(accAddressBar) Return accAddressBarhyf_getUrlByDDE(cls) { sServer := WinGetProcessName(\"ahk_class \" . cls) sSearch := substr(sSearch, 1, strlen(sSearch)-4) iCodePage := 0x04B0 ; 0x04B0 = CP_WINUNICODE, 0x03EC = CP_WINANSI dllcall(\"DdeInitialize\", \"uptrp\",idInst, \"uint\",0, \"uint\",0, \"uint\",0) hServer := dllcall(\"DdeCreateStringHandle\", \"uptr\",idInst, \"str\",sServer, \"int\",iCodePage) hTopic := dllcall(\"DdeCreateStringHandle\", \"uptr\",idInst, \"str\",\"WWW_GetWindowInfo\", \"int\",iCodePage) hItem := dllcall(\"DdeCreateStringHandle\", \"uptr\",idInst, \"str\",\"0xFFFFFFFF\", \"int\",iCodePage) hConv := dllcall(\"DdeConnect\", \"uptr\",idInst, \"uptr\",hServer, \"uptr\",hTopic, \"uint\",0) hData := dllcall(\"DdeClientTransaction\", \"uint\",0, \"uint\",0, \"uptr\",hConv, \"uptr\",hItem, \"uint\",1, \"uint\",0x20B0, \"uint\",10000, \"UPtrP\",nResult) ; 0x20B0 = XTYP_REQUEST, 10000 = 10s timeout sData := dllcall(\"DdeAccessData\", \"uint\",hData, \"uint\",0, \"str\") dllcall(\"DdeFreeStringHandle\", \"uptr\",idInst, \"uptr\",hServer) dllcall(\"DdeFreeStringHandle\", \"uptr\",idInst, \"uptr\",hTopic) dllcall(\"DdeFreeStringHandle\", \"uptr\",idInst, \"uptr\",hItem) dllcall(\"DdeUnaccessData\", \"uptr\",hData) dllcall(\"DdeFreeDataHandle\", \"uptr\",hData) dllcall(\"DdeDisconnect\", \"uptr\",hConv) dllcall(\"DdeUninitialize\", \"uptr\",idInst) csvWindowInfo := StrGet( sData, \"CP0\") return StrSplit(csvWindowInfo, \'\"\')[2]}

本文链接: http://keychrom.immuno-online.com/view-742792.html

发布于 : 2021-03-25 阅读(0)
公司介绍
品牌分类
联络我们
服务热线:4000-520-616
(限工作日9:00-18:00)
QQ :1570468124
手机:18915418616
官网:http://