Winapi 如何使用win32 API从注册表获取安装目录

Winapi 如何使用win32 API从注册表获取安装目录,winapi,firefox,registry,Winapi,Firefox,Registry,我正在使用RegOpenKeyEx()并给出注册表路径Software\\Mozilla\\Mozilla Firefox,它给出的错误\u成功 但是在那之后,如何使用regqueryvaluex()从该路径获取Mozilla Firefox的安装目录数据?首先,您需要打开Software\Mozilla\Mozilla Firefox并查询当前活动版本的当前版本值 然后,打开Software\Mozilla\Mozilla Firefox\\Main并查询其安装目录值 RegQueryValu

我正在使用
RegOpenKeyEx()
并给出注册表路径
Software\\Mozilla\\Mozilla Firefox
,它给出的
错误\u成功


但是在那之后,如何使用
regqueryvaluex()
从该路径获取Mozilla Firefox的安装目录
数据

首先,您需要打开Software\Mozilla\Mozilla Firefox并查询当前活动版本的当前版本值

然后,打开Software\Mozilla\Mozilla Firefox\\Main并查询其安装目录值

RegQueryValueEx是这样使用的

TCHAR buffer[1024] = {0};
DWORD bufferSize = sizeof(buffer);
DWORD result = RegQueryValueEx( hkeyMain,
                         TEXT("Install Directory"),
                         NULL,
                         NULL,
                         (LPBYTE)buffer,
                         &bufferSize);
if (result == ERROR_SUCCESS)
{
    // buffer now contains the install directory
}

请给出获取curect版本值的示例代码。因为现在curect版本面临问题,并且获取“拒绝访问”,所以RegQueryValueEx(hKey,L“CurrentVersion”,NULL,/*REG_SZ*/NULL,(LPBYTE)version,&len)@BhrKamal:Access denied应该只发生在RegOpenKeyEx上——你能显示你在该调用中做了什么吗?你应该提到,一旦你得到了当前版本(例如“10.0(en-US)”,你必须将其附加到注册表项的路径上,这样“Install Directory”值实际上就在子项中“HKLM\Software\Mozilla\Mozilla Firefox\10.0(美国英语)\Main”。