您的位置:首页 > 其它

VC通过注册表获取获取某个应用程序的安装路径

2011-05-08 23:34 330 查看
这是以前玩做的一个自动备份的软件,备份原理是定时调用WinRar将指定的目录打包压缩并重命名之。

首先需要确保这个软件安装后在注册表中的某个地方保存有它的完整安装路径才行。

下面是以WinRar软件为例的一段代码,其它程序类似。



bool CAutoBackupDlg::GetWinRarPath(char* path)
{
	HKEY hKEY; 
	LPCTSTR Rgspath = _T("Applications//WinRAR.exe//shell//open//command"); 
	LONG ret = RegOpenKeyEx(HKEY_CLASSES_ROOT, Rgspath, 0, KEY_READ, &hKEY); 
	
	if(ret != ERROR_SUCCESS) 
	{ 
		RegCloseKey(hKEY); 
		AfxMessageBox(_T("Error")); 
		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)
	{ 
		AfxMessageBox(_T("没有安装WinRar,无法自动备份!!!")); 
		RegCloseKey(hKEY); 
		return false; 
	}
	return true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: