SEU CODIGO PEGAR SERIAL HD

LUIS.HERRERA 12/07/2005 21:43:40
#93783
Pessoal baixei o exemplo da LUCILA para pegar o SERIAL do HD, inclusive para XP, pois os códigos que tinha não funcionavam ou traziam sempre o mesmo número de HD, independente do HD pesquisado. Porém ele está dando um erro:

Error 5 
Invalide procedure, call or argument

Na linha:
di.Attributes(di.NumAttributes).AttrName = colAttrNames(CStr(bArrOut(18 + i * 12)))
Módulo BAS mSMARTCALL


Entrei em contato pelas mensagens internas, mas disse que não poderia me ajudar e pediu para colocar o erro aqui no fórum. Ela comentou ainda sobre a necessidade de incluir o arquivo IOSUBSYS.sys na pasta do sistema, mas esse arquivo não veio no ZIP do projeto e não existe no meu sistema Win XP Pro - SP1.

Alguém poderia me ajudar, se usou esse código que disseram ser ótimo?
Obrigado
JEAN.JEDSON 13/07/2005 07:34:26
#93814
Resposta escolhida
tente assim:
Referencie o Componente Microsoft Scripting Runtime, e na sua sub ou function faça:

Dim drvDrive As Drive
Dim lSerial As String
Set drvDrive = fso.GetDrive(Left(fso.GetDriveName("c:\"), 2))
lSerial = drvDrive.SerialNumber
LUIS.HERRERA 13/07/2005 09:03:57
#93831
ok Jean obrigado, mas esse seu código funciona em qualquer Windows?

Engraçado que o código da Lucila funcionou com todos que pegaram o projeto, mas no meu micro não.
JEAN.JEDSON 13/07/2005 09:08:11
#93833
bem... até onde sei, sim... mas é questão de testar...
PAGANINI 13/07/2005 10:03:59
#93849
Dim drvDrive As Drive 
Dim lSerial As String
Set drvDrive = fso.GetDrive(Left(fso.GetDriveName("c:\"), 2))
lSerial = drvDrive.SerialNumber


Sim este código funciona em qualquer windows com internet Explorer 5 para cima. Se não tiver instale a DLL Shell32.dll
Tópico encerrado , respostas não são mais permitidas