获取当前的Office主题

时间:2014-11-20 02:23:55

标签: c# ms-office

在C#应用程序中,我想以编程方式找到Office 2013的当前主题(白色/浅灰色/深灰色)。令人惊讶的是,我无法找到很多关于此的讨论,而且从我读过的内容应该是在注册表中的Theme文件夹中,但是我的注册表在建议的路径中不包含Theme文件夹。

我试过这个solution,但主题文件夹不存在。

note 我在Windows 8.1上使用Office 2013

更新使用@ Dai的建议我找到了2007/10/13的值HKEY_CURRENT_USER\Software\Microsoft\Office\X.0\Common\[Theme or UI Theme]

在Office 2007/2010中,值为Theme,与2013年相同,他们将其更改为UI Theme

如果Office使用默认主题并且您从未更改过它,则这些键将不存在,因此如果您找不到它们,请记住这一点。在更改主题后,Office将写下这些键。

1 个答案:

答案 0 :(得分:2)

我个人不了解自己,但您可以通过使用Sysinternals Process Monitor(http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx)轻松找出存储任何应用程序的配置/设置/数据的位置并观察该过程当你实现改变时,写一些地方(文件,注册表等)。

  1. 加载进程监视器
  2. 设置过滤器以观看winword.exe
  3. 打开Word
  4. 清除当前的Process Monitor历史记录(因为加载Word进程时会显示很多无用的数据)
  5. Go File>选项>主题(将其更改为其他内容)
  6. 观看并查看窗口中显示的内容
  7. 如果没有出现任何内容,您将生活在违反因果关系的世界中
  8. 实际上,有一些DRM系统,例如,通过Windows系统驱动程序或rootkit存储状态,这些系统驱动程序或rootkit不会出现在Process Monitor中(因为操作发生在内核中),或更糟糕的是:原始磁盘写入。