获取当前 IE 地址栏中的 URL

sgnaw ( 李逍遥 )

分 IE7 及 IE6 这两种情况 .
在 IE7 中这样获取地址栏中的 URL, 其中 strAdd 即为所求:

HWND hIE  =  NULL, hWorker  =  NULL, hBar  =  NULL, hComboBox  =  NULL;
TCHAR  strAdd[ 256 =   {0} ;

hIE 
=  FindWindow(_T( " IEFrame " ), NULL);
if  (hIE)
    hWorker 
=  FindWindowEx(hIE,  0 , _T( " WorkerW " ), NULL);
if  (hWorker)
    hBar 
=  FindWindowEx(hWorker,  0 , _T( " ReBarWindow32 " ), NULL);
if  (hBar)
{
    HWND hAddress 
= FindWindowEx(hBar, 0, _T("Address Band Root"), NULL);
    HWND hComboBox 
= FindWindowEx(hAddress, 0, _T("ComboBoxEx32"), NULL);
    SendMessage(hComboBox, WM_GETTEXT, 
255, (LPARAM)strAdd);
}

在 IE6 中这样获取地址栏中的 URL, 其中 strAdd 即为所求:

HWND hIE  =  NULL, hWorker  =  NULL, hBar  =  NULL, hComboBox  =  NULL;
TCHAR strAdd[
256 =   {0} ;

hIE 
=  FindWindow(_T( " IEFrame " ), NULL);
if  (hIE)
    hWorker 
=  FindWindowEx(hIE,  0 , _T( " WorkerW " ), NULL);
if  (hWorker)
    hBar 
=  FindWindowEx(hWorker,  0 , _T( " ReBarWindow32 " ), NULL);
if  (hBar)
{
    HWND hComboBox 
= FindWindowEx(hBar, 0, _T("ComboBoxEx32"), NULL);
    SendMessage(hComboBox, WM_GETTEXT, 
255, (LPARAM)strAdd);
}

 

 

你可能感兴趣的:(获取当前 IE 地址栏中的 URL)