【100分】怎样获得浏览器IE和FireFox的中的地址栏中的URL,不够了在加分 【100分】怎样获得浏览器IE和FireFox的中的地址栏中URL,完整解决了再加分大概的流程或者给出源码,在MFC或SDK下都可以 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 网络编程让应用程序从IE中获取键入的网址 转自:www.csdn.net 文章正文 前些时候,朋友想做一个小共享软件,软件的主要作用是阻止用户进入某些网站,他的设想是从IE的地址栏中获取键入的网址,如果这个网址非法的话,则不可以进入,代码如下: HWND hwnd=::FindWindow(_T("IEFrame"),NULL); if(hwnd) { HWND hwnd2=::FindWindowEx(hwnd,NULL,_T("Edit"),NULL); char sz[255]; ::SendMessage(hwnd2,WM_GETTEXT,255,(LPARAM)sz); AfxMessageBox(sz); }结果发现不能得到正确的结果,从SPY上看,类名也全部是正确的,为什么不能得到正确的结果呢?看了他的代码后,我进行了如下改动,就可以得到正确的结果了:HWND hwnd=::FindWindow(_T("IEFrame"),NULL); if(hwnd) { HWND hwnd2=::FindWindowEx(hwnd,NULL,_T("WorkerW"),NULL); HWND hwnd3=::FindWindowEx(hwnd2,NULL,_T("ReBarWindow32"),NULL); HWND hwnd4=::FindWindowEx(hwnd3,NULL,_T("ComboBoxEx32"),NULL); HWND hwnd5=::FindWindowEx(hwnd4,NULL,_T("ComboBox"),NULL); HWND hwnd6=::FindWindowEx(hwnd5,NULL,_T("Edit"),NULL); char sz[255]; ::SendMessage(hwnd6,WM_GETTEXT,255,(LPARAM)sz); AfxMessageBox(sz); }} 以上的代码不用我解释了吧,这个问题不是什么大问题,难度也不大,但是可能会让初学者不明白为什么得不到程序某一控件的HANDLE,其实对VC来说,没有什么办不到的事情,只是需要你仔细的分析一下而已 --------------------------------------------------------------------------------CSDN VC编程经验总结 lz可以自己下一下这个电子书 楼上的说在IE中科一 我主要在Firefox中获得地址栏的数据? 最容易的办法是做IE和FF的插件,通过访问DOM的方式来获取URL地址,当然需要了解更多的接口细节,IE插件最好的参考文档是MSDN,各种接口非常详细,FF插件需要下载SDK,同时了解COMXP,其实原理跟IE都是类似的 主要针对FireFox 主要针对FireFox 无法获取ff的句柄啊 最简单的方法:枚举窗口,窗口内容FireFox没试过,你自己用SPY++看看吧 用Spy++找不到firefox句柄啊 IE的还可以 对IE可以 对FireFox不可以~! 想解释,但是无从下手,xpcom不是几句话能说清楚的 不能枚举窗口的话试试截取HTTP协议,再把各段拼成你的URL,比如Get段,HOST段... http://download.csdn.net/source/1892438 MFC 右下角弹出窗口 关于完成端口的问题 请问这段代码起什么作用? 小弟要去应聘一个图像处理的职位,不知道图像处理是个什么样的工作,问几个问题,请大家指教! Win32如何对Modem编程 在Visual C++ 常规DLL 可以创建线程吗? 类型转化的简单问题,各位帮忙! 如何将long型数据在MessageBox()中显示? SetDlgMsgResult到底是干什么的? GetQueuedCompletionStatus返回0,错误代码121? 文件粉碎机原理讨论!!! 如何修改键盘键位??
让应用程序从IE中获取键入的网址
转自:www.csdn.net
文章正文
前些时候,朋友想做一个小共享软件,软件的主要作用是阻止用户进入某些网站,他的设想是从IE的地址栏中获取键入的网址,如果这个网址非法的话,则不可以进入,代码如下: HWND hwnd=::FindWindow(_T("IEFrame"),NULL);
if(hwnd)
{
HWND hwnd2=::FindWindowEx(hwnd,NULL,_T("Edit"),NULL);
char sz[255];
::SendMessage(hwnd2,WM_GETTEXT,255,(LPARAM)sz);
AfxMessageBox(sz);
}结果发现不能得到正确的结果,从SPY上看,类名也全部是正确的,为什么不能得到正确的结果呢?看了他的代码后,我进行了如下改动,就可以得到正确的结果了:HWND hwnd=::FindWindow(_T("IEFrame"),NULL);
if(hwnd)
{
HWND hwnd2=::FindWindowEx(hwnd,NULL,_T("WorkerW"),NULL);
HWND hwnd3=::FindWindowEx(hwnd2,NULL,_T("ReBarWindow32"),NULL);
HWND hwnd4=::FindWindowEx(hwnd3,NULL,_T("ComboBoxEx32"),NULL);
HWND hwnd5=::FindWindowEx(hwnd4,NULL,_T("ComboBox"),NULL);
HWND hwnd6=::FindWindowEx(hwnd5,NULL,_T("Edit"),NULL); char sz[255];
::SendMessage(hwnd6,WM_GETTEXT,255,(LPARAM)sz);
AfxMessageBox(sz);
}
} 以上的代码不用我解释了吧,这个问题不是什么大问题,难度也不大,但是可能会让初学者不明白为什么得不到程序某一控件的HANDLE,其实对VC来说,没有什么办不到的事情,只是需要你仔细的分析一下而已
--------------------------------------------------------------------------------
CSDN VC编程经验总结
lz可以自己下一下这个电子书
主要针对FireFox 无法获取ff的句柄啊
用Spy++找不到firefox句柄啊 IE的还可以
试试截取HTTP协议,再把各段拼成你的URL,比如Get段,HOST段...