各位好,
之前找了一个实例,可以获取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取得硬盘序列号的实例或者代码呢?
谢谢!
之前找了一个实例,可以获取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取得硬盘序列号的实例或者代码呢?
谢谢!
解决方案 »
- 如何实现像ERDAS或ENVI 一样的程序界面?
- opengl中创建立体字后,如何让字体纵向显示????
- 我有一个CString里面存的是一个HTML, 有没有什么函数或类可以将里面所有的链接地址取出来
- 求救:BCD码如何转换为字符串请指教
- VC++在64位系统来临之际的生存问题?
- 请问COleDateTime的SetTime怎么用啊?
- 哪儿有opengl的书下载啊?
- vc打印
- VC+DBGRID可不简单啊!!(34分+QQ源代码(本人写的))
- about MFC extension DLLs
- 一个在debug 和 Release中编译的问题
- CDhtmlDialog OnNewWindow3问题
已试过 不可行