获取运行中的Word对象

通过 IAccessiable 接口操作非窗口类控件DirectUI 数据 / if (FindAccessible(paccMainWindow, "打开(O):", "可编辑文本", "Edit", &paccControl, &varControl))//if (FindAccessible(pIAcc, "本地连接", "列表项目","DirectUIHWND", &pIAccChild, &varChild))//hWnd = ::FindWindowEx(hWnd, NULL, "ShellTabWindowClass", "网络连接"); 阅读详情
程序需要获取鼠标下已打开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
以后不要搞混了。
 
“易语言.飞扬”类型反射机制与反射类库 我们在不同的场合用不同的方式阐述过,“易语言.飞扬”具有非常完善的类型反射机制。看一下反射类库(反射.ncl)提供了哪些功能,就大致可以了解“易语言.飞扬”的类型反射机制。强调一点:是因为有了完善的类型反射机制,才会产生反射类库;而不是因为反射类库的存在,才使“易语言.飞扬”有了完善的类型反射机制。反射类库是结果之一,是表现形式之一。 反射类库主要提供两大方面的功能:1、获取指定类 阅读详情

相关推荐

C# 获取处于运行中的Excel、Word对象

今日在写项目的过程中,涉及到对Excel和Word的操作,考虑到程序的健壮性,需要对一些特殊情况作出处理,通常情况下,Excel和Word是通过winform下的openfiledialog打开的,这种情况去获取对于对象是十分方便的。 但是有些Word或者Excel由用户自己先行打开了,后面程序再去打开这些文档,就会出现问题,这种情况需要获取Excel或者Word对象该怎么办呢? 通过查阅资料...

Ck_Max的博客 2874

易语言基于accessible接口打造获取QQ窗口相关信息

易语言基于accessible接口打造获取QQ窗口相关信息。@兔子君。

使用Qt在Linux下浏览Word文件内容 - 获取Office文件内容

在本文中,我们介绍了如何使用Qt框架在Linux下浏览和获取Microsoft Word文件的内容。我们使用了Qt的QAxObject模块来与ActiveX对象进行交互,并使用Wine软件来模拟Windows环境并运行Word应用程序。希望本文对您有所帮助!在上述代码中,我们使用QAxObject类创建了一个Wine进程,并使用Wine运行Word应用程序。由于Microsoft Word是一个Windows平台上的应用程序,我们需要使用Wine软件来在Linux下模拟Windows环境并运行Word

James_CODER的博客 1250

易语言调用Accessible接口例程

代码演示AccessibleObjectFromWindow的调用。运行代码,鼠标移动到QQ聊天框即可看到效果。主要涉及到变体型的调用。可以参考下。@泆寒。Tags:Accessible接口。

使用IAccessible接口,遍历DirectUI窗口控件的问题?

前一段时间,做一个程序,需要完成一个小功能,即对鼠标监视,当左键单击某个文件选中时,获得该文件文件名称。 折腾了好久,最终在windowsXP下完美实现了。实现的思路是: 1、下鼠标钩子,获得鼠标左键clickup事件。 2、使用FindPointWindow,获得鼠标位置窗口句柄。 3、使用SendMessage,向该窗口(SysListView32)发送信息,获得选中文件序号及文件名称

路在何方 1万+

VC++如何获取所有运行中的Word实例的COM对象

本程序可以读取当前计算机打开的所有word文档文字内容,即便在首先打开WPS文档,再打开word文档的前提下,依旧读取的是所有word对象。 代码编译环境为 VS2017+Office2016 。

_Santiago的博客 1566

获取运行中的Word,excel对象

参考 获取运行中的Word对象:https://blog.csdn.net/seker_2006/article/details/1335702 PPT在CreateDispatch _T("Word.Application")可以直接使用获取当前文档,word和excel不能获取当前激活文档,需要采用以下两种方式。 1.使用AccessibleObjectFromWindow func...

Greless的后花园 818

C# 如何获取处于运行中的Excel、Word对象

今日在写项目的过程中,涉及到对Excel和Word的操作,考虑到程序的健壮性,需要对一些特殊情况作出处理,通常情况下,Excel和Word是通过winform下的openfiledialog打开的,这种情况去获取对于对象是十分方便的。 但是有些Word或者Excel由用户自己先行c#教程打开了,后面程序再去打开这些文档,就会出现问题,这种情况需要获取Excel或者Word对象该怎么办呢? 通过查阅资料发现,以下代码可以解决。 private void OpenFileDialog() { // 声明一个

chinaherolts2008的博客 1360

MS Office 自动化编程(一)---从Word文档中获取文档属性

学习Office自动化之前先阅读一些COM书籍,对于理解Office自动化有很大帮助。以下示例代码使用VS2010进行编译。目前市面上已有的关于Office自动化的书籍,多是快餐式的,看过之后只能知道最基本的使用。要想更多的了解,非得MSDN不可。下面就是msdn上跟office开发相关的详细资料。 总目录:http://msdn.microsoft.com/en-us/library/bb72

Leo-软件开发 5606

易语言-获取QQ聊天窗口的聊天记录

AccessibleObjectFromWindow获取QQ聊天窗口的聊天记录

基于accessible接口打造获取QQ窗口相关信息-易语言

基于accessible接口打造获取QQ窗口相关信息

易语言-易语言使用AccessibleObjectFrom方式取千牛聊天窗口当前聊天列表与聊天对象

易语言使用AccessibleObjectFrom方式取千牛聊天窗口当前聊天列表与聊天对象

c# 从进程里面获取多个Word.Application

c# 从进程里面获取多个Word.Application

nbspzs的专栏 571

打开Word提示:Office已阻止访问以下嵌入对象,以便保护你的安全解决方法

一、问题描述 在Office2019的Word文档中,双击下载文档的内容,提示【Office已阻止访问以下嵌入对象,以便保护你的安全】,如下图所示: 二、问题分析 由于Office版本限制,Office 2019无法直接打开文档中直接添加的部分附件。 三、解决办法 ①选中文件内容,点击鼠标右键,选择-->【包装程序外壳对象】-->【属性】; ②查看位置,复制位置信息,选中后可以直接复制; ③同时按下【Win+R】键,打开运行窗口,粘贴刚才复制的内容...

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 5万+

Java对象在内存中存储结构

目录Java对象存储:(HOTSPOT虚拟机)什么是对象头,具体包括什么Mark Word分析 (64位):Class Pointer (类型指针)array length(数组特有)实例数据(Instance)对其填充(padding)如何获取的元数据通过句柄访问对象(间接)通过Reference指针直接访问对象(直接)对象的基本存储方式: Java对象存储:(HOTSPOT虚拟机) 一个Java对象可以分为三部分存储在内存中,分别是: 对象头Object Header 实例数据Instance 对齐填

java_cG的博客 1500

C#制作Office插件时引用Microsoft.Office.Interop.Word获取运行实例

自动化 Office 的客户端程序既可以创建 Office 程序的新实例,也可以获取对已在运行的实例的引用。 Microsoft 通常建议您创建一个新实例,而不是附加到正在运行的实例。 但是,在某些情况下,客户端程序必须自动执行 Office 程序的已运行实例。 在这种情况下,自动化客户端从正在运行对象表(ROT)中获取对自动化服务器的组件对象模型(COM)对象的引用。 如果自动化服务器在运行对象表中注册自己,则 .NET 客户端可以通过调用以下命令获取对正在运行的实例的引用: GetActiveObje

qq_45623310的博客 1710

JAVA将ftl模板转word文档超详细步骤

因为需求要生成复杂的word,所以用模板实现下载 一:首先要创建一个word文档模板,将文档另存为xml格式保存,再把xml格式文件修改后缀为ftl文件。 word文档模板: 转ftl文件:直接将xml文件重命名 二:java后台主要代码 import freemarker.template.Configuration; import freemarker.template.Templat...

weixin_44259134的博客 4821
上一篇: 哈哈,我的博客频道开通了!
seker_2006
博客等级 码龄20年 1粉丝 2原创
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值