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);
}
本文提供了在IE6和IE7两种环境下通过Windows API获取当前浏览器地址栏URL的具体步骤。通过查找特定窗口类并发送消息来读取组合框中的文本。
2033

被折叠的 条评论
为什么被折叠?



