设为首页 加入收藏

TOP

VC 读写注册表实例 (1) ―― 获取安装程序列表
2014-11-23 19:30:46 】 浏览:6705
Tags:读写 注册表 实例 获取 安装 序列

Windows 系统中,安装程序都可以在注册表 HKEY_LOCAL_MACHINE\SoftWare\Microsoft\Windows\CurrentVersion\Uninstall 获取,并且xp、vista、win7、win8都一样
打开注册表命令:regedit,依次展开上述注册表路径,安装程序列表如下图:

获取系统安装程序列表:
[cpp]
// 获取系统安装程序列表
BOOL CMyListCtrlTestDlg::AllRegKey(HKEY hKey, LPCTSTR szDesKeyItem)
{
HKEY hSubKey;
DWORD dwIndex = 0;
long lResult;
int i = 1;

lResult = RegOpenKeyEx(hKey, szDesKeyItem, 0, KEY_READ, &hSubKey); // 打开注册表
if(ERROR_SUCCESS == lResult) {
TCHAR szKeyName[256] = { 0 };
DWORD cbName = 256*sizeof(TCHAR);

lResult = RegEnumKeyEx(hSubKey, dwIndex, szKeyName, &cbName, 0, NULL, NULL, NULL); // 获取字段
while (lResult == ERROR_SUCCESS && lResult != ERROR_MORE_DATA){
OutputDebugString(szKeyName);


CString str;
str.Format(_T("%d"), i);

i = m_MyList.InsertItem(i, str); // 插入到List控件显示
m_MyList.SetItemText(i,1,szKeyName);


dwIndex = dwIndex + 1; // 改变dwIndex,循环获取下移字段
cbName = 256*sizeof(TCHAR);
lResult = RegEnumKeyEx(hSubKey, dwIndex, szKeyName, &cbName, 0, NULL, NULL, NULL);

i++;

}
RegCloseKey(hSubKey); // 关闭注册表
return TRUE;
}
RegCloseKey(hSubKey);
return FALSE;
}


通过注册表路径获取调用:
[cpp]
AllRegKey(HKEY_LOCAL_MACHINE, TEXT("SoftWare\\Microsoft\\Windows\\CurrentVersion\\Uninstall"));
作者:sunboy_2050

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇VC 读写注册表 下一篇vc++创建文件夹及其子文件夹

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目