• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 如何从VC应用程序中获取VB应用程序的FORM中的ActiveX控件的IDispatch接口

如何从VC应用程序中获取VB应用程序的FORM中的ActiveX控件的IDispatch接口

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了 如何从VC应用程序中获取VB应用程序的FORM中的ActiveX控件的IDispatch接口等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 如何从VC应用程序中获取VB应用程序的FORM中的ActiveX控件的IDispatch接口
描述:

如何从VC应用程序中获取VB应用程序的FORM中的ActiveX控件的IDispatch接口


解决方案1:

难道非得  要得到 IDISPATCH  接口 ?  或许你用其他的方法一样可以达到你的目的 。
一切都是命运的安排, 凡事不可强求 ,阿密陀佛!

解决方案2:

VC中之所以可以通过CWnd::FromHandle(phWnd)获得正确的CWnd*是因为
MFC在线程局部存储中存储了HWND和CWnd*的映射,所以能获得,如果你在你的Dll中另开一线程来调用CWnd::FromHandle(phWnd)的话,将无法获得正确的CWnd*,只有一个临时的CWnd*指针,于事无补
同样的,由于你的VB程序并没有用到MFC,所以不会在线程局部存储中存储HWND和CWnd*的映射,所以无法获得正确的CWnd*。
错误的CWnd*指针,当然也无法获得正确的IDispatch接口指针,因此调用InvokeHelper会获得错误结果
不考虑其它途径的话,你这个问题的重点在于如何从窗口句柄获得控件的IUnknown(IDispatch)接口指针。
个人分析,仅供参考,顺便帮顶

解决方案3:

也许可以试试AccessibleObjectFromWindow
或ObjectFromLresult
http://www.yesky.com/403/1938403.shtml

解决方案4:

因为vb写的控件根本没有这个接口,vb的com是假的。。。

解决方案5:

http://www.vckbase.com/document/viewdoc/?id=1518


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-06-05 帮帮我啊,实在是不知道该怎么弄了啊
  • 2017-06-04 请问接口如何传递数组
  • 2017-06-05 线程存取全局变量控制的问题
  • 2017-06-05 初学者,如何以MFC的方式理解进程和线程
  • 2017-06-05 請問一個關于CriticalSection的問題
  • 2017-06-04 请问如何将一个注册为dll的文件打包成cab文件类型
  • 2017-06-05 c++調用delphi寫的dll
  • 2017-06-05 请问哪儿有进程管理软件下载
  • 2017-06-04 ActiveX控件的接口如何返回一个自定义的类型
  • 2017-06-05 添加WindowsMediaPlayer时显示cannotfindcoclassforinterface?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 能否在程序中打开WINDOWS的CMD,并自动执行一个命令
    • ■迄今最难的问题2::用vc++怎样编程可以实现对word印章,痕迹保留,签字????
    • 如何用CreateProcess的调起一个指向特定地址的IE窗口
    • 大虾帮忙,com接口同时传送多个二进制文件,怎么传
    • 在MFC扩展的Dll程序中加载dll为什么会失败?
    • 为什么有时候OnDocumentComplete触发不了?
    • 怎样判断WebBrowser控件的ExecWB命令是否执行完毕?
    • 一个ocx控件怎么做成和3721一样,浏览页面时可以提示下载啊?
    • 我想问一下comdll和支持com功能的exe有什么区别?
    • 程序功能扩展问题,up有分!!!!!

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有