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