Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Número serial do HD
Message
De
07/05/2004 16:37:17
Peter Wagner
Point Informática Ltda.
Limeira, Brésil
 
 
À
07/05/2004 13:57:22
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
00901957
Message ID:
00902096
Vues:
31
Para obter o Serial (fisico do HD), existe algumas rotinas, estão em C++

Estas rotinas p/ Serial Fisico do HD, somente são validas p/ HD's maiores que 8.0 GB.

Existe uma DLL em Delphi que retorna a serial, a vi aqui na UT na area de Downloads se nào me engano, mas não lembro o nome.


[],s
Peter


>Fernando,
>
>O número retornado por GetDiskSerialNumber é aquele número que muda entre uma formatação e outra - sabe como pegar um identificador que não mude entre uma formatação e outra?...
>Não precisa ser o número específicamente do HD - pode ser do processador...
>
>grato, Geraldo F. Barbosa
>
>>Olá Roberto,
>>
>>Tenta esta rotina:
>>
>> Function GetDiskSerialNumber    &&  Retorna o Número Serial de um Drive Local (HD ou Diskette)
>>*-------- -------------------
>> LParameters pDiskId
>>
>>* Chamada: Numérico: nSerialNumber    = GetDiskSerialNumber ("C:\")
>>*          Em Hexa:  cHexSerialNumber = Substr (Transform (nSerialNumber, "@0"), 3)
>>
>> Local cDiskId         , ;
>>       cVolumeName     , ;
>>       nVolumeNameSize , ;
>>       nVolumeSerial   , ;
>>       nMaxCompLength  , ;
>>       nFileSysFlag    , ;
>>       cFileSysNameBuf , ;
>>       nFileSysNameSize
>>
>> Declare Integer GetVolumeInformation in Win32API String  @lpRootPathName          , ;
>>                                                  String  @lpDiskIdNameBuffer      , ;
>>                                                  Integer nVolumeNameSize          , ;
>>                                                  Integer @lpDiskIdSerialNumber    , ;
>>                                                  Integer @lpMaximumComponentLength, ;
>>                                                  Integer @lpFileSystemFlags       , ;
>>                                                  String  @lpFileSystemNameBuffer  , ;
>>                                                  Integer nFileSystemNameSize
>>
>> cDiskId          = AllTrim (pDiskId)
>> cVolumeName      = Space   (256)
>> nVolumeNameSize  = Len     (cDiskId)
>> nVolumeSerial    = 0
>> nMaxCompLength   = 256
>> nFileSysFlag     = 0
>> cFileSysNameBuf  = Space   (256)
>> nFileSysNameSize = 256
>>
>> nReturn          = 0
>>
>> nReturn = GetVolumeInformation (@cDiskId        , ;
>>                                 @cVolumeName    , ;
>>                                 nVolumeNameSize , ;
>>                                 @nVolumeSerial  , ;
>>                                 @nMaxCompLength , ;
>>                                 @nFileSysFlag   , ;
>>                                 @cFileSysNameBuf, ;
>>                                 nFileSysNameSize)
>>
>> If nReturn >= 0
>>    If nVolumeSerial < 0
>>       nVolumeSerial = 4294967296 + nVolumeSerial && 2^32 = 4294967296
>>    endif
>> endif
>>
>> Return nVolumeSerial
>>
>> EndFunc                         &&  of GetDiskSerialNumber
>>
>>Espero que ajude!
>>
>>Fernando
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform