大家知道用CreateFile可以实现WINDOWS下对硬盘扇区的直接读写。但现在我要读取硬盘的MBR,也就是硬盘的第一个扇区,那又该怎么办?(比如我们的C盘通常位于硬盘的63扇区,现在要读硬盘的0扇区该怎么办呢?)
解决方案 »
- VC6.0下的GDI+使用
- 在对话框上手动创建列表框,居然不出来
- 一个弱弱问题(急问)
- 高分请教DCOM和WebService有关的简单问题!100分!
- 可以通过com的方法可以操作PageMake,Office,CoreDraw之类的软件?
- 急救:createthread失败,报1816错误,尤其在2000server上,为什么,怎没办?
- 串口通信,如何设置波特率(据两例9600,4800),crc16校验,8位数据,1位停止,一位起止
- 怎么样学习vc++?
- 如何从固定格式的字符串中取出想要的数据!?
- 一个关于COM的问题
- 请教一个基础问题
- ЖЖ问个问题,dll里面GetActiveWindow函数为什么不能够获得除启动它的exe外的任何活动窗口的指针呢,很奇怪。ЖЖ
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
BYTE pBuf[512];
DWORD dwRead;
ReadFile( hDrive, pBuf, 512, &dwRead, NULL );
CloseHandle( hDrive );
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
BYTE pBuf[512];
DWORD dwRead;
ReadFile( hDrive, pBuf, 512, &dwRead, NULL );
CloseHandle( hDrive );
应该是这个吧,读MBR(即硬盘第一扇区),lpFileName参数应该是_T("\\\\.\\PHYSICALDRIVE0")
你的代码不对,MBR是每个逻辑驱动器都有的,而不是物理磁盘。
MBR一般位于硬盘的第一扇区,对于单系统而言一般只有一个,而每个逻辑驱动器都有的是DBR:)