Como Puedo Obtener el numero de serie de un disco

21/07/2003 - 22:54 por Millenko | Informe spam
Hola Amigos

He estado utilizando el siguiente codigo en Visual foxpro instalado en una
plataforma Win98

oFS=CreateObject('scripting.filesystemobject')
cadena=str(oFS.Drives('c').SerialNumber,9)
release ofs

pero ahora tengo una maquina con win-XP y ya no resulta, o al menos me trae
caracteres como "***".

me podrian ayudar.

gracias de antemano

Preguntas similare

Leer las respuestas

#1 Millenko
22/07/2003 - 16:34 | Informe spam
Lo intente, pero en windows xp- me sale

*********.**********

y no se como trabajarlo, podrias indicarme como trabajar este valor para
que me salga algo asi como:

3A59-7E52

yo asi lo podria trabajar

gracias


"David Amador (Davphantom)" escribió en el mensaje
news:
Me parece que el problema es el STR( ,9) porque haces eso ???''

Mejor utiliza Transform y sin ningun parametro adicional ...

oFS=CreateObject('scripting.filesystemobject')
cadena = Transform(oFS.Drives('c').SerialNumber)
release ofs

David Amador Tapia
Webmaster de "La Web de Davphantom"
www.davphantom.cjb.net
Cartagena. Colombia
Tel (5) 6621502 - 6581523


"Millenko" escribió en el mensaje
news:#cNv#
> Hola Amigos
>
> He estado utilizando el siguiente codigo en Visual foxpro instalado en


una
> plataforma Win98
>
> oFS=CreateObject('scripting.filesystemobject')
> cadena=str(oFS.Drives('c').SerialNumber,9)
> release ofs
>
> pero ahora tengo una maquina con win-XP y ya no resulta, o al menos me
trae
> caracteres como "***".
>
> me podrian ayudar.
>
> gracias de antemano
>
>


Respuesta Responder a este mensaje
#2 David Amador \(Davphantom\)
22/07/2003 - 16:44 | Informe spam
Pudes hacerlo con el API...

DECLARE SHORT GetVolumeInformation IN Win32API;
STRING @lpRootPathName, STRING @lpVolumeNameBuffer,;
INTEGER nVolumeNameSize, INTEGER @lpVolumeSerialNumber,;
INTEGER @lpMaximumComponentLength, INTEGER @lpFileSystemFlags,;
STRING @lpFileSystemNameBuffer, INTEGER nFileSystemNameSize

lcroot = "C:\"

STORE 0 TO lnserialno, lncomplen, lnsysflags
STORE SPACE(260) TO lcvolname, lcsysname
STORE LEN(lcvolname) TO lnvolsize, lnnamesize

llresult = (GetVolumeInformation(@lcroot, @lcvolname, lnvolsize,
@lnserialno, @lncomplen, @lnsysflags, ;
@lcsysname, lnnamesize) # 0)

?lnserialno

David Amador Tapia
Webmaster de "La Web de Davphantom"
www.davphantom.cjb.net
Cartagena. Colombia
Tel (5) 6621502 - 6581523


"Millenko" escribió en el mensaje
news:
Lo intente, pero en windows xp- me sale

*********.**********

y no se como trabajarlo, podrias indicarme como trabajar este valor para
que me salga algo asi como:

3A59-7E52

yo asi lo podria trabajar

gracias


"David Amador (Davphantom)" escribió en el


mensaje
news:
> Me parece que el problema es el STR( ,9) porque haces eso ???''
>
> Mejor utiliza Transform y sin ningun parametro adicional ...
>
> oFS=CreateObject('scripting.filesystemobject')
> cadena = Transform(oFS.Drives('c').SerialNumber)
> release ofs
>
> David Amador Tapia
> Webmaster de "La Web de Davphantom"
> www.davphantom.cjb.net
> Cartagena. Colombia
> Tel (5) 6621502 - 6581523
>
>
> "Millenko" escribió en el mensaje
> news:#cNv#
> > Hola Amigos
> >
> > He estado utilizando el siguiente codigo en Visual foxpro instalado en
una
> > plataforma Win98
> >
> > oFS=CreateObject('scripting.filesystemobject')
> > cadena=str(oFS.Drives('c').SerialNumber,9)
> > release ofs
> >
> > pero ahora tengo una maquina con win-XP y ya no resulta, o al menos me
> trae
> > caracteres como "***".
> >
> > me podrian ayudar.
> >
> > gracias de antemano
> >
> >
>
>


Respuesta Responder a este mensaje
#3 Carlos Woolfolk
23/07/2003 - 18:02 | Informe spam
Debe ser algo de XP, por que yo lo uso en W98 y funciona bien, es bueno
que alguien con XP nos hechara la mano para solucionar esto, así cuando lo
necesitemos en una XP ya sabríamos como usarlo.


Cada paso que daba era como la
noche oscura de Coelho, pero a
cada paso también el temor se
iba perdiendo, iba entendiendo
poco a poco mi noche oscura.

Carlos Woolfolk

"Millenko" escribió en el mensaje
news:
Tanto con mi codigo de uso de objetos como con el codigo con Api que me
envio David Amador, me da como resultado ***, y como numero me
da -1743327428, y el numero de serie es 9816-EF3C.

supongo que debo covertirlo a hexadecimal, pero no me da el mismo numero o
estoy haciendo mal.

lo estoy trabajado asi

oFS=CreateObject('scripting.filesystemobject')
cadena = Transform(oFS.Drives('c').SerialNumber,"@O")
release ofs


gracias por el apoyo


"Carlos Woolfolk" escribió en el mensaje
news:
> Hay ocasiones en que el numero de serie de un DD es mayor a 9


digitos,
> así que mejor haz esto:
>
> oFS=CreateObject('scripting.filesystemobject')
> cadena=alltrim(str(oFS.Drives('c').SerialNumber))
> release ofs
>
>
> o si lo quieres a fuerza de los 9 primeros dígitos haz esto:
>
> oFS=CreateObject('scripting.filesystemobject')
> cadena=substr(oFS.Drives('c').SerialNumber,1,9)
> release ofs
>
>
> Cada paso que daba era como la
> noche oscura de Coelho, pero a
> cada paso también el temor se
> iba perdiendo, iba entendiendo
> poco a poco mi noche oscura.
>
> Carlos Woolfolk
>
> "Millenko" escribió en el mensaje
> news:%23cNv%
> > Hola Amigos
> >
> > He estado utilizando el siguiente codigo en Visual foxpro instalado en
una
> > plataforma Win98
> >
> > oFS=CreateObject('scripting.filesystemobject')
> > cadena=str(oFS.Drives('c').SerialNumber,9)
> > release ofs
> >
> > pero ahora tengo una maquina con win-XP y ya no resulta, o al menos me
> trae
> > caracteres como "***".
> >
> > me podrian ayudar.
> >
> > gracias de antemano
> >
> >
>
>


Respuesta Responder a este mensaje
#4 Pedro C. Arias
23/07/2003 - 18:25 | Informe spam
Si de algo sirve, en W2K anduvo Ok.

"Carlos Woolfolk" escribió en el mensaje
news:
Debe ser algo de XP, por que yo lo uso en W98 y funciona bien, es


bueno
que alguien con XP nos hechara la mano para solucionar esto, así cuando lo
necesitemos en una XP ya sabríamos como usarlo.


Cada paso que daba era como la
noche oscura de Coelho, pero a
cada paso también el temor se
iba perdiendo, iba entendiendo
poco a poco mi noche oscura.

Carlos Woolfolk

"Millenko" escribió en el mensaje
news:
> Tanto con mi codigo de uso de objetos como con el codigo con Api que me
> envio David Amador, me da como resultado ***, y como numero me
> da -1743327428, y el numero de serie es 9816-EF3C.
>
> supongo que debo covertirlo a hexadecimal, pero no me da el mismo numero


o
> estoy haciendo mal.
>
> lo estoy trabajado asi
>
> oFS=CreateObject('scripting.filesystemobject')
> cadena = Transform(oFS.Drives('c').SerialNumber,"@O")
> release ofs
>
>
> gracias por el apoyo
>
>
> "Carlos Woolfolk" escribió en el mensaje
> news:
> > Hay ocasiones en que el numero de serie de un DD es mayor a 9
digitos,
> > así que mejor haz esto:
> >
> > oFS=CreateObject('scripting.filesystemobject')
> > cadena=alltrim(str(oFS.Drives('c').SerialNumber))
> > release ofs
> >
> >
> > o si lo quieres a fuerza de los 9 primeros dígitos haz esto:
> >
> > oFS=CreateObject('scripting.filesystemobject')
> > cadena=substr(oFS.Drives('c').SerialNumber,1,9)
> > release ofs
> >
> >
> > Cada paso que daba era como la
> > noche oscura de Coelho, pero a
> > cada paso también el temor se
> > iba perdiendo, iba entendiendo
> > poco a poco mi noche oscura.
> >
> > Carlos Woolfolk
> >
> > "Millenko" escribió en el mensaje
> > news:%23cNv%
> > > Hola Amigos
> > >
> > > He estado utilizando el siguiente codigo en Visual foxpro instalado


en
> una
> > > plataforma Win98
> > >
> > > oFS=CreateObject('scripting.filesystemobject')
> > > cadena=str(oFS.Drives('c').SerialNumber,9)
> > > release ofs
> > >
> > > pero ahora tengo una maquina con win-XP y ya no resulta, o al menos


me
> > trae
> > > caracteres como "***".
> > >
> > > me podrian ayudar.
> > >
> > > gracias de antemano
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida