本文是2020年第16篇原创文章,也是汪子熙公众号总共第199篇原创文章。
今天是猪年最后一天,大年三十。往年的这个时候,我都有点紧张,因为有亲戚会来串门,而亲戚的熊孩子们,出于好奇总是会觊觎我书房里摆的到处都是的异形,终结者等手办。
今年由于众所周知的原因,没人来串门了,还有点不习惯。
本文我们来聊聊一个古老的话题:Windows注册表。
用过“瘟酒吧”的七零后八零后,对于Windows注册表一定不陌生。在那个距今已经显得有些遥远的时代,甚至还有很多专门出版的书籍,教授如何修改Windows注册表来提高系统性能,或是启用一些微软默认disable了的隐藏功能。
我们知道Windows注册表用于存储系统和应用程序的设置信息,从Windows 95启用一直沿用到今天的Windows10.
那么SAP GUI命令行里用过的事务码列表,会不会也保存在Windows系统注册表的某个地方呢?
Windows操作系统里,Win + R,执行regedit打开注册表,沿路径HKEY_USERSSoftwareSAPSAPGUI FrontSAP Fronted ServerCode展开,即可看到这些用过的事务码列表。
同样,在本地SAP GUI目录下,有SAPHistory
按照SAP note 1121688 - SAP History: explaining database files, etc的说法,扩展名.mdb文件是旧版本的SAP GUI使用,而.db对应新版本。
授人以鱼不如授人以渔,如何自行找到SAP GUI存储这些本地信息的注册表位置?
Jerry的文章 SAP错误消息调试之七种武器:让所有的错误消息都能被定位 里介绍的第六种方法,离别钩之ST05,对其稍作调整,就能达到我们的研究SAP GUI和Windows注册表关系的目的。
比如,假设想知道下列这些History Settings的值是否维护在Windows注册表里,
首先,在修改设置之前,导出一个注册表镜像文件before.reg:
在SAP GUI里对设置做修改,保存后,导出第二个注册表镜像文件after.reg, 然后用Windows自带的文件比较工具fc比较两个镜像文件的差别,结果即为SAP GUI这些设置在Windows注册表里的位置。
结果如下:
绝大多数注册表项都位于SAPGUI Front这个节点下面,而从该节点向上追溯,也能发现其他SAP软件在注册表里写入的值,比如SAP Cloud Connector,SA Cloud Application Studio,SAP Intelligent Robotic Process Automation套件等等。
SAP GUI设置里的checkbox如果勾上,对应Windows注册表里的值维护为00000001:
而在SAP GUI里按照十进制存储的值,存储在Windows注册表里会自动转换成十六进制:
这是今天的成都武侯祠大街。
西南民院一角:
既然专家们都建议大家没事不要外出,但老待在家里宅着也要长胖,大家过年期间别忘了锻炼身体哦,感谢阅读,我们鼠年再见。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":