如何获取IE地址栏里的URL,UP有分!

liuwei200000 2004-12-02 01:05:09
如何获取IE地址栏里的URL,IE当然是WINDOWS自带的,通过什么发生解决比较好呢?
...全文
692 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuwei200000 2004-12-04
  • 打赏
  • 举报
回复
非常感谢各位的帮助!Semigod:还是一起共同研究吧,如果我能够把代码调出来,一定给你一份,可是我的水平很菜的……
kingzai当然是我最应该感谢的人啦!呵呵……
Semigod 2004-12-02
  • 打赏
  • 举报
回复
使用DDE比较复杂,我掌握得也不怎么样,给你点资料获取途径,希望你能成功,成功时别忘了把你的代码给我也看看:

1 在google上查WWW_URLEcho
2 http://support.microsoft.com/support/kb/articles/Q160/9/57.ASP
3 http://www.emu.edu.tr/english/facilitiesservices/computercenter/bookslib/Web%20Programming%20with%20Visual%20Basic,%20by%20Craig%20Eddy,%20Brad%20Haasch/ch3.htm

4 在MSDN上有一片文章是讲如何用MFC实现DDE的,文章名称我记不得了,我从那篇文章上看到的图片是针对winnt的,但我以前试过,在现在的系统中依然可用

希望上面的内容能帮到你
robot_hy 2004-12-02
  • 打赏
  • 举报
回复
呵呵8错,应该给kingzai。
100分
GZ~
williamxia8 2004-12-02
  • 打赏
  • 举报
回复
虚心学习
mx17 2004-12-02
  • 打赏
  • 举报
回复
虚心的态度,好
liuwei200000 2004-12-02
  • 打赏
  • 举报
回复
kingzai:
您好,俺在一个小公司任职,公司现在就俺一个人用vc——俺好可怜呀,
没有人指点呀!俺叫刘伟。
非常感谢您多次为我解答这么多的问题,俺知道您是一位编程高手、专家……
俺非常想拜您为师,承蒙不弃。收我为徒吧。
俺在此给您行礼了!
俺的MSN:liuwei200000@163.com
tel:010-80116451 至此
敬礼!
wei
2004年12月2日
lzzqqq 2004-12-02
  • 打赏
  • 举报
回复
严重同意 kingzai() !
kingzai 2004-12-02
  • 打赏
  • 举报
回复
you can write a bho ,then get IWebbrowser2 point ,then call GetLocationUrl method. this can get all ie window url.
liuwei200000 2004-12-02
  • 打赏
  • 举报
回复
非常感谢kingzai,你给的这个程序好像只能取得第一个IE浏览器的URL,但是还是非常感谢你!
kingzai 2004-12-02
  • 打赏
  • 举报
回复
这是因为www.163.com页面是多个form的,你需要等待网页下载完成。
你需要先了解IE编程。
http://www.vckbase.com/document/listdoc.asp?mclsid=17&sclsid=1711

liuwei200000 2004-12-02
  • 打赏
  • 举报
回复
to:kingzai,不错!谢谢!有没有相关文档的呀。
但有点debug,当我在IE地址栏里输入www.163.com的时候,程序容易死掉呀!
liuwei200000 2004-12-02
  • 打赏
  • 举报
回复
谢谢kingzai,调好了,立马给分!
kingzai 2004-12-02
  • 打赏
  • 举报
回复
void CGetIESrcDlg::GetRunningIESrc()
{
// Import the following files in your stdafx.h
// #import <mshtml.tlb> // Internet Explorer 5
// #import <shdocvw.dll>
// Refer to "Connect to Internet Explorer Instances, From your own Process. " in www.codeguru.com
// enumeration all shell windows, only URL and source code of the first IE window is shown, you have to
//modify according your own need.
SHDocVw::IShellWindowsPtr m_spSHWinds;
CoInitialize(NULL);
if(m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)) == S_OK)
{
IDispatchPtr spDisp;
long nCount = m_spSHWinds->GetCount();
for (long i = 0; i < nCount; i++)
{
_variant_t va(i, VT_I4);
spDisp = m_spSHWinds->Item(va);
SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);
if (spBrowser != NULL)
{
IDispatchPtr spDisp;
if(spBrowser->get_Document(&spDisp) == S_OK && spDisp!= 0 )
{
MSHTML::IHTMLDocument2Ptr spHtmlDocument(spDisp);
MSHTML::IHTMLElementPtr spHtmlElement;
if(spHtmlDocument==NULL)
continue;
spHtmlDocument->get_body(&spHtmlElement);
if(spHtmlDocument==NULL)
continue;
_bstr_t str ;
str=spBrowser->GetLocationURL();//URL of IE window();
AfxMessageBox(str);
MSHTML::IHTMLDocument3* pHTMLDoc3;
HRESULT hr = spHtmlDocument->QueryInterface(__uuidof(MSHTML::IHTMLDocument3),(LPVOID*)&pHTMLDoc3);
ASSERT(SUCCEEDED(hr));
MSHTML::IHTMLElement* pDocElem;
hr = pHTMLDoc3->get_documentElement(&pDocElem);
pHTMLDoc3->Release();
ASSERT(SUCCEEDED(hr));
BSTR bstrHTML;
pDocElem->get_outerHTML(&bstrHTML);
pDocElem->Release();
AfxMessageBox(CString(bstrHTML));
SysFreeString(bstrHTML);
}
break;
}
}

}
else {
AfxMessageBox("Shell Windows interface is not avilable");
}
CoUninitialize();
}
liuwei200000 2004-12-02
  • 打赏
  • 举报
回复
谁能给一个实例!
alphakiller 2004-12-02
  • 打赏
  • 举报
回复
学习
kingzai 2004-12-02
  • 打赏
  • 举报
回复
or you can use FindWindow.
handle=FindWindowEx(handle,0,"IEFrame",NULL);
handle=FindWindowEx(handle,0,"WorkerA",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);
//取得URL的长度
int i=SendMessage(handle,WM_GETTEXTLENGTH,0,0);
char *tem=new char[i];
SendMessage(handle,WM_GETTEXT,i+1,long(tem));
kingzai 2004-12-02
  • 打赏
  • 举报
回复
get IWebBrowser2 point ,then call GetLocationUrl method.
ponydph 2004-12-02
  • 打赏
  • 举报
回复
学习一下
liuwei200000 2004-12-02
  • 打赏
  • 举报
回复
TO:Semigod(),能否给个实例呀,调通了给分!
老夏Max 2004-12-02
  • 打赏
  • 举报
回复
呵呵,关注!
加载更多回复(1)

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧