首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

VISTA下无法获得硬盘序列号的有关问题

2012-01-19 
VISTA下无法获得硬盘序列号的问题获得硬盘序列号的代码,如下,在2000,XP系统里都正常。在VISTA以管理员权限

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。

热点排行