现有一程序动态的产生了一HTML文件,在HTMLVIEW中显示后,HTML文件中有超链接时,我怎样在点击时捕捉到这个超链接的所指向的URL呢?
我的做法是重载了OnBeforeNavigate2函数,获取到了超链接的地址,然后对这个地址做了一些处理再在此函数中调用Navigate2函数把处理后的URL传进去,,问题是Navigate2又会调用OnBeforeNavigate2函数,这样下去理论上应该是死循环的,虽然我的程序没有进入死循环也有很大的效果,但会在显示正确的页面之前或之后有一个无效页(即我们输入非法网址会产生的那种网页)调试后发现,点击一个超链接后会有两次进入OnBeforeNavigate2函数,一次是我想要的,传入的URL很正常,另一次的URL则是res:\\windows.....之类即不正确的地址,,为什么呢?我知道这种做法不对,请问正常的做法该是什么样的??需求是点击超链接后,能获得这个事件并得到超链接下的URL。请指教
我的做法是重载了OnBeforeNavigate2函数,获取到了超链接的地址,然后对这个地址做了一些处理再在此函数中调用Navigate2函数把处理后的URL传进去,,问题是Navigate2又会调用OnBeforeNavigate2函数,这样下去理论上应该是死循环的,虽然我的程序没有进入死循环也有很大的效果,但会在显示正确的页面之前或之后有一个无效页(即我们输入非法网址会产生的那种网页)调试后发现,点击一个超链接后会有两次进入OnBeforeNavigate2函数,一次是我想要的,传入的URL很正常,另一次的URL则是res:\\windows.....之类即不正确的地址,,为什么呢?我知道这种做法不对,请问正常的做法该是什么样的??需求是点击超链接后,能获得这个事件并得到超链接下的URL。请指教
解决方案 »
- 如何结束由cmd.exe创建的进程
- 三年工作经验,年后在上海找工作,请大家提供一些建议,谢谢
- 在GDI编程时,我用了两个内存CDC 结果 只显示后一个怎么办?
- 哪位大狭知道CMapStringToPtr怎么用吗?我这样写有何问题,为什么两个IF语句都成立呢?
- 关于线程的通讯问题,我不想使用全局变量,分不够可以再加
- ??????????????????????????????????????????????
- 重金询问一个小问题:我最近新买了台电脑,可是老是莫名其妙地花瓶,不知怎么回事,恳请告知,立马给分!
- MFC中运用双缓冲绘图,效率太慢了,如何优化呢?
- 如何让我编写的DLL,在客户端可以用智能指针的方式进行访问?
- 一个用VC++6.0调用数据库的问题
- F12在调试时的问题。
- 急需:如何读取pdf文件
你可以用静态变量来判断OnBeforeNavigate2函数是否重入
我在其它的TEST程序中确是决对的死循环,,是不是res:\\这种页面就会调用stop