很难达到你的要求的,VB好像是获取不到硬盘的物理序列号的,只能获取到某一个分区的序列号.不过可以调用其它的程序写的获取硬盘物理序列号的dll来获取,CPU的序列号我用的是wmi.VB本来对底层方面就不是很好引用api获得硬盘序列号PrivateDeclareFunctionMymachineCLib"kernel32"Alias"GetVolumeInformationA"ByVallpRootPathNameAsString,ByVallpVolumeNameBufferAsString,ByValnVolumeNameSizeAsLong,lpVolumeSerialNumberAsLong,lpMaximumComponentLengthAsLong,lpFileSystemFlagsAsLong,ByVallpFileSystemNameBufferAsString,ByValnFileSystemNameSizeAsLongAsLongPrivateSubForm_LoadDimAA,硬盘序列号,Maxlen,SysflagAsLong:DimVolName,FsysNameAsStringAA=MymachineC"c:\",VolName,256,硬盘序列号,Maxlen,Sysflag,FsysName,256msgbox"C硬盘序列号-机器码啦-16制:"&Hex硬盘序列号EndSub。
齐文莉2019-10-15 09:01:41