Delphi Motherboard Serial Number
It's a repeated question; I want to get bios serial number. I had a code, and it worked, but unfortunatlly NOT now! Maybe because of new version of delphi (7), or WindowsXP, or my hardware! Exif date changer pro serial. I don't know.
Here is my code: function GetBiosInfoAsText: string; var P, Q: PAnsiChar; begin Q:= nil; P:= PChar(Ptr($FE000)); repeat if Q nil then begin if not (P^ in #10, #13, #32.#126, #169, #184) then begin if (P^ = #0) and (P - Q = 8) then begin Result:= Result + TrimRight(string(Q)) + #13#10; end; Q:= nil; end; end else if P^ in #33.#126, #169, #184 then Q:= P; Inc(P); until P PChar(Ptr($FFFFF)); Result:= TrimRight(Result); end; I will thank you for your attention. I tried the code on my system at work, using Delphi 5. It could be that this makes a difference.
Motherboard Serial Number Location
I've created a VBScript version of the query which looks like this: '- - - Dim refWMIService Dim colBIOS Dim refItem Set refWMIService = GetObject( 'winMgmts:' ) set colBIOS = refWMIService.ExecQuery( 'select SerialNumber from Win32BIOS' ) for each refItem in colBIOS WScript.echo 'Serial number: ' & refItem.SerialNumber Next '- - - The above code should display the right serial number. If this too is a space then I think your BIOS serial number is indeed a space.
On my system, I get a value of SerialNumber = SYS- which is a pretty typical number too. You could replace 'Win32BIOS' in the query with 'CIMBIOSElement' but I just get the same value. So, thinking there might be a flaw in this, I just used 'Computer Management' to check the serial number there. But on W2K I don't see any serial number there. If you want to use some BIOS value as part of some copy-security, maybe you should use SMBIOSBIOSVersion or BIOSVersion (requires XP) instead of the SerialNumber. Thank you very much, you may right that my SerialNumber is ' '. Can you help me on how to check it in 'Computer Management'?
As a matter of fact I just need an unique code. When I use SMBIOSBIOSVersion or BIOSVersion in your previous delphi code, it raised an exception EVariantTypeCastError with message 'Could not convert variant of type (Dispatch) into type (String)'. And when I use 'CIMBIOSElement' istead of 'Win32BIOS' it raised exception EOleException with message 'Invalid query'.
It would be very good for me to do the operation in Delphi instead of VBScript. Or is there anyway to run VBScript in Delphi? I don't know. Thank you very much, you may right that my SerialNumber is ' '. Can you help me on how to check it in 'Computer Management'?
Is this value: 'Coputer Managment Servises and Applications WMI Control Properties Root CI MV2 ms409 ' my serial number? As a matter of fact I just need an unique code. When I use SMBIOSBIOSVersion or BIOSVersion in your previous delphi code, it raised an exception EVariantTypeCastError with message 'Could not convert variant of type (Dispatch) into type (String)'. And when I use 'CIMBIOSElement' istead of 'Win32BIOS' it raised exception EOleException with message 'Invalid query'. It would be very good for me to do the operation in Delphi instead of VBScript. Or is there anyway to run VBScript in Delphi?
I don't know.
README.md The (System Management BIOS) is a standard developed by the. The information stored in the SMBIOS includes devices manufacturer, model name, serial number, BIOS version, asset tag, processors, ports and device memory installed. The TSMBIOS libary allows access the System Management BIOS (SMBIOS) using the Object Pascal language (Delphi or Free Pascal). Features Some features of this project are. Source Full documented compatible with the help insight feature, available since Delphi 2005.
Supports SMBIOS Version from 2.1 to 2.8. Supports Delphi 5, 6, 7. Supports RAD Studio 2005-2010. Supports RAD Studio XE-XE8. Supports RAD Studio 10 Seattle, RAD Studio 10.1 Berlin, RAD Studio 10.2 Tokyo. Compatible with FPC 2.4.0+.
Msi Motherboard Serial Number
Supports Windows, Linux. SMBIOS Data can be saved and/or load to a file. SMBIOS Data can be obtained from remote machines (via WMI).