COM
norsd
这个作者很懒,什么都没留下…
展开
-
WebBrowser控件拖拽的实现
WebBrowser 作为群众喜闻乐见的插件, 一直以好用难写而臭名昭著. 其海量的接口忙的众多死程序员乐不思蜀. 前些天正好需要在WebBrowser中实现文件的拖拽, 遇到一些问题, 后来解决了, 希望和大家分享分享. 俺是菜鸟,大家包涵. 环境: 纯SDK ( 没有用MFC, 因为mfc太方便了,所以显得臃肿,有些问题反而复杂化了 ,所以用SDK模式讲解)原创 2008-09-01 04:17:00 · 7736 阅读 · 5 评论 -
C# 如何生成SafeArray(VBarray) 以及Javascript Array.
过去我用VC写的WebBrowser和JS交互时,遇到需要传递数组时, 总是使用SafeArray , 就是VBarray . 尽管我知道可以通过接口直接创建 JS array , 但是我们都知道vc 实现还是很麻烦,很琐碎, 所以一直用SafeArray.现在用c#写的时候,就遇到问题了.我的一个IExternal接口中的函数无法传递 SafeArray .我刚开始代码是这样原创 2009-12-21 19:27:00 · 4925 阅读 · 5 评论 -
PHP 调用 C# dll
弄了半天, PHP 终于能调用我的C# dll 了. 该死的,我对C# COM注册一向不了解, PHP 文档上只给PHP那部分内容,没告诉我怎么弄dll我还傻兮兮的用 Regsvr32 注册那个c# dll. 背景:Windows xp sp3 ; apache 2.2.14 ; php 5.2.12 ;VS2010 beta ; 语言:PHP5 , C#原创 2010-02-20 02:12:00 · 8912 阅读 · 3 评论 -
VC中程序调用Js自定义函数的注意事项
关于如何在程序中调用js函数, 网络上已经泛滥多时了.下面这个链接是这方面的鼻祖了,大家可以看看.http://www.codeproject.com/KB/COM/jscalls.aspx?msg=1162277 一般说来,调用js函数多数是为了让程序内核和程序界面(ie界面)交互.所以我让程序内核发送自定义消息 WM_CALLDISP 到界面窗口.界面窗口调用invo原创 2009-11-05 10:10:00 · 4382 阅读 · 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 · 3960 阅读 · 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 · 9637 阅读 · 0 评论 -
如何给WebBrowser中的网页全身照相
最近在写程序的时候,突然觉得google chrome的网页缩略照片挺好玩 , 可是 chrome 是自己的内核, 自家的东西当然方便.WebBrowser 又怎么办? 首先想到的是最普通的屏幕复制, 也就是大家熟知的bitblt, 从WebBrowser的dc复制到bitmap的dc. 这种方法有很大的局限性: 1.要正确复制,必须保证WebBrowser在屏幕复制的时候必须原创 2009-02-20 14:51:00 · 5764 阅读 · 6 评论 -
WebBrowser 跨线程操作中的一些问题
WebBrowser 必须是单线程的, 如果我在另一个线程调用invoke, 那么这个invoke将返回错误.妥协的办法是通过发送消息(SendMessage)来变相实现跨线程控制. 但是其中有一个问题,必须要解决, 因为跨线程,所以计数问题必须要考虑. 对于invoke对象的 IDispatch 指针,必须增加计数,同时,对于DISPPARAMS中的 IDispatch原创 2009-01-02 01:18:00 · 4261 阅读 · 3 评论 -
使用C++实现SDK之WebBrowser容器
一.由来 我还记还得当自认为学习完了C++语法后, 兴致勃勃的打开MFC向导,开始所谓"MFC高级自动化编程"时, 我不由喊道: 这他妈的都是些什么乱七八糟的东西啊.诚然,MFC为了方便愚蠢的程序员,的确是让人瞬间高级编程, 可是愚蠢的我们还是会用CString strTest;写出(PWSTR)strTest.GetBuffer() 这种自作聪明的用法,结果就是整个程序好原创 2008-09-13 07:44:00 · 30622 阅读 · 34 评论 -
纯虚函数的一些问题和注意事项
纯虚函数是一个不错的设计, 他可以完全抽象的实现一个类,并且要求其子类完成他自己不能完成的方法.比如, 我设计一个 WebBrowser 的容器类, 其中的许多接口的方法要求提供存放容器的窗口句柄,不幸的是, 这个不是WebBroser 所能知道的,这也是不应该知道的, 于是,我们编写一个纯虚函数 virtual GetHWND( void ) = 0;这样,任何一个窗口类,想要实现WebBro原创 2008-09-10 17:30:00 · 2410 阅读 · 0 评论 -
续 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 · 8258 阅读 · 1 评论 -
安装 statconn 使R与c#交互
很久以前完成过,但是最近重新折腾发现全忘了,所以记下来。1.安装 R 2.安装 R studio3.去 http://rcom.univie.ac.at/download.html 下载 statconnDCOM 注意是非盈利版本的,其他的价格比较吓人。4. 在 R studio 界面中 输入:install.packages("rscpro原创 2013-11-08 20:33:13 · 3226 阅读 · 1 评论