能力值:
( LV2,RANK:10 )
|
-
-
2 楼
换win98
|
能力值:
( LV9,RANK:165 )
|
-
-
3 楼
打开物理磁盘行不?
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
你也说了是在“保护模式”下啊。。。
XP里面最简单的就是用CreateFile函数:
// 打开C盘
HANDLE hDiskFile = ::CreateFile("\\\\.\\C:",
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
// 到起始位置
::SetFilePointer(hDiskFile, 512*1, NULL, FILE_BEGIN);
// 读出扇区
BYTE DBR[512];
DWORD dwRead;
::ReadFile(hDiskFile, DBR, 512, &dwRead, NULL);
debug命令在Win32中是不好使的。。。
|
能力值:
( LV8,RANK:120 )
|
-
-
5 楼
楼上正解~!
createfile
SetFilePointer
ReadFile
要想修改的话
writefile就OK~!
|
能力值:
( LV5,RANK:60 )
|
-
-
6 楼
hDiskFile = CreateFile(L"\\\\.\\GLOBALROOT\\ArcName\\multi(0)disk(0)rdisk(0)partition(1)",
.......
这样表示更贴切。
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
太长了,头有点晕了。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
谢谢你的回答,等下去试试。
|
能力值:
( LV15,RANK:440 )
|
-
-
9 楼
打开C盘是指C分区,这样无法读到硬盘的第一个扇区。
打开硬盘设备才可以读到硬盘的第一个扇区。好像对应的符号链接是 \\.\PhysicalDrive0类似的东西。LZ可以试试。
|
能力值:
( LV3,RANK:20 )
|
-
-
10 楼
哦,他说的是分区的第一个分区的第一个扇区,我就理解成C盘的第一个扇区了。。。
我这个例子吧,不是“\\\\.\\C:”不对,而是SetFilePointer的参数设置多跳了一个扇区
你说的应该是MBR,我感觉他想要的是DBR。读取整个磁盘我还真忘了应该用什么设备名了。。。估计是\\.\PhysicalDrive0之类的吧,我也不确定了。。。
|
能力值:
( LV15,RANK:440 )
|
-
-
11 楼
看LZ标题上写的,我无语了。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
我说我的就是MBR
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
不好意思,表达不是很到位。
|
|
|