vc FindWindow得到ie地址栏地址

DWORD dwSize=255,dwType=REG_SZ;
TCHAR szVersion[256] = {0}; 
LPCTSTR KeyValue = L"Version";
HKEY hKey;
int nVersion = 8;
LPCTSTR StrKey = L"Software\\Microsoft\\Internet Explorer";
if ( ERROR_SUCCESS ==
::RegOpenKeyEx(HKEY_LOCAL_MACHINE,StrKey,NULL,KEY_READ,&hKey) )
{

if ( ERROR_SUCCESS == ::RegQueryValueEx(hKey,KeyValue,0,&dwType,(BYTE *)szVersion,&dwSize) )
{
CString StrData=szVersion;
//MessageBox(NULL,L"IE浏览器的版本号为:"+ StrData,L"信息提示",MB_OK);
LOG4CPLUS_DEBUG(GETLOGGER,"ExtGetURL | IE浏览器的版本号为:"<< szVersion <<"");
}
::RegCloseKey(hKey);

vpn::str_arr arr;
vpn::split_str(szVersion,arr,".");


HWND hwnd = 0;
static char URL[256];
  memset(URL, 0, 256);
hwnd = ::FindWindowEx(hwnd, 0, TEXT("IEFrame"), NULL);
if ( hwnd )
{
hwnd = ::FindWindowEx(hwnd, 0, TEXT("WorkerW"), NULL);
hwnd = ::FindWindowEx(hwnd, 0, TEXT("RebarWindow32"), NULL);
if ( !arr.empty() )
{
nVersion = atoi(arr[0].c_str());
}
//IE8
if ( nVersion >= 8 )
{
hwnd = ::FindWindowEx(hwnd, 0, TEXT("Address Band Root"), NULL);
}
else if ( nVersion == 7 )
{
hwnd = ::FindWindowEx(hwnd, 0, TEXT("Address Band Root"), NULL);
hwnd = ::FindWindowEx(hwnd, 0, TEXT("ComboBoxEx32"), NULL);
hwnd = ::FindWindowEx(hwnd, 0, TEXT("ComboBox"), NULL);
}
else if ( nVersion == 6)
{
//IE6
hwnd = ::FindWindowEx(hwnd, 0, TEXT("ComboBoxEx32"), NULL);
hwnd = ::FindWindowEx(hwnd, 0, TEXT("ComboBox"), NULL);
}


hwnd = ::FindWindowEx(hwnd, 0, TEXT("Edit"), NULL);

}

::SendMessageA(hwnd, WM_GETTEXT, 256, (LPARAM)URL);

猜你喜欢

转载自blog.csdn.net/lxf20054658/article/details/8506280
vc