在C#中将后期绑定到XAML / Store应用程序中的Word控件

以前我一直能够在另一个应用程序中使用找到一个Word文档

[DllImport("Oleacc.dll")]
private static extern long AccessibleObjectFromWindow(int windowHandle, int objectID, Guid refID, ref IntPtr accessibleObject);

并将返回的结果对象转换为a

Microsoft.Office.Interop.Word.Window

这很有效,因为我可以在Microsoft Outlook中检查有关Word的不同属性,因为MS Outlook使用Word窗口呈现其电子邮件内容。

但是,它在XAML / Windows Store应用程序中有点棘手,因为看起来Word文档没有直接窗口句柄而被嵌入。 以下是Window的inspector.exe输出。 所选的'消息'项是我的Word实例。 但根据可访问性检查器,NativeWindowHandles中树中唯一的项目是Mail窗口和标题窗口。

有谁知道如何将外部XAML /商店应用程序中的Word控件编组成C#对象吗?

在这里输入图像描述


你在这里运气不好。 您在Inpect工具中看到的内容确实是一个具有“_WwG”类名称的元素,但您并未在此处理Word的可自动化实例。

这里缺少的首先是类“_WwG”的本地窗口句柄,此外,使用的代码 - 虽然是Microsoft Office 2016组件 - 不会公开任何可以访问的COM接口(至少不是熟悉Word的COM对象模型)。

根据您的要求,您可能能够找到基于UI自动化的解决方案 - 这是Inspect工具使用的同一种检测技术。

链接地址: http://www.djcxy.com/p/55929.html

上一篇: Late binding in C# to Word Control in XAML/Store app

下一篇: Word Documents.Count Is incorrect from MS Access 2016