注册表获取程序安装路径的问题
bool GetHunterPath(char* path)
{
HKEY hKEY;
LPCTSTR Rgspath = "Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\MuiCache";
LONG ret = RegOpenKeyEx(HKEY_CURRENT_USER, Rgspath, 0, KEY_READ, &hKEY);
if(ret != ERROR_SUCCESS)
{
RegCloseKey(hKEY);
return false;
}
// 读取键值内容
DWORD type = REG_SZ;
//BYTE UserInfo[255];
DWORD dwInfoSize = 255;
ret = RegQueryValueEx(hKEY, NULL, NULL, &type, (BYTE*)path, &dwInfoSize);
if(ret!=ERROR_SUCCESS)
{
RegCloseKey(hKEY);
return false;
}
return true;
}
上代码,在regedit中有一个REG_SZ在指定目录的MuiCache文件夹中,我想获得这个REG_SZ文件中的程序安装路径。用上面的代码,第一步,可以获取到hKey,但是第二步获取不到path。请有经验的朋友们给看看问题,或者提供一些方法获得路径
{
HKEY hKEY;
LPCTSTR Rgspath = "Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\MuiCache";
LONG ret = RegOpenKeyEx(HKEY_CURRENT_USER, Rgspath, 0, KEY_READ, &hKEY);
if(ret != ERROR_SUCCESS)
{
RegCloseKey(hKEY);
return false;
}
// 读取键值内容
DWORD type = REG_SZ;
//BYTE UserInfo[255];
DWORD dwInfoSize = 255;
ret = RegQueryValueEx(hKEY, NULL, NULL, &type, (BYTE*)path, &dwInfoSize);
if(ret!=ERROR_SUCCESS)
{
RegCloseKey(hKEY);
return false;
}
return true;
}
上代码,在regedit中有一个REG_SZ在指定目录的MuiCache文件夹中,我想获得这个REG_SZ文件中的程序安装路径。用上面的代码,第一步,可以获取到hKey,但是第二步获取不到path。请有经验的朋友们给看看问题,或者提供一些方法获得路径
...全文
相关推荐
Delphi 获取程序安装目录
### 结论在Delphi中获取程序的安装目录有多种方法,包括注册表查询、反安装信息分析等。通过上述介绍的方法,开发者可以根据具体的应用场景选择最适合的技术手段,有效解决软件开发过程中的路径获取问题。
Delphi获取指定程序安装目录.rar
在Delphi中,可以使用以下几种方法来获取指定程序的安装目录:1. **注册表查询**: - Windows操作系统通常会将程序的安装路径保存在注册表中。
装sql server sp4时,出现以前进行的程序安装创建了挂起的文件操作.运行程序之前,必须重新起动计算机
- 如果仍然无法解决问题,建议联系专业的技术支持人员获取帮助。通过以上步骤,大部分情况下都可以解决安装SQL Server SP4时遇到的“出现以前进行的程序安装创建了挂起的文件操作”的问题。
c#注册表查询安装的软件信息
此外,由于访问注册表可能涉及到权限问题,确保你的程序以适当的权限运行,或者在需要时请求用户提升权限。总结来说,通过C#查询注册表是获取系统安装软件信息的有效方法。
易语言源码注册表使用示例.7z
完成操作后,记得使用`关闭注册表`命令释放资源。3. **读取注册表**: 使用`读取注册表`命令可以获取指定键下的数值数据。


