A. 怎樣在vc++中獲得硬碟的序列號
vc++中獲得硬碟的序列號可以參考如下代碼:圓鍵
//MyDiskInfo.h頭文件
#pragma once
class MyDiskInfo
{
public:
MyDiskInfo(void);
public:
~MyDiskInfo(void);
public:
int GetDiskInfo(int driver=0);
char szModelNumber[64];
char szSerialNumber[64];
};
/橘凱巧/MyDiskInfo.cpp文件
// MyDiskInfo.cpp: implementation of the CMyDiskInfo class.
//
#include "stdafx.h"
#include "MyDiskInfo.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
const WORD IDE_ATAPI_IDENTIFY = 0xA1; // 讀取ATAPI設備的命令
const WORD IDE_ATA_IDENTIFY = 0xEC; // 讀取ATA設備的命令
#define _WIN32_WINNT 0x0400
#include "winioctl.h"
//孫雹#include "NTDDSCSI.h"
// Construction/Destruction
MyDiskInfo::MyDiskInfo(void)
{
}
MyDiskInfo::~MyDiskInfo(void)
{
}
BOOL __fastcall DoIdentify( HANDLE hPhysicalDriveIOCTL,
PSENDCMDINPARAMS pSCIP,
PSENDCMDOUTPARAMS pSCOP,
BYTE btIDCmd,
BYTE btDriveNum,
PDWORD pdwBytesReturned)
{
pSCIP->cBufferSize = IDENTIFY_BUFFER_SIZE;
pSCIP->irDriveRegs.bFeaturesReg = 0;
pSCIP->irDriveRegs.bSectorCountReg = 1;
pSCIP->irDriveRegs.bSectorNumberReg = 1;
pSCIP->irDriveRegs.bCylLowReg = 0;
pSCIP->irDriveRegs.bCylHighReg = 0;
pSCIP->irDriveRegs.bDriveHeadReg = (btDriveNum & 1) ? 0xB0 : 0xA0;
pSCIP->irDriveRegs.bCommandReg = btIDCmd;
pSCIP->bDriveNumber = btDriveNum;
pSCIP->cBufferSize = IDENTIFY_BUFFER_SIZE;
return DeviceIoControl( hPhysicalDriveIOCTL,
SMART_RCV_DRIVE_DATA,
(LPVOID)pSCIP,
sizeof(SENDCMDINPARAMS) - 1,
(LPVOID)pSCOP,
sizeof(SENDCMDOUTPARAMS) + IDENTIFY_BUFFER_SIZE - 1,
pdwBytesReturned, NULL);
}
char *__fastcall ConvertToString(DWORD dwDiskData[256], int nFirstIndex, int nLastIndex)
{
static char szResBuf[1024];
char ss[256];
int nIndex = 0;
int nPosition = 0;
for(nIndex = nFirstIndex; nIndex <= nLastIndex; nIndex++)
{
ss[nPosition] = (char)(dwDiskData[nIndex] / 256);
nPosition++;
// Get low BYTE for 2nd character
ss[nPosition] = (char)(dwDiskData[nIndex] % 256);
nPosition++;
}
// End the string
ss[nPosition] = '\0';
int i, index=0;
for(i=0; i <nPosition; i++)
{
if(ss[i]==0 || ss[i]==32) continue;
szResBuf[index]=ss[i];
index++;
}
szResBuf[index]=0;
return szResBuf;
}
int MyDiskInfo::GetDiskInfo(int driver)
{
char sFilePath[64]={0};
sprintf(sFilePath,"\\\\.\\PHYSICALDRIVE%d",driver);//modify by lonkil 2008-07-13
HANDLE hFile = INVALID_HANDLE_VALUE;
hFile = ::CreateFile(sFilePath,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL, OPEN_EXISTING,
0, NULL);
if (hFile == INVALID_HANDLE_VALUE) return -1;
DWORD dwBytesReturned;
GETVERSIONINPARAMS gvopVersionParams;
DeviceIoControl(hFile,
SMART_GET_VERSION,
NULL,
0,
&gvopVersionParams,
sizeof(gvopVersionParams),
&dwBytesReturned, NULL);
if(gvopVersionParams.bIDEDeviceMap <= 0) return -2;
// IDE or ATAPI IDENTIFY cmd
int btIDCmd = 0;
SENDCMDINPARAMS InParams;
int nDrive =0;
btIDCmd = (gvopVersionParams.bIDEDeviceMap >> nDrive & 0x10) ? IDE_ATAPI_IDENTIFY : IDE_ATA_IDENTIFY;
// 輸出參數
BYTE btIDOutCmd[sizeof(SENDCMDOUTPARAMS) + IDENTIFY_BUFFER_SIZE - 1];
if(DoIdentify(hFile,
&InParams,
(PSENDCMDOUTPARAMS)btIDOutCmd,
(BYTE)btIDCmd,
(BYTE)nDrive, &dwBytesReturned) == FALSE) return -3;
::CloseHandle(hFile);
DWORD dwDiskData[256];
USHORT *pIDSector; // 對應結構IDSECTOR,見頭文件
pIDSector = (USHORT*)((SENDCMDOUTPARAMS*)btIDOutCmd)->bBuffer;
for(int i=0; i < 256; i++) dwDiskData[i] = pIDSector[i];
// 取系列號
ZeroMemory(szSerialNumber, sizeof(szSerialNumber));
strcpy(szSerialNumber, ConvertToString(dwDiskData, 10, 19));
// 取模型號
ZeroMemory(szModelNumber, sizeof(szModelNumber));
strcpy(szModelNumber, ConvertToString(dwDiskData, 27, 46));
return 0;
}
B. 如何看電腦硬碟序列號
問題一:如何查看電腦硬碟序列號 第一步
單擊【開始】→【運行...】,輸入cmd
第二步
輸入diskpart,按回車鍵
第三步
輸入list disk,按回車鍵
第四步
輸入select disk 0,按回車鍵
第五步
輸入detail disk,按回車鍵
第六步
彈出的信息中第二行就是硬碟序列號
問題二:如何查看電腦的硬碟序列號 如果是直接看硬碟的話,就是MDL後面的字母和數字就是序列號。
如果在系統中看:
計算機--右鍵--管理---設備管理器。右邊。。磁碟驅動器,點開,看。
使用第三方軟體:金山裝機精靈。裡面有個查看硬體。
問題三:聯想台式電腦硬碟序列號怎麼看 方法如下:
一、打開「我的電腦」點擊滑鼠右鍵,依次選擇管理――設備管理器――磁碟驅動器。
二、硬碟標簽上有標注,SN:xxxxxxxxxxxx。
三、網路硬碟序列號讀取工具,下載安裝後點擊讀取即可。
四、安裝電腦管家進行查詢也可以。
五、撥打8008108888-2咨詢產品工程師。
問題四:電腦硬碟序列號查看方法? 第一步
單擊【開始】→【運行...】,輸入cmd
第二步
輸入diskpart,按回車鍵
第三步
輸入list disk,按回車鍵
第四步
輸入select disk 0,按回車鍵
第五步
輸入detail disk,按回車鍵
第六步
彈出的信息中第二行就是硬碟序列號
問題五尺叢:硬碟序列號的查看方法 ..
進系統 點我的電腦 右鍵屬性 里找、設備 里有
問題六:電腦硬碟序列號怎麼查詢 硬體型號檢測工具 (圖)
硬碟上標有
S/N:號碼
問題七:如何查看電腦硬碟序列號 1、購買硬碟時,乎困讓通常在硬碟上面的標簽上都會有硬碟序列號。
2、對於筆記本,硬碟都是安裝在歲局筆記本內部的,這時,可以下載「EVEREST Ultimate」來讀取硬碟序列號。下載該軟體後,解壓縮,運行Everest.exe。
問題八:怎樣查看電腦硬碟序列號 在正面標簽上S/N一欄。
問題九:如何查看電腦硬碟序列號 點擊開始,在搜索中輸入cmd,回車,打開命令窗口
在命令行輸入diskpart,啟動diskpart程序,我們就是要利用這個程序來查看磁碟ID,該程序屬於系統程序的一部分,大多數電腦都有的
啟動了diskpart程序後,接著輸入list disk,也就是把電腦上的所有磁碟都羅列出來,因為我的電腦上只有一個磁碟,因此就出現了磁碟0
接著輸入select disk 0 ,也就是選擇剛剛羅列出來的磁碟序號
選好要查看的磁碟後,接著輸入detail disk,硬碟的信息將會全部展現出來,其中有一項就是磁碟ID,到此任務完成
問題十:怎麼用Dos查看硬碟序列號 lz你好,參見下面的圖示,dispart -> list volume,有問題再追問吧。
C. 如何獲得硬碟序列號
1用硬碟序列號讀取軟體可以查到,
2
DOS命令行操作:
使用diskpart命令,Win+R鍵運行cmd,進入命令行界面:
1.diskpart
2.list disk 查看有幾塊硬碟
3.select disk 0 選擇第一塊硬碟
4.detail disk 顯示選擇的硬碟詳細信息,顯示的第一行是硬碟型號,第二行ID是序列號。
5.若有多塊硬碟,返回第3步繼續下面操作。
D. 硬碟序列號最簡單查詢方法
電腦硬碟序列號最簡單的查詢方法如下:
操作環境:聯想(Lenovo)E76X,window7系統等。
1、滑鼠右鍵「計算機」,選擇「屬性」。
如何選擇硬碟?
1、固態硬碟也分為常見的為2.5寸的固態硬碟和M.2介面的長條硬碟,目前主流的是M.2的長條硬碟,一般支持NVME協議,讀寫速度一般在2000M每秒,高的能達到5000M每秒。而SATA口的固態硬碟上限也才500M每秒。有接近7倍的差距,所以買硬碟時一定認准M.2介面,支持NVME協議的硬碟。
如果不支持NVME協議,M.2介面但走SATA匯流排,速度還是最高500M每秒,所以要同時滿足M.2介面和支持NVME協議才行。
2、目前還有「PCIe4.0固態硬碟」,形態和M.2介面的形態是一樣的,不過速度最高可達7000M每秒,但需要CPU和主板的支持,好在目豎慧吵前英特爾13代,還有AMD主流主板,都支碧敬持PCIe4.0固態硬碟了。
3、PCIe介面的固態硬碟,不太常見,速度上對比M.2介面的固態硬碟也沒有什麼優勢,還要佔用一個PCIe插槽,所以不必太余侍關注。
E. 電腦硬碟的序列號是什麼
磁碟ID和硬碟序列號不是一回事。