VISTA下无法获得硬盘序列号的问题
获得硬盘序列号的代码,如下,在2000,XP系统里都正常。在VISTA以管理员权限运行,CreateFile执行成功,但DeviceIoControl总是失败,GetLastError()得到1。哪位能提供一些有用的资料和思路也给分,谢谢。
......
j=0
sprintf(hd, "\\\\.\\PhysicalDrive%d ",j);
h=CreateFile(hd,GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE,0,OPEN_EXISTING,0,0);
if (!h)
{
continue;
}
if (!DeviceIoControl(h,DFP_GET_VERSION,0,0,&vers,sizeof(vers),&i,0))
{
......................
[解决办法]
Vista下面为什么不用WMI获取?
[解决办法]
Vista下好像只用WMI获取。
[解决办法]
反复尝试:发现除非是关掉UAC。