社区
网络编程
帖子详情
老问题:自编的CHtmlView浏览器,怎么截获超连接,不让新窗口在IE中打开?
yikai123
2007-01-21 12:55:10
折腾了好几天了,也发现之前有人遇到过这个问题,但是却没有找到切实可行的解决方案!
下面是我找到的比较权威的一种办法:
在 CHtmlView::OnNewWindow2 里面创建一个新的 WebBrowser,并把新的 WebBrowser 的 IDispatch 接口指针传过去。
可现在的问题是:怎么样获取要打开的新窗口的URL呢??
我快被折腾疯了,求大牛赶紧帮帮忙啊~~
十万火急啊!!!!
多谢多谢!!
...全文
778
14
打赏
收藏
老问题:自编的CHtmlView浏览器,怎么截获超连接,不让新窗口在IE中打开?
折腾了好几天了,也发现之前有人遇到过这个问题,但是却没有找到切实可行的解决方案! 下面是我找到的比较权威的一种办法: 在 CHtmlView::OnNewWindow2 里面创建一个新的 WebBrowser,并把新的 WebBrowser 的 IDispatch 接口指针传过去。 可现在的问题是:怎么样获取要打开的新窗口的URL呢?? 我快被折腾疯了,求大牛赶紧帮帮忙啊~~ 十万火急啊!!!! 多谢多谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiangzhang321
2012-07-13
打赏
举报
回复
目前我也遇到这个问题 请LZ贴代码 谢谢
牛 魔 王
2012-06-18
打赏
举报
回复
mark
j2ee1220
2010-07-20
打赏
举报
回复
自己弄懂了,要把代码贴出来分享一下啊。否则其他人看了跟没看一样。
蒋晟
2007-01-22
打赏
举报
回复
handle NewWindow2 to create a new window, and handle BeforeNavigate2 in the new window to get the URL
yikai123
2007-01-22
打赏
举报
回复
已经按照蒋晟大哥的方法搞定了!在同一个CHtmlView中处理NewWindow2函数,生成新的CHtmlView,并在OnBeforeNavigate2()实现新窗口URL的获取,并在原有的View中显示.
多谢各位的帮助!:)
yikai123
2007-01-22
打赏
举报
回复
jiangsheng(蒋晟)老大,您的回复我在别的地方也看到了,但是这个方法具体怎么实施实在是不得而知啊!请老大给点更详细的指点啊!多谢
yikai123
2007-01-22
打赏
举报
回复
Sangel():能不能留个email??我的是pkuyikai@gmail.com,这里不能粘贴附件,我们mail交流吧
Juchiyufei
2007-01-22
打赏
举报
回复
:)
学习了。
Sangel
2007-01-22
打赏
举报
回复
哦,,忘了我用的是atl
反正你在Invoke里看到DISPID_NEWWINDOW3事件就处理就是了,具体看msdn
Sangel
2007-01-22
打赏
举报
回复
SINK_ENTRY_INFO(0, DIID_DWebBrowserEvents2, DISPID_NEWWINDOW3, &OnNewWindow3, &NewWindow3Info)
void WINAPI OnNewWindow3(IDispatch ** ppDisp, VARIANT_BOOL* Cancel, DWORD dwFlags, BSTR bstrUrlContext, BSTR bstrUrl)
OnNewWindow3一定要设*Cancel = TRUE,否则就真弹窗了
那个bstrUrl就是新窗口url
Sangel
2007-01-21
打赏
举报
回复
在新的WebBrowser里获取
yikai123
2007-01-21
打赏
举报
回复
您说的这个有代码吗??可否用简单的CHtmlView代码给个示例?
我找了一下,发现在实现BHO的时候才会涉及到Invoke函数,那么在CHtmlView中应该如何生成这个函数,从而处理DISPID_NEWWINDOW3事件呢??
多谢啊!!
Sangel
2007-01-21
打赏
举报
回复
用DISPID_NEWWINDOW3这个事件,里面会传递新窗口url给你
yikai123
2007-01-21
打赏
举报
回复
新的webbrowser里根本没有跟弹出的新窗口建立联系,获取不到我所要的URL的~
C语言求两数最小公倍数
求最小公倍数 方法一:给两个数A,B,让A和i相乘(i从1到B),每一次去模B,如果不等于0,然后i+1,直到等于0就找到了 #include<stdio.h> int main() { int a = 0; int b = 0; int i = 1; scanf("%d %d", &a, &b); while (((a * i) % b )!= 0) //等于0就退出循环,就找到了 { i++; } printf("%d\n", (a * i)); ret
python求两数的最小公倍数
两个数的最小公倍数其
中
的一种方法就是先求出两数最大公约数,最小公倍数就等于两数乘积除以最大公约数。 求最大公约数的详细讲解过程点击此处进入 # 求最大公约数的函数 def max_Common_divisor(num1, num2): while True: rem = max(num1,num2) % min(num1,num2) if rem == 0: return min(num1,num2) else:
汇编求两数最小公倍数
;子程序 NumValue_Multiple[Me];子程序功能 求两数最小公倍数;入口 SI SI得到数据首地址;出口 dxNumValue_Multiple proc mov al,[si] mov bl,[si+1] div bl ; AX/ bl cmp ah,0 je _great mov...
初始C语言——两数之间求最小公倍数
intm,n,gcd,ji,lcm;//ji表示积,gcd表示最大公约数,lcm表示最小公倍数。printf("%d,%d的最小公倍数为%d",m,n,i);printf("%d和%d的最大公约数是%d\n",m,n,gcd);方法二利用最大公约数求最小公倍数,两数相乘的积除以这两个数的最大公约数就是最小公倍数。printf("%d,%d的最小公倍数%d\n",m,n,lcm);叫做它们的公倍数,其
中
除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。...
C 语言实例 - 求两数最小公倍数
本文介绍了两种计算最小公倍数(LCM)的方法。第一种方法通过递增较大的数,直到找到能同时被两个数整除的数;第二种方法利用最大公约数(GCD)公式LCM=(n1*n2)/GCD来计算。两个示例都使用C语言实现,输入72和120时,输出结果均为360。第一种方法使用while循环和条件判断,第二种方法通过for循环找出最大公约数后计算LCM。两种方法在不同场景下各有优势,都能有效解决最小公倍数计算
问题
。
网络编程
18,356
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章