激活IE指定TAB

;功能:激活IE指定tab
/*
测试方法:
打开IE 依次访问
http://www.baidu.com/
http://cn.bing.com/
百度处于不激活状态、必应处于激活状态。
*/

;作者:sunwind
;时间:2015年1月18日01:03:16
;问题反馈:qq 1571657
;http://blog.csdn.net/liuyukuan/article/details/42823645
;测试环境:IE8
;操作系统:WIN7 64
;AHK版本:AutoHotkey Unicode 32-bit 1.1.16.4





iWeb_Activate("百度一下,你就知道")
sleep,1000 
iWeb_Activate("微软必应搜索 - 全球搜索,有问必应 (Bing)") 
return
	iWeb_Activate(sTitle) 
	{ 
		; thanks Sean 
		; http://www.autohotkey.com/forum/viewtopic.php?p=231093#231093 
		DllCall("LoadLibrary", "str", "oleacc.dll") 
		DetectHiddenWindows, On 
		;~ WinActivate,% "ahk_id " HWND
		;~ WinWaitActive,% "ahk_id " HWND,,5
		ControlGet, hTabBand, hWnd,, TabBandClass1, ahk_class IEFrame
		ControlGet, hTabUI  , hWnd,, DirectUIHWND1, ahk_id %hTabBand% 
		
		If   hTabUI && DllCall("oleaccAccessibleObjectFromWindow", "Uint", hTabUI, "Uint",-4, "Uint", GUID(IID_IAccessible,"{618736E0-3C3D-11CF-810C-00AA00389B71}"), "UintP", pacc)=0 
		{ 
			Loop, %   pacc.accChildCount 
				If   paccChild:=pacc.accChild[A_Index] 
					If   paccChild.accRole[0] = 0x3C 
					{ 
						paccTab:=paccChild 
						Break 
					} 
		} 
		If   pacc:=paccTab 
		{ 
			Loop, %   pacc.accChildCount 
				If   paccChild:=pacc.accChild[A_Index] 
					If   paccChild.accName[0] = sTitle   
					{ 
						paccChild.accDoDefaultAction[0]
						Break 
					} 
		}  
		WinActivate,% sTitle
	} 
	
GUID(ByRef GUID, sGUID) ; Converts a string to a binary GUID and returns its address.
{
    VarSetCapacity(GUID, 16, 0)
    return DllCall("ole32CLSIDFromString", "wstr", sGUID, "ptr", &GUID) >= 0 ? &GUID : ""
}

给TA捐赠
共{{data.count}}人
人已捐赠
其他

演示menu和图标20190907

2020-3-9 4:04:44

其他

火狐激活与隐藏

2020-3-9 4:06:44

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索