0
的返回值我想EXCEL.EXE从注册表的路径。所以我用了以下内容:用的RegQueryValueEx奇怪的行为whitch另一个寄存器
我使用Windows64bits
RegOpenKeyEx(HKEY_LOCAL_MACHINE, szKey, 0, KEY_READ, &hKey)
与
szKey = "\Classes\CLSID\{ExcelCLSID}\LocalServer",
该寄存器包含“C:\ PROGRA〜1 \ MIF5BA〜1 \ Office15 \ EXCEL。 EXE/automation“
用它来获取Excel.exe路径
RegQueryValueEx(hKey, NULL, NULL, NULL, (BYTE*)szPath, &cSize)
所以建立我的解决方案的平台的时候,我得到的路径
C:\\PROGRA~1\\MIF5BA~1\\Office15\\EXCEL.EXE /automation
这是精细,但是建立我的的Win32平台解决方案时,我得到 以下路径
"C:\\Program Files\\Microsoft Office\\Office15\\EXCEL.EXE" /automation
这就是奇怪因为这个值是st在以下注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{ExcelCLSID}\
我错过了什么吗?
我认为这个问题是在指定所需的访问权限的密钥掩码运行32位的过程中,我应该使用时从windows64bits登记读到如此打开KEY_READ ** | ** KEY_WOW64_64KEY而不是使用** KEY_READ **仅在RegOpenKeyEx的调用中。 – Deli