QQ登录

只需一步,快速开始

上位机MFC读取与修复MBR源代码

[ 复制链接 ]

上位机MFC读取与修复MBR源代码

上位机MFC读取与修复MBR源代码

例程实现读写磁盘主引导区(MBR),
效果如上图。
部分关键代码如下。
读取代码:

  1. void CRW_HDDDlg::OnButtonReadDPT()
  2. {
  3.         // TODO: Add your control notification handler code here
  4.         int disk_num=m_CtrlCombo.GetCurSel();               //获取ComboBox数据,即驱动器号
  5.         CString disk_char;
  6.         disk_char.Format("%d",disk_num);                    //转换成字符串类型
  7.         unsigned char *buffDPT=(unsigned char*)malloc(512);
  8.     buffDPT=ReadSectors(0,1,disk_char);
  9.         CString DPT;
  10.         m_strEDIT=BcdToAsc(buffDPT,512);
  11.         UpdateData(false);
  12. }
复制代码


修复代码:

  1. void CRW_HDDDlg::OnButtonRepair()
  2. {
  3.         int disk_num=m_CtrlCombo.GetCurSel();               //获取ComboBox数据,即驱动器号
  4.         CString disk_char;
  5.         disk_char.Format("%d",disk_num);                    //转换成字符串类型
  6.         CDialog::SetWindowText(disk_char);

  7.         //读取正确MBR文件
  8.         unsigned char *buff=(unsigned char*)malloc(512);   //存正确MBR
  9.         unsigned char *DPT=(unsigned char*)malloc(512);    //存正确的DPT
  10.         HANDLE filehandle = CreateFile("112",
  11.                 GENERIC_READ,
  12.         FILE_SHARE_READ|FILE_SHARE_WRITE,
  13.         NULL,
  14.         OPEN_ALWAYS,
  15.         FILE_ATTRIBUTE_NORMAL,
  16.         NULL);
  17.         DWORD byte1;
  18.         ReadFile(filehandle,buff,512,&byte1,NULL);
  19.         CloseHandle(filehandle);
  20.         DPT=ReadSectors(0,1,disk_char);                   //读选定磁盘001扇区
  21.         for(int i=446;i<=512;i++){buff[i]=DPT[i];}
  22.         //写入磁盘001扇区
  23.         WriteSectors(0,1,disk_char,buff);
  24.         MessageBox("该驱动器MBR修复完成!",NULL,MB_OK);
  25. }
复制代码
源代码下载地址。
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:上位机MFC读取与修复MBR源代码.rar 
文件大小:29.84 KB  售价:1金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


  

上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例

  

经历1年的编程与录制点击进入查看


  

halcon从自学到接项目视频教程,另外再赠送全网最全资源  

  

欢迎围观我录制的一套halcon自学视频教程(进入)


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

MBR是主引导记录(Master Boot Record)的英文缩写,
在传统硬盘分区模式中,引导扇区是每个分区(Partition)的第一扇区,
而主引导扇区是硬盘的第一扇区。
为了方便计算机访问硬盘,
把硬盘上的空间划分成许许多多的区块(英文叫sectors,即扇区),
然后给每个区块分配一个地址,称为逻辑块地址(即LBA)。
在MBR中,分区表的大小是固定的,一共可容纳4个主分区信息。
在MBR分区表中逻辑块地址采用32位二进制数表示,
因此一共可表示2^32(2的32次方)个逻辑块地址。
如果一个扇区大小为512字节,那么MBR硬盘最大分区容量仅为2TB。

上位机MFC读取与修复MBR源代码

上位机MFC读取与修复MBR源代码

扩展资料:
启动PC机时,系统首先对硬件设备进行测试,
测试成功后进入自举程序INT 19H,
然后读系统磁盘0柱面、0磁头、1扇区的主引导记录(MBR)内容到内存指定单元0:
7C00地址开始的区域,并执行MBR程序段。


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索