为您找到"
DELPHI,截取字符串,截取硬盘序列号的后八位?
"相关结果约100,000,000个
Result := IntToHex(vVolumeSerialNumber, 8);end;end;
Result := IntToHex(vVolumeSerialNumber, 8);end;end;
前面给出的是volume ID, 逻辑序号, 不是真正意思的物理硬盘序列号。下面这个才是:/// // Source code from w w w。delphipraxis。net /// unit hddinfo;interface uses Windows, SysUtils, Classes;const IOCTL_STORAGE_QUERY_PROPERTY = $2D1400;type THDDInfo = class (TObject)private FDr...
1、网上的半瓶子醋很多(包括我),当然,百度更多。GetVolumeInformation是获取分区序列号,不是物理序列号,重装系统、格式化硬盘就会变,甚至用软件都能修改。还有一种WMI方法,不过不保险(有的硬盘ID前面有空字符)。比较保险的是DeviceIoControl函数,代码较长。2、如果楼主喜欢那个GetVolumeInformation,...
一、 用GetDriveType函数获取磁盘信息 Lbl_DriveType:Tlabel; DriveType:WORD; //定义驱动器类型变量 DriveType:=GetDriveType(RootPathName); //获得RootPathName所对应的磁盘驱动器信息 case DriveType of DRIVE_REMOVABLE:Lbl_DriveType.Caption:= '软盘驱动器'; DRIVE_FIXED : Lbl_DriveType.Caption:= ...
这里提供一个简单的Delphi函数示例,用于获取特定驱动器的硬盘序列号:function GetHardDiskSerial(Drive: string): string; var VolumeSerialNumber: DWORD; MaximumComponentLength: DWORD; FileSystemFlags: DWORD; begin if Drive[Length(Drive)]=':' then Drive := Drive + '\'; GetVolume...
题主是否想询问“delphi怎么更改硬盘序列号”?无法更改。硬盘序列号是硬盘生产厂商对硬盘进行身份标识的唯一号码,类似于居民身份证,是不允许进行修改。
硬盘的序列号只能采用对硬盘控制器直接操作的方式进行读取,也就是说只能采用CPU的I/O指令操作硬盘控制器,对于CPU号的读取采用了在DELPHI嵌入汇编的方法读取。其读取方法如下:MOVEAX.01H 如果返回的EDX中,低18位为1,那么这个CPU就是支持序列号的。此时EAX就是序列号的高32位。这32位对同一型号的'...
Form1: TForm1;implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);begin end;//获得硬盘序列号 function GetIdeSerialNumber: pchar;const IDENTIFY_BUFFER_SIZE = 512;type TIDERegs = packed record bFeaturesReg: BYTE; // Used for specifying SMART "commands".b...