#define ids_reg_val_msinfo_path2 _t( "msinfo" )
#define ids_msinfo_exe_name _t( "msinfo32.exe" )
//...
bool getsysinfopath( cstring& strpath )
{
strpath.empty();
lptstr pszpath = strpath.getbuffer( max_path );
cregkey reg;
dword dwsize = max_path;
long nret = reg.open( hkey_local_machine, ids_reg_key_msinfo_path1, key_read );
// 在注册表中寻找第一个"msinfo32.exe" 位置
if ( nret == error_success )
{
#if ( _mfc_ver >= 0x0700 )
nret = reg.querystringvalue( ids_reg_val_msinfo_path1, pszpath, &dwsize );
#else
nret = reg.queryvalue( pszpath, ids_reg_val_msinfo_path1, &dwsize );
#endif
reg.close();
}
// 如果第一次寻找失败,则进行第二次寻找
if ( nret != error_success )
{
nret = reg.open( hkey_local_machine, ids_reg_key_msinfo_path2, key_read );
if ( nret == error_success )