用下面代码可以获得ie地址栏的内容
HWND handle=0;
//通过一系列的FindWindowEx找到地址栏的编辑框句柄,窗口的类名可通过WINSIGHT32找到
handle=::FindWindowEx(handle,0,"IEFrame",NULL);
handle=::FindWindowEx(handle,0,"Workerw",NULL);
handle=::FindWindowEx(handle,0,"ReBarWindow32",NULL);
handle=::FindWindowEx(handle,0,"ComboBoxEx32",NULL);
handle=::FindWindowEx(handle,0,"ComboBox",NULL);
handle=::FindWindowEx(handle,0,"Edit",NULL);
if (handle==NULL) {
AfxMessageBox("NO");
}
//取得URL的长度
int i= ::SendMessage( handle, WM_GETTEXTLENGTH, 0, 0 );
tem=new char[i];
//取回URL并显示
::SendMessage(handle,WM_GETTEXT,i+1,long(tem));
CString s;
s.Format("%s",tem);
AfxMessageBox(s);
但是我想获得登陆时当前url的html代码,点击链接后当前页面的url并不出现在地址栏,登陆前后地址栏的url不变
网上查不到,请大家指教,多谢了
HWND handle=0;
//通过一系列的FindWindowEx找到地址栏的编辑框句柄,窗口的类名可通过WINSIGHT32找到
handle=::FindWindowEx(handle,0,"IEFrame",NULL);
handle=::FindWindowEx(handle,0,"Workerw",NULL);
handle=::FindWindowEx(handle,0,"ReBarWindow32",NULL);
handle=::FindWindowEx(handle,0,"ComboBoxEx32",NULL);
handle=::FindWindowEx(handle,0,"ComboBox",NULL);
handle=::FindWindowEx(handle,0,"Edit",NULL);
if (handle==NULL) {
AfxMessageBox("NO");
}
//取得URL的长度
int i= ::SendMessage( handle, WM_GETTEXTLENGTH, 0, 0 );
tem=new char[i];
//取回URL并显示
::SendMessage(handle,WM_GETTEXT,i+1,long(tem));
CString s;
s.Format("%s",tem);
AfxMessageBox(s);
但是我想获得登陆时当前url的html代码,点击链接后当前页面的url并不出现在地址栏,登陆前后地址栏的url不变
网上查不到,请大家指教,多谢了
2.或者做一个全局钩子去HOOK IE窗口,例如WH_CALLWNDPROC,然后在这个钩子函数里去找到Edit框,再获取URL,这样你点击其他连接,就能随时变化的得到URL了
没时间就算了,同样谢谢各位。