天圆地方建筑网站企业网站四种类型

bicheng/2026/1/22 12:24:06/文章来源:
天圆地方建筑网站,企业网站四种类型,哪个公司建设网站,商昊网站建设先推广一下QQ群#xff1a;61618925。欢迎各位爱好编程的朋友加入。 一、程序界面 二、关键部分代码#xff1a; 1.数据结构定义 #define MBRSIZE 512 #define BOOTRECORDSIZE 440 #define DISKSIGNEDSIZE 4 #define RESERVESIZE 2 #define DPTNUMBER 4 #define DPTSIZE 16 #…先推广一下QQ群61618925。欢迎各位爱好编程的朋友加入。 一、程序界面 二、关键部分代码 1.数据结构定义 #define MBRSIZE 512 #define BOOTRECORDSIZE 440 #define DISKSIGNEDSIZE 4 #define RESERVESIZE 2 #define DPTNUMBER 4 #define DPTSIZE 16 #define ENDSIGNSIZE 2typedef struct tagBOOTRECORD {UCHAR szBootRecord[BOOTRECORDSIZE]; }BOOTRECORD, *PBOOTRECORD;typedef struct tagDPT {UCHAR szBootSign; //引导标志0x80表示活动分区0x00表示非活动分区UCHAR szStartHeadNumber; //起始磁头号UCHAR szStartSectorNumber; //起始扇区号低6位UCHAR szStartCylinderNumber;//起始柱面号起始扇区号的高2位起始柱面号UCHAR szPartitionType; //分区类型0x00表示该分区未使用即未指定,0x06表示FAT16基本分区0x0B表示FAT32基本分区0x05表示拓展分区,0x07表示NTFS分区0x0F表示LBA模式拓展分区0x83为Linux分区等。UCHAR szEndHeadNumber; //结束磁头号UCHAR szEndSectorNumber; //结束扇区号低6位UCHAR szEndCylinderNumber; //结束柱面号结束扇区号的高2位结束柱面号ULONG ulSectorsPreceding; //本分区之前使用的扇区数ULONG ulSectorsInPartition; //分区的总扇区数 }DPT, *PDPT;typedef struct tagMBR {BOOTRECORD BootRecord;//引导程序UCHAR ulSigned[DISKSIGNEDSIZE]; //Windows磁盘签名UCHAR szReserve[RESERVESIZE]; //保留位DPT Dpt[DPTNUMBER]; //分区表UCHAR szEndSign[ENDSIGNSIZE]; //结束标志 }MBR, *PMBR; 2.关键程序实现 void CMBRInfoDlg::InitMBRTree(void) {HTREEITEM hParentItem m_ctrlMBRTree.InsertItem(_T(引导程序));hParentItem m_ctrlMBRTree.InsertItem(_T(Windows磁盘签名));hParentItem m_ctrlMBRTree.InsertItem(_T(保留位));hParentItem m_ctrlMBRTree.InsertItem(_T(分区表));HTREEITEM hChildItem m_ctrlMBRTree.InsertItem(_T(第一分区表), hParentItem);m_ctrlMBRTree.InsertItem(_T(引导标志), hChildItem);m_ctrlMBRTree.InsertItem(_T(起始磁头号), hChildItem);m_ctrlMBRTree.InsertItem(_T(起始扇区号), hChildItem);m_ctrlMBRTree.InsertItem(_T(起始柱面号), hChildItem);m_ctrlMBRTree.InsertItem(_T(分区类型), hChildItem);m_ctrlMBRTree.InsertItem(_T(结束磁头号), hChildItem);m_ctrlMBRTree.InsertItem(_T(结束扇区号), hChildItem);m_ctrlMBRTree.InsertItem(_T(结束柱面号), hChildItem);m_ctrlMBRTree.InsertItem(_T(本分区前使用的扇区数), hChildItem);m_ctrlMBRTree.InsertItem(_T(本分区的总扇区数), hChildItem);hChildItem m_ctrlMBRTree.InsertItem(_T(第二分区表), hParentItem);m_ctrlMBRTree.InsertItem(_T(引导标志), hChildItem);m_ctrlMBRTree.InsertItem(_T(起始磁头号), hChildItem);m_ctrlMBRTree.InsertItem(_T(起始扇区号), hChildItem);m_ctrlMBRTree.InsertItem(_T(起始柱面号), hChildItem);m_ctrlMBRTree.InsertItem(_T(分区类型), hChildItem);m_ctrlMBRTree.InsertItem(_T(结束磁头号), hChildItem);m_ctrlMBRTree.InsertItem(_T(结束扇区号), hChildItem);m_ctrlMBRTree.InsertItem(_T(结束柱面号), hChildItem);m_ctrlMBRTree.InsertItem(_T(本分区前使用的扇区数), hChildItem);m_ctrlMBRTree.InsertItem(_T(本分区的总扇区数), hChildItem);hChildItem m_ctrlMBRTree.InsertItem(_T(第三分区表), hParentItem);m_ctrlMBRTree.InsertItem(_T(引导标志), hChildItem);m_ctrlMBRTree.InsertItem(_T(起始磁头号), hChildItem);m_ctrlMBRTree.InsertItem(_T(起始扇区号), hChildItem);m_ctrlMBRTree.InsertItem(_T(起始柱面号), hChildItem);m_ctrlMBRTree.InsertItem(_T(分区类型), hChildItem);m_ctrlMBRTree.InsertItem(_T(结束磁头号), hChildItem);m_ctrlMBRTree.InsertItem(_T(结束扇区号), hChildItem);m_ctrlMBRTree.InsertItem(_T(结束柱面号), hChildItem);m_ctrlMBRTree.InsertItem(_T(本分区前使用的扇区数), hChildItem);m_ctrlMBRTree.InsertItem(_T(本分区的总扇区数), hChildItem);hChildItem m_ctrlMBRTree.InsertItem(_T(第四分区表), hParentItem);m_ctrlMBRTree.InsertItem(_T(引导标志), hChildItem);m_ctrlMBRTree.InsertItem(_T(起始磁头号), hChildItem);m_ctrlMBRTree.InsertItem(_T(起始扇区号), hChildItem);m_ctrlMBRTree.InsertItem(_T(起始柱面号), hChildItem);m_ctrlMBRTree.InsertItem(_T(分区类型), hChildItem);m_ctrlMBRTree.InsertItem(_T(结束磁头号), hChildItem);m_ctrlMBRTree.InsertItem(_T(结束扇区号), hChildItem);m_ctrlMBRTree.InsertItem(_T(结束柱面号), hChildItem);m_ctrlMBRTree.InsertItem(_T(本分区前使用的扇区数), hChildItem);m_ctrlMBRTree.InsertItem(_T(本分区的总扇区数), hChildItem);hParentItem m_ctrlMBRTree.InsertItem(_T(结束标志));m_ctrlMBRTree.SetBkColor(RGB(150, 100, 100)); }void CMBRInfoDlg::ShowMBR() {DWORD dwRead 0;DWORD dwError 0;CString strError _T();UCHAR szMBRInfo[MBRSIZE];ZeroMemory(szMBRInfo, MBRSIZE * sizeof(UCHAR));if (!ReadFile(m_hDevice, (LPVOID)szMBRInfo, MBRSIZE * sizeof(UCHAR), dwRead, NULL)){dwError GetLastError();strError.Format(_T(ReadFile Error : %d), dwError);AfxMessageBox(strError);CloseHandle(m_hDevice);m_hDevice INVALID_HANDLE_VALUE;return;}memcpy(m_Mbr.BootRecord.szBootRecord, szMBRInfo, BOOTRECORDSIZE * sizeof(UCHAR));memcpy(m_Mbr.ulSigned, szMBRInfo[BOOTRECORDSIZE], DISKSIGNEDSIZE);memcpy(m_Mbr.szReserve, szMBRInfo[BOOTRECORDSIZE DISKSIGNEDSIZE], RESERVESIZE);for (int i 0; i 4; i){m_Mbr.Dpt[i].szBootSign szMBRInfo[BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE i * DPTSIZE];m_Mbr.Dpt[i].szStartHeadNumber szMBRInfo[BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE i * DPTSIZE 1];m_Mbr.Dpt[i].szStartSectorNumber szMBRInfo[BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE i * DPTSIZE 2];m_Mbr.Dpt[i].szStartCylinderNumber szMBRInfo[BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE i * DPTSIZE 3];m_Mbr.Dpt[i].szPartitionType szMBRInfo[BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE i * DPTSIZE 4];m_Mbr.Dpt[i].szEndHeadNumber szMBRInfo[BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE i * DPTSIZE 5];m_Mbr.Dpt[i].szEndSectorNumber szMBRInfo[BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE i * DPTSIZE 6];m_Mbr.Dpt[i].szEndCylinderNumber szMBRInfo[BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE i * DPTSIZE 7];m_Mbr.Dpt[i].ulSectorsPreceding *((int*)szMBRInfo[BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE i * DPTSIZE 8]);m_Mbr.Dpt[i].ulSectorsInPartition *((int*)szMBRInfo[BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE i * DPTSIZE 12]);}memcpy(m_Mbr.szEndSign, szMBRInfo[MBRSIZE - ENDSIGNSIZE], ENDSIGNSIZE);UCHAR szTemp[3];CString strTemp _T();for (int i 0; i MBRSIZE; i){ZeroMemory(szTemp, 3 * sizeof(UCHAR));wsprintf((LPTSTR)szTemp, _T(%02X), szMBRInfo[i]);strTemp szTemp;m_strMBRInfo strTemp;if ((i 1) % 16 0){m_strMBRInfo _T(\r\n);}else{m_strMBRInfo _T( );}}m_ctrlMBREdit.SetWindowText(m_strMBRInfo); }void CMBRInfoDlg::OnTvnSelchangedTreeMbr(NMHDR *pNMHDR, LRESULT *pResult) {LPNMTREEVIEW pNMTreeView reinterpret_castLPNMTREEVIEW(pNMHDR);// TODO: 在此添加控件通知处理程序代码HTREEITEM hItem m_ctrlMBRTree.GetSelectedItem();CString strItemText m_ctrlMBRTree.GetItemText(hItem);if (strItemText _T(引导程序)){m_ctrlMBREdit.SetSel(0, 4 * BOOTRECORDSIZE - 2);m_strTips _T(引导程序占440字节);m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(Windows磁盘签名)){m_ctrlMBREdit.SetSel(4 * BOOTRECORDSIZE, 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE) - 2);m_strTips _T(Windows磁盘签名占4个字节);m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(保留位)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE) - 2);m_strTips _T(保留位占2个字节);m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTNUMBER * DPTSIZE) - 2);m_strTips _T(分区表总占64个字节系统最多有4个主分区。双击分区表节点可以展开下一级节点查看各个分区的具体信息。);m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(结束标志)){m_ctrlMBREdit.SetSel(4 * (MBRSIZE - ENDSIGNSIZE), 4 * MBRSIZE - 2);m_strTips _T(结束标志占2个字节。[55 AA]为正常结束标志);m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(第一分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE) - 2);m_strTips _T(每一个分区表占16个字节双击第一分区表节点可以展开查看该分区的具体信息);m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(第二分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2) - 2);m_strTips _T(每一个分区表占16个字节双击第二分区表节点可以展开查看该分区的具体信息);m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(第三分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3) - 2);m_strTips _T(每一个分区表占16个字节双击第三分区表节点可以展开查看该分区的具体信息);m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(第四分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 4) - 2);m_strTips _T(每一个分区表占16个字节双击第四分区表节点可以展开查看该分区的具体信息);m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(引导标志)){HTREEITEM hParentItem m_ctrlMBRTree.GetParentItem(hItem);CString strParentText m_ctrlMBRTree.GetItemText(hParentItem);if (strParentText _T(第一分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 1) - 2);if (m_Mbr.Dpt[0].szBootSign 0x80){m_strTips _T(活动分区);}else if (m_Mbr.Dpt[0].szBootSign 0x00){m_strTips _T(非活动分区);}else{m_strTips _T(未知分区);}m_ctrlTips.SetWindowText(m_strTips);}if (strParentText _T(第二分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 1) - 2);if (m_Mbr.Dpt[1].szBootSign 0x80){m_strTips _T(活动分区);}else if (m_Mbr.Dpt[1].szBootSign 0x00){m_strTips _T(非活动分区);}else{m_strTips _T(未知分区);}m_ctrlTips.SetWindowText(m_strTips);}if (strParentText _T(第三分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 1) - 2);if (m_Mbr.Dpt[2].szBootSign 0x80){m_strTips _T(活动分区);}else if (m_Mbr.Dpt[2].szBootSign 0x00){m_strTips _T(非活动分区);}else{m_strTips _T(未知分区);}m_ctrlTips.SetWindowText(m_strTips);}if (strParentText _T(第四分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 1) - 2);if (m_Mbr.Dpt[3].szBootSign 0x80){m_strTips _T(活动分区);}else if (m_Mbr.Dpt[3].szBootSign 0x00){m_strTips _T(非活动分区);}else{m_strTips _T(未知分区);}m_ctrlTips.SetWindowText(m_strTips);}}if (strItemText _T(起始磁头号)){HTREEITEM hParentItem m_ctrlMBRTree.GetParentItem(hItem);CString strParentText m_ctrlMBRTree.GetItemText(hParentItem);if (strParentText _T(第一分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 1), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 2) - 2);}if (strParentText _T(第二分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 1), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 2) - 2);}if (strParentText _T(第三分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 1), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 2) - 2);}if (strParentText _T(第四分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 1), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 2) - 2);}m_strTips _T(起始磁头号);m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(起始扇区号)){HTREEITEM hParentItem m_ctrlMBRTree.GetParentItem(hItem);CString strParentText m_ctrlMBRTree.GetItemText(hParentItem);if (strParentText _T(第一分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 2), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 3) - 2);m_strTips.Format(_T(起始扇区号为该字节的低六位这里的具体值是%02X), m_Mbr.Dpt[0].szStartSectorNumber 0x3F);m_ctrlTips.SetWindowText(m_strTips);}if (strParentText _T(第二分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 2), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 3) - 2);m_strTips.Format(_T(起始扇区号为该字节的低六位这里的具体值是%02X), m_Mbr.Dpt[1].szStartSectorNumber 0x3F);m_ctrlTips.SetWindowText(m_strTips);}if (strParentText _T(第三分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 2), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 3) - 2);m_strTips.Format(_T(起始扇区号为该字节的低六位这里的具体值是%02X), m_Mbr.Dpt[2].szStartSectorNumber 0x3F);m_ctrlTips.SetWindowText(m_strTips);}if (strParentText _T(第四分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 2), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 3) - 2);m_strTips.Format(_T(起始扇区号为该字节的低六位这里的具体值是%02X), m_Mbr.Dpt[3].szStartSectorNumber 0x3F);m_ctrlTips.SetWindowText(m_strTips);}}if (strItemText _T(起始柱面号)){HTREEITEM hParentItem m_ctrlMBRTree.GetParentItem(hItem);CString strParentText m_ctrlMBRTree.GetItemText(hParentItem);if (strParentText _T(第一分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 3), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 4) - 2);m_strTips.Format(_T(起始柱面号为起始扇区号的高2位起始柱面号这里的具体值是%004X), ((int)(m_Mbr.Dpt[0].szStartSectorNumber 0xC0) 2) m_Mbr.Dpt[0].szStartCylinderNumber);}if (strParentText _T(第二分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 3), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 4) - 2);m_strTips.Format(_T(起始柱面号为起始扇区号的高2位起始柱面号这里的具体值是%004X), ((int)(m_Mbr.Dpt[1].szStartSectorNumber 0xC0) 2) m_Mbr.Dpt[1].szStartCylinderNumber);}if (strParentText _T(第三分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 3), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 4) - 2);m_strTips.Format(_T(起始柱面号为起始扇区号的高2位起始柱面号这里的具体值是%004X), ((int)(m_Mbr.Dpt[2].szStartSectorNumber 0xC0) 2) m_Mbr.Dpt[2].szStartCylinderNumber);}if (strParentText _T(第四分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 3), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 4) - 2);m_strTips.Format(_T(起始柱面号为起始扇区号的高2位起始柱面号这里的具体值是%004X), ((int)(m_Mbr.Dpt[3].szStartSectorNumber 0xC0) 2) m_Mbr.Dpt[3].szStartCylinderNumber);}m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(分区类型)){HTREEITEM hParentItem m_ctrlMBRTree.GetParentItem(hItem);CString strParentText m_ctrlMBRTree.GetItemText(hParentItem);int iPartitionType 0;if (strParentText _T(第一分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 4), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 5) - 2);iPartitionType m_Mbr.Dpt[0].szPartitionType;}if (strParentText _T(第二分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 4), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 5) - 2);iPartitionType m_Mbr.Dpt[1].szPartitionType;}if (strParentText _T(第三分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 4), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 5) - 2);iPartitionType m_Mbr.Dpt[2].szPartitionType;}if (strParentText _T(第四分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 4), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 5) - 2);iPartitionType m_Mbr.Dpt[3].szPartitionType;}switch (iPartitionType){case 0x00:m_strTips _T(该分区未使用);break;case 0x05:m_strTips _T(拓展分区);break;case 0x06:m_strTips _T(FAT16基本分区);break;case 0x07:m_strTips _T(NTFS分区);break;case 0x0B:m_strTips _T(FAT32基本分区);break;case 0x0F:m_strTips _T(LBA模式拓展分区);break;case 0x83:m_strTips _T(Linux分区);break;default:m_strTips _T(未知分区);}m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(结束磁头号)){HTREEITEM hParentItem m_ctrlMBRTree.GetParentItem(hItem);CString strParentText m_ctrlMBRTree.GetItemText(hParentItem);if (strParentText _T(第一分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 5), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 6) - 2);}if (strParentText _T(第二分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 5), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 6) - 2);}if (strParentText _T(第三分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 5), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 6) - 2);}if (strParentText _T(第四分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 5), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 6) - 2);}m_strTips _T(结束磁头号);m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(结束扇区号)){HTREEITEM hParentItem m_ctrlMBRTree.GetParentItem(hItem);CString strParentText m_ctrlMBRTree.GetItemText(hParentItem);if (strParentText _T(第一分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 6), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 7) - 2);m_strTips.Format(_T(结束扇区号为该字节的低六位这里的具体值是%02X), m_Mbr.Dpt[0].szEndSectorNumber 0x3F);m_ctrlTips.SetWindowText(m_strTips);}if (strParentText _T(第二分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 6), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 7) - 2);m_strTips.Format(_T(结束扇区号为该字节的低六位这里的具体值是%02X), m_Mbr.Dpt[1].szEndSectorNumber 0x3F);m_ctrlTips.SetWindowText(m_strTips);}if (strParentText _T(第三分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 6), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 7) - 2);m_strTips.Format(_T(结束扇区号为该字节的低六位这里的具体值是%02X), m_Mbr.Dpt[2].szEndSectorNumber 0x3F);m_ctrlTips.SetWindowText(m_strTips);}if (strParentText _T(第四分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 6), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 7) - 2);m_strTips.Format(_T(结束扇区号为该字节的低六位这里的具体值是%02X), m_Mbr.Dpt[3].szEndSectorNumber 0x3F);m_ctrlTips.SetWindowText(m_strTips);}}if (strItemText _T(结束柱面号)){HTREEITEM hParentItem m_ctrlMBRTree.GetParentItem(hItem);CString strParentText m_ctrlMBRTree.GetItemText(hParentItem);if (strParentText _T(第一分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 7), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 8) - 2);m_strTips.Format(_T(结束柱面号为起始扇区号的高2位起始柱面号这里的具体值是%004X), ((int)(m_Mbr.Dpt[0].szEndSectorNumber 0xC0) 2) m_Mbr.Dpt[0].szEndCylinderNumber);}if (strParentText _T(第二分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 7), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 8) - 2);m_strTips.Format(_T(结束柱面号为起始扇区号的高2位起始柱面号这里的具体值是%004X), ((int)(m_Mbr.Dpt[1].szEndSectorNumber 0xC0) 2) m_Mbr.Dpt[1].szEndCylinderNumber);}if (strParentText _T(第三分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 7), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 8) - 2);m_strTips.Format(_T(结束柱面号为起始扇区号的高2位起始柱面号这里的具体值是%004X), ((int)(m_Mbr.Dpt[2].szEndSectorNumber 0xC0) 2) m_Mbr.Dpt[2].szEndCylinderNumber);}if (strParentText _T(第四分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 7), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 8) - 2);m_strTips.Format(_T(结束柱面号为起始扇区号的高2位起始柱面号这里的具体值是%004X), ((int)(m_Mbr.Dpt[3].szEndSectorNumber 0xC0) 2) m_Mbr.Dpt[3].szEndCylinderNumber);}m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(本分区前使用的扇区数)){HTREEITEM hParentItem m_ctrlMBRTree.GetParentItem(hItem);CString strParentText m_ctrlMBRTree.GetItemText(hParentItem);if (strParentText _T(第一分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 8), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 12) - 2);m_strTips.Format(_T(本分区前扇区数%08X), m_Mbr.Dpt[0].ulSectorsPreceding);}if (strParentText _T(第二分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 8), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 12) - 2);m_strTips.Format(_T(本分区前扇区数%08X), m_Mbr.Dpt[1].ulSectorsPreceding);}if (strParentText _T(第三分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 8), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 12) - 2);m_strTips.Format(_T(本分区前扇区数%08X), m_Mbr.Dpt[2].ulSectorsPreceding);}if (strParentText _T(第四分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 8), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 12) - 2);m_strTips.Format(_T(本分区前扇区数%08X), m_Mbr.Dpt[3].ulSectorsPreceding);}m_ctrlTips.SetWindowText(m_strTips);}if (strItemText _T(本分区的总扇区数)){HTREEITEM hParentItem m_ctrlMBRTree.GetParentItem(hItem);CString strParentText m_ctrlMBRTree.GetItemText(hParentItem);if (strParentText _T(第一分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 12), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE 16) - 2);m_strTips.Format(_T(本分区扇区数%08X.本分区的大小为%lfG), m_Mbr.Dpt[0].ulSectorsInPartition, m_Mbr.Dpt[0].ulSectorsInPartition * 1.0 * 512 / 1024 / 1024 / 1024);}if (strParentText _T(第二分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 12), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE 16) - 2);m_strTips.Format(_T(本分区扇区数%08X.本分区的大小为%lfG), m_Mbr.Dpt[1].ulSectorsInPartition, m_Mbr.Dpt[1].ulSectorsInPartition * 1.0 * 512 / 1024 / 1024 / 1024);}if (strParentText _T(第三分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 12), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 2 16) - 2);m_strTips.Format(_T(本分区扇区数%08X.本分区的大小为%lfG), m_Mbr.Dpt[2].ulSectorsInPartition, m_Mbr.Dpt[2].ulSectorsInPartition * 1.0 * 512 / 1024 / 1024 / 1024);}if (strParentText _T(第四分区表)){m_ctrlMBREdit.SetSel(4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 12), 4 * (BOOTRECORDSIZE DISKSIGNEDSIZE RESERVESIZE DPTSIZE * 3 16) - 2);m_strTips.Format(_T(本分区扇区数%08X.本分区的大小为%lfG), m_Mbr.Dpt[3].ulSectorsInPartition, m_Mbr.Dpt[3].ulSectorsInPartition * 1.0 * 512 / 1024 / 1024 / 1024);}m_ctrlTips.SetWindowText(m_strTips);}*pResult 0; }HBRUSH CMBRInfoDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {//HBRUSH hbr CDialog::OnCtlColor(pDC, pWnd, nCtlColor);// TODO: 在此更改 DC 的任何属性pDC-SetBkMode(TRANSPARENT);if (pWnd GetDlgItem(IDC_EDIT_MBR)){return CreateSolidBrush(RGB(150, 100, 100));}else{return CreateSolidBrush(RGB(120, 100, 100));}// TODO: 如果默认的不是所需画笔则返回另一个画笔//return hbr; }BOOL CMBRInfoDlg::OpenDevice(void) {DWORD dwError 0;CString strError _T();m_hDevice CreateFile(_T(\\\\.\\PhysicalDrive0), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);if (INVALID_HANDLE_VALUE m_hDevice){dwError GetLastError();strError.Format(_T(CreateFile Error : %d), dwError);AfxMessageBox(strError);return FALSE;}return TRUE; } 三、程序下载地址 http://pan.baidu.com/s/1jGKCa94转载于:https://www.cnblogs.com/qiyueliuguang/p/3624677.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

临沂网站建设昂牛网络网站建设与管理好处

上链接:【深基16.例1】淘汰赛 - 洛谷https://www.luogu.com.cn/problem/P4715 上题干: 题目描述 有 2^n(n≤7)个国家参加世界杯决赛圈且进入淘汰赛环节。已经知道各个国家的能力值,且都不相等。能力值高的国家和能力值…

优质聊城做网站公司网站流量 次

目录 一,创建登录ui界面类 LoginWidget 二,添加图片资源 三,通过样式的方法将图片设置成圆圈的背景 四,新建登录后的ui界面 MWindow 简陋的就可以,因为只为了学习,可以自己补充 五,新建三个嵌套ui界面类,ChatWidget聊天界面 FriendWiidget好友界面 CollectW…

服装购物商城网站建设wordpress 收费主题下载

图源:文心一言 听课笔记简单整理,供小伙伴们参考,包含以下内容“🐋3.11 引用类型、🐋3.14 内联函数、🐋3.15 默认参数值、🐋3.16 函数重载、🐋3.17 C系统函数”~🥝&…

网站网址怎么写网站域名如何查询

Statement对象和查询结果集 Statement对象相关的方法 Connection接口中获取数据库操作对象Statement对象的方法 方法名功能Statement createStatement()创建Statement对象 Statement对象执行增删改查的SQL语句(不含占位符"?")的方法,JDBC中的SQL语句不需要提供分…

网站内容建设的原则是什么意思酒店找人做网站

WebRTC是音视频直播中最常用的一个框架,在使用的过程中,我们就需要实现一个服务器端。本文以nodejs实现一个服务器为例,讲述一下在centos下如何用nodejs实现一个简单的web服务器。 一、安装nodejs 在linux环境下安装nodejs有多重方式&#x…

深圳市鸿运通网站建设郑州鹏之信网站建设

之前因为工作中用的都是SVN版本控制工具,没接触过git和github,现在开始深入自学Django框架技术后,看到官网推荐使用git,然后这两天网上查阅了很多文章教程,学到入门操作需要学习的点,太多的知识点要后面慢慢…

郑州网站推广营销给个网站能看的

拿到手第一反应还是暴力,直接从低位到高位把数一个个取出来,然后乘以每一位的权重,构成一个新的反转后的整数 res 返回,代码如下 package mainimport ("fmt""math" )func reverse(x int) int {if x > -10…

学校做网站一般多少钱瑞幸网络营销策划

机器学习常用距离度量方法 前言一、前期准备二、距离度量方法1. 欧氏距离2.曼哈顿距离3.切比雪夫距离4. 闵可夫斯基距离 总结 前言 机器学习中往往通过度量来研究不同样本或数据集之间的差异性,合适的度量方式可以显著提高算法的准确率,因此在接下来的内…

创业服务网网站建设方案项目书网站开发过程中的方法

近年来,随着城市化进程的加速推进,智慧公厕成为人民生活质量提升的重要组成部分。作为一个富有创新和科技感的解决方案,智慧公厕不仅满足了人们对公共环境的要求,还提供了一系列便利的服务,让人们的生活更加舒适、便捷…

常州公司做网站创建一个网站的技术

摘要: 2023-12-01 AIGC-自动生成ppt-记录 自动生成ppt: BoardMix boardmix 一键生成ppt boardmix是一款基于云的ai设计软件,允许创建用于各种目的的自定义演示文稿、ai绘画,ai生成思维导图等。以下是它的一些功能: 可定制的模板 - 它有一个…

互联网网站建设月总结北京设计企业网站

Trace 是Rabbitmq用于记录每一次发送的消息,方便使用Rabbitmq的开发者调试、排错。 1、启动Tracing插件 在RabbitMQ中默认是关闭的,需手动开启。此处rabbitMQ是使用docker部署的 ## 进入rabbitMq中 docker exec -it rabbitmq1 bash ## 启动日志插件 r…

网站如何做支付系统网站流量少怎么办

1 AKConv原理 AKConv: Convolutional Kernel with Arbitrary Sampled Shapes andArbitrary Number of Parameters 摘要:基于卷积运算的神经网络在深度学习领域取得了令人瞩目的成果,但标准卷积运算存在两个固有的缺陷。一方面,卷积运算仅限于局部窗口,无法捕获其他位置的…

淘宝刷网站建设去除wordpress后台登录logo

在 web 应用程序开发中,数据的增、删、改、查(CRUD)操作是最基本的功能之一。Django 作为一个高效的 web 框架,提供了强大的 ORM(对象关系映射)功能,使得开发者可以通过 Python 代码直接操作数据库,而不需要编写繁琐的 SQL 语句。这种简化和抽象帮助开发者快速构建、测…

长春做网站推广东莞网站建设推广

很明了的一个常用参数图标: 更像细的一个参数说明: 由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try ... finally来…

如何一键建淘宝客网站丽水高端网站建设

上一章的内容 练习!上一章表的内容!!!熟能生巧 先重新创建一个数据库 命令create database supermarket; 然后查看数据库、再切换到当前数据库。 查看数据库 : show databases; 切换到当前数据库: use supermarket;创建员工…

济南好的网站建设公司免费seo网站

文章目录 0 简介1 课题背景🚩 2 口罩佩戴算法实现2.1 YOLO 模型概览2.2 YOLOv32.3 YOLO 口罩佩戴检测实现数据集 2.4 实现代码2.5 检测效果 3 口罩佩戴检测算法评价指标3.1 准确率(Accuracy)3.2 精确率(Precision)和召回率(Recall)3.3 平均精…

做模板网站的利与弊做网站的哪个好

网上各种标为2013年,实际上都是2012年或者更早的,下面的才是真正的2013年5月5日考试的卷子。 答题说明: 1.答题时间90分钟,请注意把握时间; 2.试题分为四个部分:单项选择题(10题,20分…

网站排名优化培训电话网页创意设计

最近,德迅云安全遇到不少网站用户遇到攻击问题,来咨询安全解决方案。目前在所有的网络攻击方式中,DDoS是最常见,也是最高频的攻击方式之一。不少用户网站上线后,经常会遭受到攻击的困扰。有些攻击持续时间比较短影响较…

网站建设的基本特点临沂市建设局网站

问答网是一款为IT工程师提供的问答平台,旨在帮助用户在线获取专业知识和相关问题的答案。在问答网,用户可以轻松找到其他人的问答问题,并在这里寻求解答。如果您有任何想要解决的问题,都可以在此发布问题并得到其他同行的解答。 …