Я хочу получить URL-адрес всех в настоящее время активного Internet Explorer

Теперь я получаю значение правки Internet Explorer следующим образом

Есть ли другой способ получить URL Internet Explorer?

BOOL GetUrlLoad(HWND hHandle)
{
    HWND hExplorer = 0, hWorkerW = 0, hReBar = 0, hBandRoot = 0, hCombo = 0;

    hExplorer = hHandle;

    if (hExplorer == 0)
    {
        return FALSE;
    }

    hWorkerW = ::FindWindowEx(hExplorer, NULL, _T("WorkerW"), NULL);

    if (hWorkerW == 0)
    {
        return FALSE;
    }

    hReBar = ::FindWindowEx(hWorkerW, NULL, _T("ReBarWindow32"), NULL);

    if (hReBar == 0)
    {
        return FALSE;
    }

    hBandRoot = ::FindWindowEx(hReBar, NULL, _T("Address Band Root"), NULL);

    if (hBandRoot == 0)
    {
        hCombo = ::FindWindowEx(hReBar, NULL, _T("ComboBoxEx32"), NULL);
    }
    else
    {
        hCombo = ::FindWindowEx(hBandRoot, NULL, _T("Edit"), NULL);
    }

    if (hCombo == 0)
    {
        return FALSE;
    }

    TCHAR szBuff[MAX_PATH] = _T("");
    ::SendMessage(hCombo, WM_GETTEXT, (WPARAM)MAX_PATH, (LPARAM)szBuff);

    return TRUE;
}

Приведенный выше код получает URL. Есть ли вероятность провала? Есть ли другой способ получить URL браузера?

0 ответов

Другие вопросы по тегам