使用
m_fullPathApp = ReadStringFromHKLM(L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\公司 XXX", L"MainProgramLocation");
if (m_fullPathApp.empty())
return false;
在 64位系统下你的 32位app读写的注册表位置实际是放在 Wow6432Node节点,win32 api会根据你的app类型自动重定向注册表位置。
HKEY_LOCAL_MACHINE\SOFTWARE\ Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\公司 XXX
实现
std::wstring ReadStringFromHKLM(const std::wstring &path, const std::wstring &key)
{
HKEY hOpen;
wchar_t buf[255];
memset(buf, 0, sizeof(buf));
DWORD size;
if (ER