调用Windows接口访问注册表来获取程序安装路径

来源:互联网 发布:熟食店 知乎 编辑:程序博客网 时间:2024/06/05 08:15

最近在做一个程序,需要获取Windows中程序的安装路径,在网上查了一下,了解到可以运用调用Windows接口访问注册表的方法。网上有很多这样的文章,但真正自己动手,还是会遇到这样那样的问题,我将自己的程序记录下来,供大家参考。

    下面是获取系统中QQ安装路径的程序,我就不再一行行介绍代码了,网上有大量的文章:

#include

#include

using namespace std;

#define MY_BUFSIZE 132

int main()

{

HKEY hKey;

char szProductType[MY_BUFSIZE];

memset(szProductType, 0, sizeof(szProductType));

DWORD dwBufLen = MY_BUFSIZE;

LONG lRet;

lRet = RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Tencent\\bugReport\\QQUrlMgr"), 0, KEY_READ, &hKey);

if (lRet != ERROR_SUCCESS) // 判断是否打开成功 

    cout << "Open fail!\n";

lRet = RegQueryValueEx(hKey, TEXT("InstallDir"), NULL, NULL, (LPBYTE)szProductType, &dwBufLen);

if (lRet != ERROR_SUCCESS) // 判断是否查询成功 

    cout << "Query fail!\n";

RegCloseKey(hKey);

cout << szProductType << endl;

system("pause");

return 0;

}

​按WIN+R组合键,然后输入regedit,可以在注册表中查看QQ程序的安装路径,如下图:


0 0
原创粉丝点击