Get Hdd Serial Number Delphi
I took advantage of the RAD Studio 2009 deal for those that had justbought D2009. Has anyone else done this and managed to register theupgrade?The supplied serial number (from a CG online purchase) returns amessage that it has expired when I try to register it. I've logged theproblem with CG Support (ref 00D57Mdw.50055bNLL), but they don't seemto have read the original message. They just explain how to run thelicense manager to generate the error message I had already sent them.I've tried the web method as well - and I get a similar expired messagefor my new serial number.I've had messages confirming that my credit card has been debited, andthe media kit I ordered arrived yesterday. I now have 1 day ofunregistered use left on RAD Studio (it started at 6 days) and 10 dayson Prism.I've tried loading it on another machine and I get the same problem(though I get a longer grace period because it did not have D2009loaded.)I'm pretty sure I simply have an invalid serial number.Any suggestions about next steps? Anyone know how to gee-up CG support?Eric Thorniley.
Dear all,I'm trying to read serial no of the hard disk as a unique id of the machine. I tried the code as follows:class function TDeviceUtils.GetDeviceId: string;constIDENTIFYBUFFERSIZE = 512;typeTIDERegs = packed recordbFeaturesReg: BYTE; // Used for specifying SMART 'commands'.bSectorCountReg: BYTE; // IDE sector count registerbSectorNumberReg: BYTE; // IDE sector number registerbCylLowReg: BYTE; // IDE low order cylinder valuebCylHighReg: BYTE; // IDE high order cylinder valuebDriveHeadReg: BYTE; // IDE drive/head registerbCommandReg: BYTE; // Actual IDE command.bReserved: BYTE; // reserved for future use. Must be zero.end;TSendCmdInParams = packed record// Buffer size in bytescBufferSize: LongInt;// Structure with drive register values.irDriveRegs: TIDERegs;// Physical drive number to send command to (0,1,2,3).bDriveNumber: BYTE;bReserved: array 0. 2 of BYTE;dwReserved: array 0. 3 of DWORD;bBuffer: array 0.
0 of BYTE; // Input buffer.end;TIdSector = packed recordwGenConfig: Word;wNumCyls: Word;wReserved: Word;wNumHeads: Word;wBytesPerTrack: Word;wBytesPerSector: Word;wSectorsPerTrack: Word;wVendorUnique: array 0. 2 of Word;sSerialNumber: array 0.
19 of CHAR;wBufferType: Word;wBufferSize: Word;wECCSize: Word;sFirmwareRev: array 0. 7 of CHAR;sModelNumber: array 0. 39 of CHAR;wMoreVendorUnique: Word;wDoubleWordIO: Word;wCapabilities: Word;wReserved1: Word;wPIOTiming: Word;wDMATiming: Word;wBS: Word;wNumCurrentCyls: Word;wNumCurrentHeads: Word;wNumCurrentSectorsPerTrack: Word;ulCurrentSectorCapacity: DWORD;wMultSectorStuff: Word;ulTotalAddressableSectors: DWORD;wSingleWordDMA: Word;wMultiWordDMA: Word;bReserved: array 0. 127 of BYTE;end;PIdSector = ^TIdSector;TDriverStatus = packed recordbDriverError: BYTE;bIDEStatus: BYTE;bReserved: array 0. 1 of BYTE;dwReserved: array 0.
1 of DWORD;end;TSendCmdOutParams = packed record// bBuffer的大小cBufferSize: DWORD;DriverStatus: TDriverStatus;bBuffer: array 0. 0 of BYTE;end;varhDevice: Thandle;cbBytesReturned: DWORD;SCIP: TSendCmdInParams;aIdOutCmd: array 0. Dear all,I'm trying to read serial no of the hard disk as a unique id of themachine.
I tried the code as follows:class function TDeviceUtils.GetDeviceId: string;constIDENTIFYBUFFERSIZE = 512;typeTIDERegs = packed recordbFeaturesReg: BYTE; // Used for specifying SMART 'commands'.bSectorCountReg: BYTE; // IDE sector count registerbSectorNumberReg: BYTE; // IDE sector number registerbCylLowReg: BYTE; // IDE low order cylinder valuebCylHighReg: BYTE; // IDE high order cylinder valuebDriveHeadReg: BYTE; // IDE drive/head registerbCommandReg: BYTE; // Actual IDE command.bReserved: BYTE; // reserved for future use. Must be zero.end;TSendCmdInParams = packed record// Buffer size in bytescBufferSize: LongInt;// Structure with drive register values.irDriveRegs: TIDERegs;// Physical drive number to send command to (0,1,2,3).bDriveNumber: BYTE;bReserved: array 0. 2 of BYTE;dwReserved: array 0. 3 of DWORD;bBuffer: array 0. 0 of BYTE; // Input buffer.end;TIdSector = packed recordwGenConfig: Word;wNumCyls: Word;wReserved: Word;wNumHeads: Word;wBytesPerTrack: Word;wBytesPerSector: Word;wSectorsPerTrack: Word;wVendorUnique: array 0.
2 of Word;sSerialNumber: array 0. 19 of CHAR;wBufferType: Word;wBufferSize: Word;wECCSize: Word;sFirmwareRev: array 0. 7 of CHAR;sModelNumber: array 0. 39 of CHAR;wMoreVendorUnique: Word;wDoubleWordIO: Word;wCapabilities: Word;wReserved1: Word;wPIOTiming: Word;wDMATiming: Word;wBS: Word;wNumCurrentCyls: Word;wNumCurrentHeads: Word;wNumCurrentSectorsPerTrack: Word;ulCurrentSectorCapacity: DWORD;wMultSectorStuff: Word;ulTotalAddressableSectors: DWORD;wSingleWordDMA: Word;wMultiWordDMA: Word;bReserved: array 0. 127 of BYTE;end;PIdSector = ^TIdSector;TDriverStatus = packed recordbDriverError: BYTE;bIDEStatus: BYTE;bReserved: array 0.
1 of BYTE;dwReserved: array 0. 1 of DWORD;end;TSendCmdOutParams = packed record// bBuffer???cBufferSize: DWORD;DriverStatus: TDriverStatus;bBuffer: array 0. 0 of BYTE;end;varhDevice: Thandle;cbBytesReturned: DWORD;SCIP: TSendCmdInParams;aIdOutCmd: array 0. Dear all,I'm trying to read serial no of the hard disk as a unique id of themachine. I tried the code as follows:class function TDeviceUtils.GetDeviceId: string;constIDENTIFYBUFFERSIZE = 512;typeTIDERegs = packed recordbFeaturesReg: BYTE; // Used for specifying SMART 'commands'.bSectorCountReg: BYTE; // IDE sector count registerbSectorNumberReg: BYTE; // IDE sector number registerbCylLowReg: BYTE; // IDE low order cylinder valuebCylHighReg: BYTE; // IDE high order cylinder valuebDriveHeadReg: BYTE; // IDE drive/head registerbCommandReg: BYTE; // Actual IDE command.bReserved: BYTE; // reserved for future use.
Must be zero.end;TSendCmdInParams = packed record// Buffer size in bytescBufferSize: LongInt;// Structure with drive register values.irDriveRegs: TIDERegs;// Physical drive number to send command to (0,1,2,3).bDriveNumber: BYTE;bReserved: array 0. 2 of BYTE;dwReserved: array 0.
3 of DWORD;bBuffer: array 0. 0 of BYTE; // Input buffer.end;TIdSector = packed recordwGenConfig: Word;wNumCyls: Word;wReserved: Word;wNumHeads: Word;wBytesPerTrack: Word;wBytesPerSector: Word;wSectorsPerTrack: Word;wVendorUnique: array 0.
2 of Word;sSerialNumber: array 0. 19 of CHAR;wBufferType: Word;wBufferSize: Word;wECCSize: Word;sFirmwareRev: array 0. 7 of CHAR;sModelNumber: array 0. 39 of CHAR;wMoreVendorUnique: Word;wDoubleWordIO: Word;wCapabilities: Word;wReserved1: Word;wPIOTiming: Word;wDMATiming: Word;wBS: Word;wNumCurrentCyls: Word;wNumCurrentHeads: Word;wNumCurrentSectorsPerTrack: Word;ulCurrentSectorCapacity: DWORD;wMultSectorStuff: Word;ulTotalAddressableSectors: DWORD;wSingleWordDMA: Word;wMultiWordDMA: Word;bReserved: array 0.
127 of BYTE;end;PIdSector = ^TIdSector;TDriverStatus = packed recordbDriverError: BYTE;bIDEStatus: BYTE;bReserved: array 0. 1 of BYTE;dwReserved: array 0. 1 of DWORD;end;TSendCmdOutParams = packed record// bBuffer???cBufferSize: DWORD;DriverStatus: TDriverStatus;bBuffer: array 0. 0 of BYTE;end;varhDevice: Thandle;cbBytesReturned: DWORD;SCIP: TSendCmdInParams;aIdOutCmd: array 0. George,Yes, it is for windows only.
It is not perfect but can give you some clues.Each platform you will need to find a different approach. There is not suchcomponent that works on all platforms that I am aware of. I am in need ofthat either.There is no HD on an android for example. You can use the build Serial number,but you will find that it is not always reliable.Cheap chinese androids commonly repeats the same serials. Not sure how itworks on apple platforms.So it is quite a work to find out.Eduardo. Dear all,I'm trying to read serial no of the hard disk as a unique id of themachine. I tried the code as follows:class function TDeviceUtils.GetDeviceId: string;constIDENTIFYBUFFERSIZE = 512;typeTIDERegs = packed recordbFeaturesReg: BYTE; // Used for specifying SMART 'commands'.bSectorCountReg: BYTE; // IDE sector count registerbSectorNumberReg: BYTE; // IDE sector number registerbCylLowReg: BYTE; // IDE low order cylinder valuebCylHighReg: BYTE; // IDE high order cylinder valuebDriveHeadReg: BYTE; // IDE drive/head registerbCommandReg: BYTE; // Actual IDE command.bReserved: BYTE; // reserved for future use.
Must be zero.end;TSendCmdInParams = packed record// Buffer size in bytescBufferSize: LongInt;// Structure with drive register values.irDriveRegs: TIDERegs;// Physical drive number to send command to (0,1,2,3).bDriveNumber: BYTE;bReserved: array 0. 2 of BYTE;dwReserved: array 0. 3 of DWORD;bBuffer: array 0. 0 of BYTE; // Input buffer.end;TIdSector = packed recordwGenConfig: Word;wNumCyls: Word;wReserved: Word;wNumHeads: Word;wBytesPerTrack: Word;wBytesPerSector: Word;wSectorsPerTrack: Word;wVendorUnique: array 0.
Serial Number Idm Gratis
Hdd Serial Number Cmd
Get Physical Hdd Serial Number Without Wmi Delphi
2 of Word;sSerialNumber: array 0. 19 of CHAR;wBufferType: Word;wBufferSize: Word;wECCSize: Word;sFirmwareRev: array 0.
7 of CHAR;sModelNumber: array 0. 39 of CHAR;wMoreVendorUnique: Word;wDoubleWordIO: Word;wCapabilities: Word;wReserved1: Word;wPIOTiming: Word;wDMATiming: Word;wBS: Word;wNumCurrentCyls: Word;wNumCurrentHeads: Word;wNumCurrentSectorsPerTrack: Word;ulCurrentSectorCapacity: DWORD;wMultSectorStuff: Word;ulTotalAddressableSectors: DWORD;wSingleWordDMA: Word;wMultiWordDMA: Word;bReserved: array 0. 127 of BYTE;end;PIdSector = ^TIdSector;TDriverStatus = packed recordbDriverError: BYTE;bIDEStatus: BYTE;bReserved: array 0. 1 of BYTE;dwReserved: array 0. 1 of DWORD;end;TSendCmdOutParams = packed record// bBuffer???cBufferSize: DWORD;DriverStatus: TDriverStatus;bBuffer: array 0. 0 of BYTE;end;varhDevice: Thandle;cbBytesReturned: DWORD;SCIP: TSendCmdInParams;aIdOutCmd: array 0. I'm trying to read serial no of the hard disk as a unique id of themachine.
I tried the code as follows:Magenta Systems WMI and SMART Component frommight help, however the SMART APIs were designed for PCs with only four IDEATA drives and drives less than 128 gig, whereas SATA PCs may have six ormore drives. Also they only work with physical drives and not SCSIconnected or RAID drives.There are Intel RST APIs that access the underlaying drives in PCs usingIntel chipsets which Smartmontools supports, but it's complex C code andnot easy to translate to Delphi.Angus. I'm trying to read serial no of the hard disk as a unique id of themachine.
I tried the code as follows:Magenta Systems WMI and SMART Component frommight help, however the SMART APIs were designed for PCs with only four IDEATA drives and drives less than 128 gig, whereas SATA PCs may have six ormore drives. Also they only work with physical drives and not SCSIconnected or RAID drives.There are Intel RST APIs that access the underlaying drives in PCs usingIntel chipsets which Smartmontools supports, but it's complex C code andnot easy to translate to Delphi.Angus.