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);
}
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);
}
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);
}