在MFC中由于WebBrowser实现了IWebBrowser2接口,我可以通过get_Document方法获得文档中的IDispatch的指针。LPDISPATCH CWebBrowser2::GetDocument()
{
LPDISPATCH result;
InvokeHelper(0xcb, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
return result;
}很明显VB是面向对象的 WebBrowser1.Document 并不能获得 IDispatch指针。有什么办法可以让我在DLL中获取WebBrowser1文档的LPDISPATCH ?或者说如何操作WebBrowser对象?
{
LPDISPATCH result;
InvokeHelper(0xcb, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
return result;
}很明显VB是面向对象的 WebBrowser1.Document 并不能获得 IDispatch指针。有什么办法可以让我在DLL中获取WebBrowser1文档的LPDISPATCH ?或者说如何操作WebBrowser对象?
解决方案 »
- VB中连接MSDN 2000和SQL 2000的方法,是一样的吗??
- 用setup factory怎样打包 实现输入注册码才能安装的效果
- 关于for循环暂停和继续
- ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME
- VB如何把文本文件导入数据库
- 得到一颗星了。庆祝自己一下。
- textbox里的文字全选和反选的代码怎么写啊??
- 求读写IO端口地址的动态链接库(windows2000,windowsme下可用)
- 请各位高手帮个忙,小弟感激不尽!谢谢!关于 mschart问题
- 只想浏览WORD,屏蔽其他任何操作,该怎么做。
- 未找到方法或数据成员
- VB+Access模糊查询like的问题,在线等
IDispatch* LPDISPATCH; //指针类型
而IDispatch是个类,就是说LPDISPATCH是个类的指针类型.
在VB中可以这样取得类的指针地址: Dim ClassAddress As Long '定义类地址
CopyMemory ClassAddress,WebBrowser1,4
'这时,ClassAddress 就是WebBrowser1对象的类指针地址
'如果是在VB中使用,可以直接用CopyMemory把类型复制回来使用,如:
Dim WebDoc As WebBrowser
CopyMemory WebDoc, ClassAddress, 4
WebDoc.Navigate "http://www.baidu.com" '如果从VB中传递给VC使用,要看你的接口函数是如何做的,通常按值传递即可,
'如果失败,也可以尝试一下按地址传递,如:
YourVCFunction ByVal ClassAddress