如何通过注册列表找到安装软件路径

下面以QQ为例:


#include <iostream>
#include <windows.h>
using namespace std;

#define RTN_ERROR 13

int main(void)
{
    #define MY_BUFSIZE 132    // Arbitrary initial value. 
                             // Dynamic allocation will be used.
    HKEY hKey;
    TCHAR szProductType[MY_BUFSIZE];
    DWORD dwBufLen = MY_BUFSIZE;
    LONG lRet;

 // 下面是打开注册表, 只有打开后才能做其他操作 
 lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE,  // 要打开的根键 
      TEXT("SOFTWARE\\TENCENT\\QQ2009"), // 要打开的子子键 
      0,        // 这个一定要为0 
      KEY_QUERY_VALUE,  //  指定打开方式,此为读 
      &hKey);    // 用来返回句柄 
                    
    if(lRet != ERROR_SUCCESS)   // 判断是否打开成功 
  return 1;
 
 // 下面开始查询 
    lRet = RegQueryValueEx(hKey,  // 打开注册表时返回的句柄 
                    TEXT("Install"),  //要查询的名称,qq安装目录记录在这个保存 
                    NULL,   // 一定为NULL或者0 
                    NULL,   
                    (LPBYTE)szProductType, // 我们要的东西放在这里 
                    &dwBufLen);
 if(lRet != ERROR_SUCCESS)  // 判断是否查询成功 
  return 1;
   RegCloseKey(hKey);

   cout << (char*)szProductType;
 
	strcat(szProductType,"\\Bin\\QQ.EXE");
	WinExec(szProductType,SW_SHOW);

}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值