USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Nº Serial do HD - Algum código que preste
VBRSOFT ©
MACEIÓ
AL - BRASIL
ENUNCIADA !
Postada em 23/07/2004 18:48 hs            
Que tal este?
 
'No módulo:
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
Public Function DriveSerial(ByVal Drive As String) As Long
  'Valor que retornará o serial do HD
  Dim RetVal As Long
  Dim HDNameBuffer As String * 256 'Nome do HD
  Dim FSBuffer As String * 256     'FS do HD
  Dim a As Long                    'auxiliar
  Dim b As Long                    'auxiliar
  Call GetVolumeInformation(Drive, HDNameBuffer, _
       256, RetVal, a, b, FSBuffer, 256)
  DriveSerial = RetVal
End Function
 
'No Form
Private Sub Form_Load()
  Dim lNSerial As Long
  lNSerial = DriveSerial("C:")
  MsgBox "O número seirial do HD é: " & lNSerial
End Sub
   
Pilantra
MARINGÁ
PR - BRASIL
Postada em 23/07/2004 19:24 hs            
VBRSOFT eh exatamente esse que não deu certo, esse foi o primeiro que eu testei!! Ele retorna 0 somente isso mas eu axei um aqui que deu certo ou pelo menos eu axo pq mostro bastante numero hehe: Ae vai o fonte:"
 
Num módulo, inclua o código abaixo:
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
Public Function DriveSerialNumber(strDrive As String) As String
Dim x As Long, lngSerialNum As Long
Dim strRoot As String
strRoot = Left$(strDrive, 1) & ":"
x = GetVolumeInformation(strRoot, "", 0, lngSerialNum, 0, 0, "", 0)
DriveSerialNumber = Hex$(lngSerialNum)
End Function

No formulário, chame a função DriveSerialNumber, passando como parâmetro a unidade desejada. É necessário passar apenas a letra da unidade. Exemplo:
MsgBox "O número de série do HD é: " & DriveSerialNumber("C")
 
É isso, eu fiz o tópico e acabei ajudando um monte de gente huaheuhaueha! Comédia!!
 
T+
 
 

Pilantra Emoções

Linguagens Mais Fluentes: PHP, JavaScript e Visual Basic;
Linguagens Menos Fluentes: Java, Delphi e C/C++;
Propósito para esse ano: Me aperfeiçoar em Java e Delphi;
Propósito mais forte: Ficar profissional em computação gráfica usando 3D Studio MAX;
Frase: O homem não é nada sem conhecimento!! O saber é a chave do sucesso...

     
léee
OURINHOS
SP - BRASIL
Postada em 25/07/2004 20:37 hs            
tudo bem, pessoal?
PILANTRA, nao entendi este trecho: "É necessario passar apenas a letra da unidade."
como faço atraves de um text1, por exemplo; e entraria em qual das variaveis.
Tem como explicar mais um pouquinho.
muito grato.

Nós somos uma família VBWEB, só prosperamos neste ambiente sensato. Meus votos de Felicidade à todos.
     
Página(s): 2/2     « ANTERIOR  


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página