Pergunta

Estou interessado na identificação do CD.

Minha pergunta:

Existe um número de série que pode ser recuperado programaticamente?

Editar (resolvido):

  1. VB versão
  2. Delfos versão
Foi útil?

Solução

Experimente este código em VB

Private Declare Function GetVolumeInformation Lib "Kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
Private Sub Form_Load()
    Dim Serial As Long
    'Get the volume information
    GetVolumeInformation "d:\", vbNullString, 255, Serial, 0, 0, vbNullString, 255

    MsgBox Hex(Serial)
End Sub 

Isso deve servir como uma prova de conceito para você.Você pode adaptar isso ao idioma de sua escolha.

Retirado daqui: Fóruns VB

Outras dicas

Sintaxe Windows.GetVolumeInformation

  GetVolumeInformation(
    lpRootPathName: PChar; {the path to the root directory}
    lpVolumeNameBuffer: PChar; {the buffer receiving the volume name}
    nVolumeNameSize: DWORD; {the maximum size of the buffer}
    lpVolumeSerialNumber: PDWORD; {a pointer to the volume serial number}
    var lpMaximumComponentLength: DWORD; {maximum file component name}
    var lpFileSystemFlags: DWORD; {file system flags}
    lpFileSystemNameBuffer: PChar; {the buffer receiving the file system name}
    nFileSystemNameSize: DWORD {the maximum size of the file system name}
  ): BOOL; {returns TRUE or FALSE}

Porta Delphi (ligeiramente adaptada de Andrei G.postagem)

GetCDROMSnippet serial:

  function GetCDROMSerial(AVolName: Char ) : DWord;
  var
   Dummy1, Dummy2 : DWord;
  begin
   GetVolumeInformation(
     PChar( AVolName+':' ),
     nil,
     0,
     @Result,
     Dummy1,
     Dummy2,
     nil,
     0
     );
  end;

Amostra de uso:

  ShowMessage(Format('%X', [GetCDROMSerial('F')]));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top