|
发表于 2016-6-6 09:16:37
|
显示全部楼层
- #include <iostream>
- #include <windows.h>
- using namespace std;
- int main()
- {
- DWORD c;
- CHAR string[2048];
- unsigned char MBRbuf[512]={0};
- BYTE bytBuffer_1[512];
- //以文件方式打开物理磁盘0
- HANDLE hDevice = CreateFile("\\\\.\\PhysicalDrive0", GENERIC_READ | GENERIC_WRITE,
- FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
- //for循环格式化 判断MBR
- for (int i=0;i<512;i++)
- {
- SetFilePointer(hDevice,i,NULL,FILE_BEGIN);
- ReadFile(hDevice,MBRbuf, 512, &c, NULL);
- if(MBRbuf[0]==0XFF&&
- MBRbuf[1]==0XD8)
- {
- SetFilePointer(hDevice,i,NULL,FILE_BEGIN);
-
- //读取MBR建立文件
- ReadFile(hDevice,MBRbuf, 512, &c, NULL);
- i++;
- HANDLE f = CreateFile("C://S.txt",
- //创建文件的名称。
- GENERIC_WRITE|GENERIC_READ, // 写和读文件。
- 0, // 不共享读写。
- NULL, // 缺省安全属性。
- CREATE_ALWAYS, // 如果文件存在,也创建。
- FILE_ATTRIBUTE_NORMAL, // 一般的文件。
- NULL); // 模板文件为空。 // 模板文件为空。
- WriteFile(f,MBRbuf, 512, &c, NULL);
- }
- CloseHandle(hDevice);
- }
- return 0;
- }
复制代码
在代码中给增加了注释,这哪里有提取JPG文件头啊 |
|