这是以前玩做的一个自动备份的软件,备份原理是定时调用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; }