QT中怎么获取硬盘ID

QT中怎么获取硬盘ID,第1张

1、首先点击电脑左下角的逗开始地,选择逗运行地,输入逗cmd地,或者直接按快捷键逗win+R地

2、在命令提示符中,输入逗diskpart地;有些电脑会提示用户账户控制逗是否允许以下程序对电脑进行控制看选择地是逗即可!

3、接着再输入地list disk逗,并按回车

4、执行结束后,再次输入select disk 0,按回车;

5、执行结束后,再输入detail disk,按回车,就能出现硬盘ID了,

怎么查看电脑硬盘序列号?现在电脑越来越普及,硬盘是电脑的存储和内存便携设备,我们电脑上的硬盘都有序列号,而且硬盘序列号跟我们身份z编号同样具有唯一性,那我们电脑硬盘序列号要怎么看呢?下面小编就教大家获取电脑硬盘序列号的方法。

查看硬盘序列号的方法如下:

1首先,敲击键盘“WIN+R”,然后在打开的运行窗口里输入cnd,再点确定。

2接着在打开的命令窗口中,输入diskpart,再敲下回车键。

3下一步,输入list disk,再敲击回车键,就可以看到电脑中硬盘数量以及相应的序号,大多数电脑只有一个硬盘,这里小编的电脑也只有一个硬盘,序列号为0。

4再者,输入select disk 0,按下回车键,当然如果你的电脑有多个硬盘,只需要将0换成其他序号即可。

5最后输入detail disk,然后按下回车键即可显示该硬盘的详细信息。然后硬盘信息中第二行里的磁盘ID就是硬盘的序列号。

以上就是小编介绍硬盘的序列号查询方法,按照上述步骤就能查看到电脑硬盘序列号,希望能够帮助到大家。

步骤如下:

1、鼠标右键我的电脑--管理

2、依次点击设备管理器--想要查看的硬件如:键盘--属性

3、点击详细信息--硬件ID

4、立马显示硬件ID信息

1、右銉点“计算机”,打开设备管理器

2、选择硬盘3、看属性4、

属性的最后一列"详细信息" 中 "硬件ID” 一项的值,就是了!在BIOS里查 启动的时候点DEL,进入BIOS,在BOOT栏里可以找到你的硬盘信息

同LS BS 4L &易语言LZ的问题应该是没有声明一个RegistryKeyRegistryKey regNew_GetDisk = RegistryLocalMachineOpenSubKey(@\"\\HardWare\\Devicemap\\Scsi\\Scsi port 0\\Scsi Bus 0\\Target Id\\\\Logical Unit Id 0\", false);string Value = regNew_GetDiskGetValue(\"Identifier\",\"none\")ToString ();MessageBoxShow(Value);regNew_GetDiskClose();注意引用MicrosoftWin32 namespace

BOOL __fastcall DoIdentify( HANDLE hPhysicalDriveIOCTL,

PSENDCMDINPARAMS pSCIP,

PSENDCMDOUTPARAMS pSCOP,

BYTE btIDCmd,

BYTE btDriveNum,

PDWORD pdwBytesReturned)

{

pSCIP->cBufferSize = IDENTIFY_BUFFER_SIZE;

pSCIP->irDriveRegsbFeaturesReg = 0;

pSCIP->irDriveRegsbSectorCountReg = 1;

pSCIP->irDriveRegsbSectorNumberReg = 1;

pSCIP->irDriveRegsbCylLowReg = 0;

pSCIP->irDriveRegsbCylHighReg = 0;

pSCIP->irDriveRegsbDriveHeadReg = (btDriveNum & 1) 0xB0 : 0xA0;

pSCIP->irDriveRegsbCommandReg = 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 GetID() //主函数

{

//创建设备对象,得到设备句柄,设备为硬盘。

CString sFilePath;

sFilePathFormat("\\\\\\PHYSICALDRIVE%d", driver);

HANDLE hFile=::CreateFile(sFilePath,

GENERIC_READ | GENERIC_WRITE,

FILE_SHARE_READ | FILE_SHARE_WRITE,

NULL, OPEN_EXISTING,

0, NULL);

DWORD dwBytesReturned;

GETVERSIONINPARAMS gvopVersionParams;

DeviceIoControl(hFile, //向设备对象发送SMART_GET_VERSION设备请求,获取硬盘属性

SMART_GET_VERSION,

NULL,

0,

&gvopVersionParams,

sizeof(gvopVersionParams),

&dwBytesReturned, NULL);

if(gvopVersionParamsbIDEDeviceMap <= 0) return -2;

//发送SMART_RCV_DRIVE_DATA设备请求,获取硬盘详细信息。

// IDE or ATAPI IDENTIFY cmd

int btIDCmd = 0;

SENDCMDINPARAMS InParams;

int nDrive =0;

btIDCmd = (gvopVersionParamsbIDEDeviceMap >> 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;}

以上就是关于QT中怎么获取硬盘ID全部的内容,包括:QT中怎么获取硬盘ID、电脑硬盘序列号地址查询方法、如何获取自己电脑的硬件ID。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10038826.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存