在国内的 SAP ABAP 开发项目中,我不时会收到一些客户咨询,询问我 SAPGUI 里的某些设置,具体存储在操作系统注册表的什么位置里。
授人以鱼不如授人以渔,本文笔者将向大家展示,如何在操作系统注册表中查找存储与 SAP GUI 相关的所有设置的位置的通用方法。
基本思想是在 SAP GUI 设置更改之前(例如更改快照之前)将注册表导出为快照。
并更改一些设置或通过 SAP GUI 执行某些操作,然后再次导出注册表(假设作为更改后快照)。
比较两者,其差异就是我们想要寻找的注册表的位置。
可以使用 File->Export 导出节点 HKEY_USER 及其子节点:
然后在 SAPGUI 里修改某些设置,然后重新导出注册表:
我使用命令行 FC(文件比较器)中提供的标准工具来尝试找出两者之间的差异。
结果 fc 报错,原因是差异很大,resync failed. Files are too different:
于是我下载了一个更专业的工具:Regshot
:
So I choose a more professional tool: Regshot ( You can download it from Google )
这个工具专门用于注册表镜像文件的比较:
最后的比较结果:
于是我就能轻而易举得出,当我在 SAPGUI 里做了定制化之后,这些定制化存储的具体注册表位置:
比如我在 SAPGUI 设置的默认搜索引擎为 Google,最后存储在这个注册表里:
[HKEY_CURRENT_USERSoftwareSAPGeneralControlServicesWebSearchEngine] "WebSearchEngine"="GOOGLE"
在Windows操作系统中,注册表(Registry)是一个重要的数据库,用于存储系统和应用程序的配置信息。注册表以树状结构组织,类似于文件系统的目录结构。每个键(Key)都可以包含子键和值(Value),而值则存储了具体的数据。
上述注册表键值的语法如下所示:
`HKEY_CURRENT_USERSoftwareSAPGeneralControlServicesWebSearchEngine`
这行语法包含了以下几个部分:
-
HKEY_CURRENT_USER
:这是一个顶级的注册表键,代表当前用户的配置信息。在注册表中,还有其他顶级键,如HKEY_LOCAL_MACHINE
代表本地计算机的配置信息。 -
SoftwareSAPGeneralControlServicesWebSearchEngine
:这是一个键的路径,指定了要访问的具体位置。这个路径由多个键名组成,用反斜杠分隔开。在这个路径中,从根键
HKEY_CURRENT_USER
开始,依次指定了子键的名称,直到达到最后一个键WebSearchEngine
。
接下来,让我们解释该键值的含义。
`"WebSearchEngine"="GOOGLE"`
这行语法定义了名为WebSearchEngine
的注册表值,其数据为GOOGLE
。这个键值对表示了某个程序或组件中对于Web搜索引擎的设置,将其设置为GOOGLE
表示该程序或组件将使用Google作为默认的Web搜索引擎。
举例来说,假设有一个名为“SAP Web Browser”的应用程序,它提供了一个选项让用户设置默认的Web搜索引擎。当用户在该程序中选择了Google作为默认搜索引擎时,该程序可能会将相应的设置保存到注册表中,具体保存的位置就是上述所示的路径下的WebSearchEngine
值。这样,在下次用户打开该程序时,程序就可以读取注册表中的设置,并将默认的Web搜索引擎设置为Google。
以上就是 SAPGUI 的定制化信息在 Windows 注册表中存储位置的通用
查询方法。