WebBrowser
norsd
这个作者很懒,什么都没留下…
展开
-
WebBrowser控件拖拽的实现
WebBrowser 作为群众喜闻乐见的插件, 一直以好用难写而臭名昭著. 其海量的接口忙的众多死程序员乐不思蜀. 前些天正好需要在WebBrowser中实现文件的拖拽, 遇到一些问题, 后来解决了, 希望和大家分享分享. 俺是菜鸟,大家包涵. 环境: 纯SDK ( 没有用MFC, 因为mfc太方便了,所以显得臃肿,有些问题反而复杂化了 ,所以用SDK模式讲解)原创 2008-09-01 04:17:00 · 7717 阅读 · 5 评论 -
C# 如何生成SafeArray(VBarray) 以及Javascript Array.
过去我用VC写的WebBrowser和JS交互时,遇到需要传递数组时, 总是使用SafeArray , 就是VBarray . 尽管我知道可以通过接口直接创建 JS array , 但是我们都知道vc 实现还是很麻烦,很琐碎, 所以一直用SafeArray.现在用c#写的时候,就遇到问题了.我的一个IExternal接口中的函数无法传递 SafeArray .我刚开始代码是这样原创 2009-12-21 19:27:00 · 4904 阅读 · 5 评论 -
C# WebBrowser 如何写 AttachEvent
C# WebBrowser 比如 IHTMLDocument2/3 中开始有 onclick , onxxxxxx , attachEvent 之类好用的属性.比如 attachEvent( string strEvent , object oDispatch ) ; strEvent 自不必说, oDispatch却要说一下. 在c++中 , oDispatch 是一原创 2010-02-01 00:19:00 · 3107 阅读 · 3 评论 -
WebBrowser 触发F5等快捷键的相关问题
这个WebBrowser是基于SDK创建的,而不是我们一直用的MFC的CHtmlView这些类.关于如何创建这个WebBrowser 参见这里一些过去的东西 :http://blog.csdn.net/norsd/category/515334.aspx我们在使用sdk构建WebBrowser中并没有明确的函数启用/关闭快捷键. 但是在C#中可以设置WebBrowserShortcutsEna原创 2009-11-08 16:52:00 · 5390 阅读 · 0 评论 -
VC中程序调用Js自定义函数的注意事项
关于如何在程序中调用js函数, 网络上已经泛滥多时了.下面这个链接是这方面的鼻祖了,大家可以看看.http://www.codeproject.com/KB/COM/jscalls.aspx?msg=1162277 一般说来,调用js函数多数是为了让程序内核和程序界面(ie界面)交互.所以我让程序内核发送自定义消息 WM_CALLDISP 到界面窗口.界面窗口调用invo原创 2009-11-05 10:10:00 · 4367 阅读 · 1 评论 -
使用C++实现SDK之WebBrowser容器 系列的一个补充. 关于GetHtmlDocumentX()
之前的文章 "http://blog.csdn.net/norsd/archive/2008/09/13/2921389.aspx" 实现了一个WebBrowser. 但是万物总不是完美的, 最近有网友问, GetHTMLDocumentX 系列函数的实现,是否需要Release. 当时我回答不需要. 我是这样考虑的: WebBrowser 类只提供一个(系列) IHtm原创 2009-03-18 10:12:00 · 3944 阅读 · 4 评论 -
如何让 WebBrowser控件 使用BeforeNavigate2(...)屏蔽特定页面
这是俺提问的一个帖子,如下:norsd等级:可用分等级:贫农总技术分:932总技术分排名:20992结帖率:100.00%BeforeNavigate2(...) 中的参数 *Cancel=VARIANT_TRUE, 取消导航后,无法使页面Complete 我打开一个页面A,页面A中有frame(B,C,D), 然后会多次BeforeNavigate2,原创 2008-12-11 17:00:00 · 9622 阅读 · 0 评论 -
如何给WebBrowser中的网页全身照相
最近在写程序的时候,突然觉得google chrome的网页缩略照片挺好玩 , 可是 chrome 是自己的内核, 自家的东西当然方便.WebBrowser 又怎么办? 首先想到的是最普通的屏幕复制, 也就是大家熟知的bitblt, 从WebBrowser的dc复制到bitmap的dc. 这种方法有很大的局限性: 1.要正确复制,必须保证WebBrowser在屏幕复制的时候必须原创 2009-02-20 14:51:00 · 5747 阅读 · 6 评论 -
WebBrowser 跨线程操作中的一些问题
WebBrowser 必须是单线程的, 如果我在另一个线程调用invoke, 那么这个invoke将返回错误.妥协的办法是通过发送消息(SendMessage)来变相实现跨线程控制. 但是其中有一个问题,必须要解决, 因为跨线程,所以计数问题必须要考虑. 对于invoke对象的 IDispatch 指针,必须增加计数,同时,对于DISPPARAMS中的 IDispatch原创 2009-01-02 01:18:00 · 4245 阅读 · 3 评论 -
使用C++实现SDK之WebBrowser容器
一.由来 我还记还得当自认为学习完了C++语法后, 兴致勃勃的打开MFC向导,开始所谓"MFC高级自动化编程"时, 我不由喊道: 这他妈的都是些什么乱七八糟的东西啊.诚然,MFC为了方便愚蠢的程序员,的确是让人瞬间高级编程, 可是愚蠢的我们还是会用CString strTest;写出(PWSTR)strTest.GetBuffer() 这种自作聪明的用法,结果就是整个程序好原创 2008-09-13 07:44:00 · 30593 阅读 · 34 评论 -
续 WebBrowser 的扩展
上次写了WebBrowser这个容器( 详细参看: http://blog.csdn.net/norsd/archive/2008/09/13/2921389.aspx )今天来说说如何在 WebBrowser的基础上扩展更多的功能. WebBrowserEx : public WebBrowser , public IDocHostUIHandler1.实现IDocH原创 2008-09-15 22:31:00 · 8249 阅读 · 1 评论 -
C# WebBrowser External 注意问题
1. External 类必须 [ComVisible(true)]2. External 类必须 public class YourExternal[]3. External 类函数必须 public , 否则 window.external 不可见。原创 2010-03-30 11:32:00 · 3739 阅读 · 2 评论