hDevice := CreateFile('\\.\PhysicalDrive0', GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
上面這段代碼在win10下不好用了
uj5u.com熱心網友回復:
通過WMI獲取網卡MAC地址、硬碟序列號、主板序列號、CPU ID、BIOS序列號Delphi通過WMI獲取系統資訊
uses ActiveX, ComObj;
function GetWMIProperty(WMIType, WMIProperty: string): string;
var
Wmi, Objs, Obj: OleVariant;
Enum: IEnumVariant;
C: Cardinal;
begin
Wmi:= CreateOleObject('WbemScripting.SWbemLocator');
Objs := Wmi.ConnectServer('.','root/cimv2').ExecQuery('Select * from Win32_' + WMIType);
Enum := IEnumVariant(IUnknown(Objs._NewEnum));
Enum.Reset;
Enum.Next(1, Obj, C);
Obj := Obj.Properties_.Item(WMIProperty, 0).Value;
Result := Obj;
end;
// 獲取硬碟序列號
ShowMessage(GetWMIProperty('DiskDrive', 'PNPDeviceID'));
// 獲取BISO序列號
ShowMessage(GetWMIProperty('BIOS', 'SerialNumber'));
// 獲取網卡MAC地址
ShowMessage(GetWMIProperty('NetworkAdapter', 'MACAddress'));
// 獲取網卡序列號
ShowMessage(GetWMIProperty('NetworkAdapter', 'PNPDeviceID'));
// 獲取CPU序列號
ShowMessage(GetWMIProperty('Processor', 'ProcessorId'));
也可以用同樣的方法獲得任意感興趣的系統資訊,比如正在運行的行程、賬戶資訊等等。
更多WMI的資訊參考:
http://www.microsoft.com/whdc/system/pnppwr/wmi/default.mspx
http://msdn2.microsoft.com/en-us/library/aa394572.aspx
uj5u.com熱心網友回復:
GetWMIProperty('DiskDrive','SerialNumber') // 獲得第一塊硬碟的設備標示uj5u.com熱心網友回復:
二三樓其實都是正解。二樓是直接給出的代碼,三樓則是給了個度娘手里有原始碼的函式名。
uj5u.com熱心網友回復:
收費的可以找我qq:171833017,可以應用于各種流行的開發語言,比如Delphi, C++Builder, C#, Visual C++, Visual Basic, Visual Basic.NET, PowerBuilder等1.支持windows2000,xp及以上系統,支持64位作業系統,支持U盤/移動硬碟,不支持win98及以下作業系統。
2.僅需1個dll檔案。
3.在win7/win8等系統下,無需管理員權限。
4.支持根據盤符獲取硬碟的物理序號,支持獲取磁盤型別。
5.支持獲取硬碟溫度、smart資訊。
下載地址http://www.dxmylove.com/download/jyharddisk.zip
uj5u.com熱心網友回復:
二樓這方法簡單好用,以前cpuid都是用網上的匯編代碼獲取,多核的還來回變。
uj5u.com熱心網友回復:
mark, 獲取硬碟序列號。uj5u.com熱心網友回復:
這段代碼在win10下不好用了轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/12701.html
標籤:VCL組件開發及應用
上一篇:delphi能否連接JAVA(axis2)開發的webservice
下一篇:原民師養老補貼管理系統開發設計
