C# 从代码中获取Word设置属性

C# 从代码中获取Word设置属性,c#,wpf,word-addins,C#,Wpf,Word Addins,我正在开发一个Word加载项,我需要从“Word选项”代码访问它。更具体地说,我希望看到“禁用硬件图形加速”属性的值何时打开或关闭 我并没有尝试从注册表中读取,我只是尝试从word互操作服务中读取。但没有成功 正如我所说,我找到的第一个谷歌条目是这个 您只需查看HKEY\u CURRENT\u USER\Software\Microsoft\Office\15.0\Common\Graphics下的禁用硬件加速的注册表值即可 版本密钥(15.0)可能取决于您使用的office版本 我建议您先搜索

我正在开发一个Word加载项,我需要从“Word选项”代码访问它。更具体地说,我希望看到“禁用硬件图形加速”属性的值何时打开或关闭

我并没有尝试从注册表中读取,我只是尝试从word互操作服务中读取。但没有成功


正如我所说,我找到的第一个谷歌条目是这个

您只需查看
HKEY\u CURRENT\u USER\Software\Microsoft\Office\15.0\Common\Graphics
下的禁用硬件加速的注册表值即可
版本密钥(
15.0
)可能取决于您使用的office版本

我建议您先搜索
Office
,然后选择您找到的最高版本

旁注:

  • 值1(
    1
    )表示禁用
  • 无键零(
    0
    都表示已启用/未禁用

我的MS Word 2007上没有此选项。 但你能做的就是录制一个宏。 您需要使“开发人员”选项卡可见

录制宏,转到需要检查的选项。完成后,您可以在“宏”按钮下编辑生成的代码。 如果通过代码有这样一个选项(选中“禁用硬件图形加速”),您将看到如何实现

生成的代码是VBA,您需要将其转换为适当的语言

更新:

我在Word 2013上录制了宏,但没有生成任何代码。通过代码没有这样的选项

仅供参考,如果您想要录制宏(根据Word 2013,其他版本可能非常类似):

  • 文件->选项->自定义功能区->主选项卡(右侧)->选中开发人员复选框
  • 在开发人员选项卡->录制宏->确定中
  • 现在,您处于录制模式,进入显示下的Word选项->高级->选中/取消选中“禁用硬件图形加速”复选框
  • 在“开发人员”选项卡中,停止录制
  • 单击宏->编辑录制的宏->您可能会得到一个带有一些自动生成代码的子程序:

    Sub Macro1()
    '
    ' Macro1 Macro
    '
    '
    End Sub
    
  • 此录制的宏不显示任何代码,这是为您查找的选项录制的

    下面是另一个录制的宏的示例(“为布局而非可读性选择字符位置”复选框也位于Word选项->显示中):


    到目前为止你试过什么?堆栈溢出是为了帮助解决现有代码的问题,而不是编写一些。。。。你试过谷歌吗?在我看来,这应该是一个简单的注册表项……这里只是澄清一下,“禁用硬件图形加速”是Word桌面应用程序的属性,而不是Word文档(文件本身)的属性。请检查您的措辞并明确实际情况。您使用的是哪一版本的office?注册表中没有“DisableHardwareAcceleration”属性,除非我们在Graphics folder中显式创建。这是真的吗?@kamesh如我所见,只有当用户通过office本身禁用hardwAcc时,才会首先创建文件夹。如果没有此键,则表示未禁用。是的,这是真的。正如@ehh指出的,这个选项可能只在office 2010+上可用!但我不确定powerpoint 2002是否已经有了一个名为“使用硬件加速”的选项…我也从注册表中读取了数据,但与您提到的结果相同,它是在禁用该功能时首次创建的。因此,我们可以尝试使用其他解决方案来读取此属性吗?能否请您向我发送在某种程度上如何实现此目的的详细信息?因此这不会有帮助,对吗?我们可以采取其他解决方案来获取此属性值,因为我尝试读取注册表值,但这对所有word版本也不起作用,即使注册表值是在2010年首次禁用word选项中的“硬件加速”时新添加的。在word 2013中,即使这样也不起作用。正确,通过word互操作,正如您所看到的,这是不可能的。我用office 2013在我的电脑上进行了尝试
    Sub Macro2()
        '
        ' Macro2 Macro
        '
        '
        Options.PrecisePositioning = True
    End Sub