尝试使用AutoIt获取此注册表项的值,但始终失败。
我的猜测是由于关键名称中的,
和/或.
,但我未能在AutoIt文档或其他谷歌搜索中找到任何关于此类问题的好信息。我试过用通常的转义字符单独和一起转义每一个,也没有运气。
我已经确认了键名是正确的,并且还尝试了一个完全不同的reg键,在我的脚本中没有奇怪的字符,只是为了看看它是否正常工作,成功了。
Dim $VMWare_Path = RegRead("HKLMSOFTWAREVMware, Inc.VMware Workstation", "InstallPath")
更新:嗯,解决方案是我需要根据操作系统版本从不同的注册表节点读取。最后的代码:
Local $VMWPath
if @CPUArch = "X64" Then
;x64 Key
$VMWPath = RegRead("HKLMSOFTWAREWow6432nodeVMware, Inc.VMware Workstation", "InstallPath")
Else
;x86 Key
$VMWPath = RegRead("HKLMSOFTWAREVMware, Inc.VMware Workstation", "InstallPath")
EndIf