程序需要获取鼠标下已打开Word的内容,只要获取_Application的接口就可以了。搞了半天,终于知道使用AccessibleObjectFromWindow函数可以实现。MSDN上讲的不清楚,还是在google上找到了答案。AccessibleObjectFromWindow可以获取好多其他类型的UI对象,特别是对于COM类型,又有特殊UI的情况,很合适,比如微软的DirectUI,但是没测试啊,只是猜测。把这段代码贴一下,以后搜索起来也方便。
 const int OBJID_NATIVEOM = 0xFFFFFFF0;//该值可以在头文件里找到
 CComPtr<IDispatch> spDisp;//获取Word的Window对象的智能指针
 Windows m_Win;//定义Word的Windows对象
  if (S_OK == AccessibleObjectFromWindow( hwnd, OBJID_NATIVEOM, IID_IDispatch, (void**) &spDisp)){//hwnd就是需要获取的窗口句柄
  m_Win.AttachDispatch(spDisp);//成功了
  m_App.AttachDispatch(m_Win.GetApplication());//m_App是Word的应用程序对象
  ………………
 
 有两个函数我搞混了,纪录一下,一个是IIDFromString,获取IID用的,开始我想获取Word的应用程序的GUID,使用了这个,但是应该用这个函数CLSIDFromProgID。
比如:
 CLSID clsid;
 HRESULT hr;
 hr=::CLSIDFromProgID(L"Word.Application",&clsid); //通过ProgID取得CLSID
以后不要搞混了。

获取运行中的Word对象相关推荐

  1. 获取运行中的Word,excel对象

    参考 获取运行中的Word对象:https://blog.csdn.net/seker_2006/article/details/1335702 PPT在CreateDispatch _T(" ...

  2. 获取Python中的所有对象属性?

    本文翻译自:Get all object attributes in Python? Is there a way to get all attributes/methods/fields/etc. ...

  3. SSH整合中,使用父action重构子类action类.(在父类中获取子类中的泛型对象)

    import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type;import com.opensymphony.xw ...

  4. Android5.1.+ getRunningAppProcesses()获取运行中进程(第三方开源库)

    google可能为了安全考虑,在5.1.+后调用activitymanager.getRunningAppProcesses()方法只能返回你自己应用的进程,那如何在5.1.+后获取运行中进程呢?一个 ...

  5. js 根据id获取数组中对应的对象

    js 根据id获取数组中对应的对象 const id = xxxlet obj = array.find(function (e) {return e.id=== id})console.log('o ...

  6. UG\NX二次开发 获取部件中的所有对象 UF_OBJ_cycle_all

    文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: 获取部件中的所有对象 UF_OBJ_cycle_objs_in_part. 代码: ...

  7. excel中插入word对象且以wold图标来显示

    1.excel中插入word文档,且以wold图标来显示,双击该图标,可以打开该wold文件. 2.插入后,excel中显示如下,双击该图标,可以打开该world文档.

  8. Visio中嵌入word对象时公式乱码

    注:以下方法基于Visio2021专业版进行 1.解决的问题 Visio中无法直接插入公式,想要插入公式需要用其他工具,如Mathtype编辑器,而对于没有安装Mathtype编辑器的,则可以通过Vi ...

  9. django ajax获取数据类型,Django:使用Ajax获取模板中的数据库对象值

    您可以使用AJAX回打电话给你的Django代码,并返回你的车的名称: template.html $(document).ready(function() { $(document).on(&quo ...

最新文章

  1. 修改unity变量名但不丢失序列化值
  2. (转)一段挺好的领导者应该记得的话
  3. 怎么快速搜索服务器里的文件,使用 Everything,快速搜索电脑文件,制作局域网资料搜索器 | 科技搜...
  4. ioctl(), ioctl_socket()
  5. Spring AMQP + Rabbit 配置多数据源消息队列
  6. 【二级指针--定义、初始化赋值、解引用;特殊指针--空指针、void类型的指针】(学习笔记12--指针下)
  7. C++-string““s操作符
  8. [转载] 算法导论:分治法,python实现合并排序MERGE-SORT
  9. Ubuntu18.04安装wireshark3.0.6(版本可自己选)
  10. java 内部类_Java内部类总结
  11. 最近新明白的SQL小知识
  12. (一)SVM的八股简介
  13. 云智能,助力警务大数据云平台建设
  14. java biginteger 比较大小,Java BigInteger compareTo()用法及代码示例
  15. win10重新安装应用商店
  16. windows系统上删除顽固文件
  17. 在注册表里查找classid
  18. 买了xbox的这两年
  19. 概率论 各种分布及其期望、方差、分布函数
  20. AcrGIS Pro一键出图

热门文章

  1. AttributeError: ‘MouseEvent‘ object has no attribute ‘GetPositionTuple‘问题解决
  2. 企业员工信息管理系统的设计与实现
  3. hydra 九头蛇端口爆破
  4. 解决数据重复插入问题(sql与锁方法)
  5. 用lifelines进行生存分析【Python版】
  6. 【物理篇】从零搭建2D物理系统③——物体相交测试(完结)
  7. 毅世纪影视,影视全新尚改~
  8. 2023年物业企业必不可少的管理系统
  9. qq好友列表获取之动态爬虫清洗爬取好友列表数据 - 获取qq好友、群、群成员列表
  10. php的配置文件config.php连接mysql_phpmyadmin配置文件config.default.php_php