各位好,
      之前找了一个实例,可以获取windows2000 xp vista系统下的硬盘的序列号,但是,出现了win7后,这个代码就不能执行了。取不出硬盘的唯一序列号了。这是之前的部分代码:
CString copyrightinfo;
BYTE szSystemInfo[4096]; // 在程序执行完毕后,此处存储取得的系统特征码
         UINT uSystemInfoLen = 0; // 在程序执行完毕后,此处存储取得的系统特征码的长度
memset(szSystemInfo,0,4096);
OSVERSIONINFO ovi = { 0 };
ovi.dwOSVersionInfoSize = sizeof( OSVERSIONINFO );
GetVersionEx( &ovi );
if( ovi.dwPlatformId != VER_PLATFORM_WIN32_NT )
         {
// Only Windows 2000, Windows XP, Windows Server 2003...
return  ;
}
else
{

if( !WinNTHDSerialNumAsPhysicalRead( szSystemInfo, &uSystemInfoLen, 1024 ) )
{
WinNTHDSerialNumAsScsiRead( szSystemInfo, &uSystemInfoLen, 1024 );
}

}
 有人说,win7用administrator登陆可以获取,实际上不行。
 烦请各位出招,有没有可以在win7取得硬盘序列号的实例或者代码呢? 
 谢谢!