Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Evento que lea la serie del disco

762 views
Skip to first unread message

José A. Castrejón

unread,
Apr 12, 2007, 12:00:00 PM4/12/07
to
Hola buenos dias a todos,

Hace algun tiempo lei sobre un evento que puede leer el numero de serie del
disco duro, creo que era para Access. ¿Este evento existira para Excel ?. La
verdad no recuerdo en donde lo encontre.

Saludos

Jose Antonio castrejón

marb...@gmail.com

unread,
Apr 12, 2007, 3:24:39 PM4/12/07
to
En realidad el uso del objeto "FileSystemObject" no es exclusivo de
Excel o Access, si no mas bien de cualquier lenguage de programación
que tenga acceso a los ActiveX instalados en la PC. Prueba el
siguiente ejemplo donde gustes Excel, Word, Access, Powerpoint, etc.
tiene que funcionar.

Sub DesplegarNumeroSerieDiscoDuro()
Dim FSO As Object 'FileSystemObject
Dim DiscoDuro As Object 'Drive

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DiscoDuro = FSO.GetDrive("c:")
'OJO: Las siguientes DOS líneas van en una sola linea de codigo
MsgBox "El número de serie del disco " & DiscoDuro.Path & " es " &
Format(DiscoDuro.SerialNumber, "# ### ### ###"), vbInformation
Set DiscoDuro = Nothing
Set FSO = Nothing

End Sub

Esto demuestra un pequeño uso del "FileSystemObject", sin embargo este
objeto puede realizar muchas otras cosas como::

- Adminstrar archivos & carpetas (crear, eliminar, renombrar, etc.)
- Recorrer directorios & archivos y por medio de un procedimiento
recurrente, se puede examinar todo el disco duro!
- Examinar unidades como cd, diskette, usb, etc.
- Crear, abrir y modificar archivos de texto
- Etc (un muy largo etcetera)

Saludos,
Marco Barboza, San Jose - Costa Rica

On Apr 12, 10:00 am, José A. Castrejón

Abraham

unread,
Apr 12, 2007, 3:30:04 PM4/12/07
to

Abraham

unread,
Apr 12, 2007, 3:42:24 PM4/12/07
to

José A. Castrejón

unread,
Apr 12, 2007, 5:20:01 PM4/12/07
to
Gracias a los 2, sin embargo me queda una duda.
Probe el codigo de Marco Barbosa y funciona muy bien y me arroja el numero :
"1691898342"
Tambien probe el codigo de Fernando Arroyo que tome de la liga que puso
amablemente Abraham y me da un numero distinto !! este codigo me da el numero
"3JV1K32T" ¿Cual es el correcto ? ¿Porque obtengo datos diferentes"

A Continuación pongo el codigo de Fernando Arroyo

Sub AveriguarNúmeroDeSerieDeDiscos()
Dim oWMI As Object, Discos As Object, Disco As Object
Set oWMI = GetObject("WINMGMTS:")
Set Discos = oWMI.instancesof("Win32_PhysicalMedia")

For Each Disco In Discos
MsgBox "Serie: " & Disco.serialnumber
Next


Set Disco = Nothing
Set Discos = Nothing
Set oWMI = Nothing
End Sub

Saludos y gracias

David

unread,
Apr 13, 2007, 11:52:04 AM4/13/07
to
¿Por qué dos resultados diferentes?

En verdad es curioso. Probé obtener la serie del disco con las dos clases,
y en efecto el resultado es distinto. No encuentro relación entre ellos.
Traté de buscar información, y encontré bastante, pero nada que resuelva esta
cuestión.

Yo siempre he utilizado FileSystemObject, y me ha dado buen resultado. Creo
que cualquiera de los dos métodos que utilices te será efectivo, en el
sentido que el número de serie retornado será un identificador único de la
unidad de disco, pero ahora me surge la inquietud: si se trata de la misma
propiedad, ¿por qué se obtienen resultados diferentes?

Bueno. Esperemos que alguien nos ayude a aclarar este dilema.

Mientras tanto, por si quieres leer un poco, aquí te dejo algunos enlaces.

Sobre cómo administrar Windows con WMI

http://www.microsoft.com/latam/technet/articulos/windows2k/mngwmi/

Específicamente sobre la clase "Win32_PhysicalMedia":

http://msdn2.microsoft.com/en-us/library/aa394346.aspx

Si quieres leer más sobre el objeto "FileSystemObject":

http://search.msdn.microsoft.com/search/default.aspx?__VIEWSTATE=&query=FileSystemObject&siteid=0&tab=0

Y un sitio interesante que te muestra información sobre "FileSystemObject"
en una forma un poco más didáctica:

http://www.henri-ruch.ch/ASP/objets/fso/FileSystemObject.asp

Por último, si te quieres bajar un ejemplo, visita este sitio y descarga el
ejemplo 8:

http://www.geocities.com/sdgm04/03-VBA.html

Espero que alguien nos heche una mano con esto.

Saludos a todos!

- - - - - -


"José A. Castrejón" escribió:

David

unread,
Apr 13, 2007, 12:36:00 PM4/13/07
to
Aparentemente, cuando utilizas "Win32_PhysicalMedia" obtienes el número de
serie asignado por el fabricante al disco duro físico. Cuando utilizas
"FileSystemObject", obtienes el número de serie asignado por el sistema a la
partición.

Si ejecutas el procedimiento que te dió Fernando en una PC con dos discos
duros físicos, obtendrás solamente dos números de serie:

Sub AveriguarNúmeroDeSerieDeDiscos()
Dim oWMI As Object, Discos As Object, Disco As Object
Set oWMI = GetObject("WINMGMTS:")
Set Discos = oWMI.instancesof("Win32_PhysicalMedia")

For Each Disco In Discos
MsgBox "Serie: " & Disco.serialnumber
Next


Set Disco = Nothing
Set Discos = Nothing
Set oWMI = Nothing
End Sub

En cambio, si ejecutas el siguiente procedimiento en la misma máquina (yo la
probé en una con dos discos duros y 3 particiones), obtendrás un número de
serie para cada unidad lógica:

Sub AnalizarDiscos()
On Error Resume Next
Dim Info, NumSerie As String
Dim FS As Object 'FileSystemObject


Dim DiscoDuro As Object 'Drive

Set FS = CreateObject("Scripting.FileSystemObject")
Set Discos = FS.drives


For Each Disco In Discos

Info = ""
If NumSerie <> Disco.SerialNumber Then
NumSerie = Disco.SerialNumber
Info = "Serie: " & NumSerie
End If
Info = Info & Chr(13) & " Drive " & Disco.DriveLetter
Info = Info & Chr(13) & " Tipo " & Disco.DriveType
Info = Info & Chr(13) & " Sistema de archivo " & Disco.FileSystem
MsgBox Info
Next Disco

Set FS = Nothing
End Sub

El asunto ahora será qué quieres identificar: la unidad física o la unidad
lógica...

- - - - - -


"David" escribió:

Héctor Miguel

unread,
Apr 14, 2007, 12:31:24 AM4/14/07
to
hola, José !

> ... el codigo de Marco Barbosa... me arroja el numero: "1691898342"
> ... el codigo de Fernando Arroyo... me da un numero distinto... "3JV1K32T"
> Cual es el correcto ? Porque obtengo datos diferentes" [...]

1) la informacion que necesitas la puedes encontrar en la MSDN / SDK [que por cierto... es mas amplia y basta que...] :D
visita como 'punto de arranque'... -> http://tinyurl.com/2mros [ademas de que existen bastantes sitios con llamadas a las API's] ;)
[ahi podras consultar/obtener/probar/... con otro tipo de propiedads para cada 'tipo' de informacion]
[probablemente] tambien encontraras la -posible- 'causa' de los errores, ya que los WMI 'requieren' Win_NT/2000/XP :-(
2) el serial que devuelve la funcion que utliza WMI [Windows Management Instrumentation] -al navegar por la info anterior veras que...-
ES el numero con el cual ->el fabricante<- ha 'etiquetado' [fisicamente] la unidad de almacenamiento [HD]
[es decir... es el unico y 'verdadero' numero de serie] :D
3) el serial que devuelve ->cualquier otro metodo/procedimiento/llamada/API/...'<- NO es 'permanente' -?-
[es decir... cambia por cada vez que la unidad de almacenamiento 'pasa' por un proceso de 'preparacion' ->se le da formato<-] :D
4) aunque se que sera mas que 'suficiente' informacion [NO la que te 'proveo' en este mensaje, sino la que existe en la MSDN/SDK] :))
haz unas pruebas con los siguientes codigos de ejemplo ;)

si cualquier duda... comentas?
saludos,
hector.
===== en un modulo de codigo 'normal' ===
Sub Unidad_Fisica()
' como 've' las unidades una pc con windows_NT/2000/XP como SO '
Dim Disco As Object
With GetObject("WinMgmts:")
For Each Disco In .InstancesOf("Win32_DiskDrive")
MsgBox "Serie decimal: " & Disco.Signature & vbCr & _
"Serie Hexadecimal: " & Hex(Disco.Signature) & vbCr & _
"Fabricante: " & Disco.Manufacturer & vbCr & _
"Tipo de medio: " & StrConv(Disco.MediaType, vbProperCase) & vbCr & _
"Modelo: " & Disco.Model & vbCr & _
"Nombre: " & Disco.Name & vbCr & _
"Identificador: " & Disco.Signature
Next
End With
End Sub
Sub Unidad_Logica()
' por cada unidad logica '
Dim Disco As Object
With GetObject("WinMgmts:")
For Each Disco In .InstancesOf("Win32_LogicalDisk")
MsgBox "Unidad disco: " & Disco.Name & vbCr & _
"Serie logica: " & Disco.VolumeSerialNumber
Next
End With
End Sub
Sub Medio_Fisico()
' la 'etiqueta' que le pone el fabricante =>NO cambia<= al re/formatear unidades '
Dim Disco As Object
With GetObject("WinMgmts:")
For Each Disco In .InstancesOf("Win32_PhysicalMedia")
MsgBox "Serie Fabrica: " & Application.Trim(Disco.SerialNumber)
Next
End With
End Sub
Sub NumeroDeSerie()
' mismo numero de serie que Win32_LogicalDisk '
With CreateObject("Scripting.FileSystemObject")
MsgBox .GetDrive(.GetDriveName("C:")).SerialNumber & vbCr & _
Hex(.Drives.Item("C:").SerialNumber)
End With
End Sub


Ivan

unread,
Apr 15, 2007, 1:18:40 PM4/15/07
to
hola chicos, disculpad que me meta, pero el tema me interesa bastante, y me
ha surgido una duda

antes que nada gracias a todos por la cantidad de informacion y
procedimientos facilitados.

y ahora la duda, en concreto para Hector Miguel (o, mas bien sobre una de
sus propuestas). Se trata del procedimiento 'Medio_Fisico', que devuelve la
etiqueta puesta por el fabricante.

la cuestion es que en mi equipo devuelve un nº de serie, pero viendo el
bucle del codigo, y teniendo dos discos duros, pensaba que devolveria al
menos dos. Podrias/iais explicarme/nos el motivo. ¿que se considera
exactamente el 'medio fisico', para que en mi caso devuelva un solo nº de
serie?

bueno, disculpad la intromision, pero he pensado añadirlo para comprobar el
equipo del usuario y no querria arriesgarme a meter la pata.

en cualquier caso gracias por el hilo

Un saludo y hasta pronto
Ivan


Héctor Miguel

unread,
Apr 15, 2007, 10:25:47 PM4/15/07
to
hola, Ivan !

> ... del procedimiento 'Medio_Fisico', que devuelve la etiqueta puesta por el fabricante.
> ... en mi equipo devuelve un nº de serie, pero viendo el bucle del codigo
> ... teniendo dos discos duros, pensaba que devolveria al menos dos.
> ... que se considera exactamente el 'medio fisico', para que en mi caso devuelva un solo nº de serie?..

[creo que] la siguiente direccion es un buen lugar para profundizar al respecto del tema en cuestion:
-> http://vbnet.mvps.org/code/wmi/win32_diskdrive.htm

y en cuanto tenga oportunidad de hacer pruebas en alguna pc con varios HD... regreso con comentarios :))

saludos,
hector.


Héctor Miguel

unread,
Apr 15, 2007, 10:41:09 PM4/15/07
to
hola [de nuevo], Ivan !

con relacion a esta parte de tu consulta...

>> ... que se considera exactamente el 'medio fisico', para que en mi caso devuelva un solo nº de serie?..

si obtienes solo UN numero de serie como 'medio_fisico' [probablemente]...
se deba a que tienes UN solo disco 'fisico' con una 'particion' -?-
lo que estaria generando dos unidades 'logicas' [C:> y D:>] sobre un solo 'medio fisico' [disco duro] -?-

los medios 'fisicos' son los que se conectan a la tarjeta madre [o placa base] a traves de los puertos [IDE, SCSI, etc.]

[solo por si las dudas] :))
saludos,
hector.


Tux

unread,
Apr 16, 2007, 5:29:29 AM4/16/07
to
Ivan escribió:

> procedimiento 'Medio_Fisico', que devuelve la
> etiqueta puesta por el fabricante.
>

>
>

Hola Chicos :-)

Bueno siguiendo el Hilo [los cuales intento seguir todos los hilos en la
medida que mi tiempo de deja disponible ]

Decir que yo he probado las macros y me funcionan correctamente, las he
probado en un PC con mis dos discos duros Western Digital sobre windows
XP Prof , para el [ procedimiento 'Medio_Fisico'] me devuelve en mi caso:

Para uno [ WD-WMAxZxxxxxxx ]

Para Otro [WD-WMAxMxxxxxxx ]

Osease la marca y el numero de serie que el fabricante otorga a cada
disco duro que fabrican y que es unico y no variable para cada uno de
ellos [que no es lo mismo que el Modelo de disco duro OJO ] :)

Y Sub numero de serie (), nos da el numero de serie que asigna
aleatoriamente el sistema operativo cuando formateamos el volumen y que
este si quisieramos, podriamos cambiar, este ultimo numero de serie lo
podriamos obtener mediante el comando "vol":

'--------------
Inicio > ejecutar teclear o copy paste :

vol

'----------------

Y espero no haberme colado con la explicacion :-\

Saludos
Monica

--
Estado: A la Espera By Fermu

Tic-Tac-Tic-Tac...

Now We are free [Enya]

www.fermu.com

Ivan

unread,
Apr 16, 2007, 5:45:23 AM4/16/07
to
hola Hector Miguel, muchas gracias de nuevo

> se deba a que tienes UN solo disco 'fisico' con una 'particion' -?-

creo que tienes razon, pero mi ignorancia sobre el tema es tal que confundia
ambas cosas. Voy a ver si me informo al respecto, comenzando por el link.

un saludo
Ivan

PD: para no inflar el hilo, aprovecho para darle tambien las gracias a
Monica ( y al resto) por su ayuda.


José A. Castrejón

unread,
Apr 16, 2007, 2:42:01 PM4/16/07
to
Bueno vaya que levanto interes éste post, disculpen si no he respondido
nuevamente pero la falta de tiempo......

Muchas gracias a todos, voy a aplicarme sobre los codigos y links que
amablemente han puesto y si surge (seguramente) otra duda volvere con más
dudas. Por lo pronto gracias !!!

Saludos

Ivan

unread,
Apr 21, 2007, 7:35:04 PM4/21/07
to
hola de nuevo,

si me permitis, una ultima? consulta que a lo mejor esta a la vista y no lo
veo, o incluso incluso puede ser otra burrada, pero: ¿en caso de tener mas
de un disco duro en el equipo, como puedo saber el 'Medio_Fisico' ( la
'etiqueta' que le pone el fabricante ) en el que esta instalado determinada
aplicacion, buscando desde la propia aplicacion via codigo, claro?. Habia
pensado 'poner' todos los nros. obtenidos con 'Medio_Fisico' en un array y
luego comparlos con los obtenidos al iniciar la aplicacion, pero podria
(creo) dar problemas, pej, si se desinstalara alguno de los discos duros (si
es que se puede, que supongo que si, ..je, je,...)

por si ayuda (tambien para lo de los 2 discos duros, que creo que no tengo),
aqui pongo el resultado (+o-) de los 4 codigos en mi equipo.

Unidad_Fisica:

Serie decimal: -13836322131
Serie Hexadecimal: 7F8C7F8C
Fabricante: (Unidades de disco estándar)
Tipo de medio: Fixed Hard Disk Media
Modelo: ST94099A
Nombre: \\.\PHYSICALDRIVE0
Identificador: -13836322131


Unidad_Logica:

Unidad disco: C:
Serie logica: 263516F0
Unidad disco: D:
Serie lógica: 1B1B26F1
Unidad disco: E:
Serie logica:


Medio_Fisico:

Serie Fabrica: 8KW5TNW4


NumeroDeSerie:

641174585
263516F0

un saludo y hasta pronto
Ivan


Tux

unread,
Apr 22, 2007, 9:12:42 AM4/22/07
to
Ivan escribió:

Hola Ivan :)

Por lo que he visto creo que tienes un portatil :-? , bueno nos lo
comentas ok? :)

Bien ves a inicio > panel de control > Herramientas administrativas >
Administracion de equipos > apartado Almacenamiento > click
administracion de Discos .

En esa pantalla a la derecha ¿que ves? :

Volumen/Disposicion/tipo/sistema de archivos/estado/ etc.....

Debajo veras cuantos discos duros tienes y en volumnes ¿que ves?


Bien destripando lo que te ha dado de resultado en los codigos de Hector
Miguel ;-)!!

Unidad_Fisica:[ que equivale a la firma que da tu sistema operativo en
cada disco duro, si solo tienes uno te aparecera una firma detallada de
tu disco duro, en este caso solo te da una ]

Te da un numero decimal y su equivalente en Hexadecimal, te dice que en
Fabricante es una unidad estandar, en tipo Medio te dice que es fijo, en
modelo nos dice que es de marca [ Seagate ] si buscas en internet
veras que hay varios modelos y demas. [he buscado tu modelo exacto y no
me ha dado resultados imagino que por privacidad no has dado los numeros
correctos, pero puedes buscar tu modelo [ Modelo: ST94099A] :), luego
tenemos en Nombre: \\.\PHYSICALDRIVE0 eso quiere decir que solo tienes
un disco duro, Disco 0 , si tuvieras dos te pondria PHYSICALDRIVE1,
disco 1 etc... y te apareceria dos msgbox una firma por cada disco duro :)

En 'unidad logica' te da todas las unidades que tienes en tu PC: si le das
click sobre [ Mi PC ] veras que tienes Unidades de Disco Duro y Dos
letras en este caso :

C y D

y en unidades extraibles otras letras que son las que corresponden a tu
disketera, a tu CD o DVD o etc.. [que significa extraibles que las
puedes sacar y tu pc sigue funcionando , en cambio los Discos duros, si
se pueden extraer, pero si tienes uno y lo sacas como que no podras
arrancar porque estara vacio para funcionar, si tienes dos y extraes uno
de los dos, si los dos llevan sistema operativo uno Windows y el otro
por ejemplo LInux pues como que solo funcionarias con uno de los dos
[dependiendo de si uno depende del otro , esto es otra historia ], no se
si me estoy explicando, :-( ]

Bien en Medio_Fisico , he aqui el quit , te da el numero de serie que el
fabricante le ha puesto a se disco duro, por ejemplo:

Para que lo entiendas una fabrica de Quesos por ejemplo fabrican bolas
de queso de una marca determinada, y en serie, la bola 1, la bola 2,
etc... y tu vas y compras una bola que resulta que esa bola de queso es
la numero 12.000 pues esa es la bola que tu has comprado, peroooo si va
alguien detras tuyo y compra la misma bola de queso con la misma marca
no podra ser la 12000 puesto que esa ya la tines tu , en todo caso
cogera la bola 12.001 :) mas o menos para que lo entiendas :-P

Bien a lo que preguntas si se podria realizar un array sobre el
Medio_Fisico, si ejecutas la macro 'Medio_Fisico' te da todos los numero
s de fabrica de cada uno de los discos duros que tengas. si solo tienes
uno te dara un msgbox [un solo numero ] si tienes dos te dara dos msgbox
[dos numeros] etc.... si se tuvieran tres pues tres msgbox.... si en un
principio existen dos discos duros, te dara dos msgbox, si luego quitas
un disco duro, solo te dara un msgbox...

Bueno nos comentas ok? :)

Y bueno lo dejo en este punto que ahora marcho a comer :-)

Saludos :)
Monica


--

Estado: A la Espera By Fermu

Tic-Tac-Tic-Tac...

Now We are free [Enya]

www.fermu.com

------------------------

Anotacion: Si por los foros veis Spam masivo sobre temas que nada tienen
que ver con el foro en cuestion,
Deciros que es un << Troll/s >> que unas veces usurpan el nombre e
identidad de gente profesional en la materia,
y otras veces usurpan el nombre e identidad de aquel o aquellos que
contestan a su Spam, su verdadero nombre es:

Pablito "Alias el Cuervo" y Compañia [payasos de circo ]

Lo mejor que podeis hacer, es o bien ignorarlos como si no existieran o
hacer seguimiento de las NEws de microsoft,

a traves de por ejemplo entre otros:

Outloock Express o Mesnews [con opcion a suprimirlos ]

Y Si utilizais el Thunderbird podeis utilizardo como Separador de hilos
y queda muy mono :-))))


Tux

unread,
Apr 22, 2007, 5:14:56 PM4/22/07
to
Ivan escribió:

> hola de nuevo,
>
> si me permitis, una ultima? consulta que a lo mejor esta a la vista y no lo
> veo, o incluso incluso puede ser otra burrada, pero: ¿en caso de tener mas
> de un disco duro en el equipo, como puedo saber el 'Medio_Fisico' ( la
> 'etiqueta' que le pone el fabricante ) en el que esta instalado determinada
> aplicacion, buscando desde la propia aplicacion via codigo, claro?. Habia
> pensado 'poner' todos los nros. obtenidos con 'Medio_Fisico' en un array y
> ........

Bien continuo, 'NumeroDeSerie' en el codigo, te da un numero de serie
del volumen osease puede ser cualquier particion e incluso el dico
entero, para entenderlo imaginate una bola de queso [cada bola de queso
un disco duro ], si cogemos ese queso y lo partimos en porciones, cada
porcion de queso sera una particion, pues bien cada trozo que hayas
partido, el sistema operativo le dara un numero para identificar ese
trozo o trozos que tu hayas cortado. y si no quieres partilo o repartir
ese queso pues tu sistema operativo le dara solo, un numero
identificativo a ese queso.

Bien si observas el codigo de la macro Unidad_Logica [te lo da en
hexadecimal], veras que te dara el mismo numero que en el codigo
NumeroDeSerie [Decimal y Hexadecimal] y si observas para la Unidad [ E
]no te da ningun Numero ¿porque? pues porque no es una bola de queso en
este caso no es ningun disco Duro [puede ser un DVD por ejemplo, osease
una unidad extraible ]

Bien despues de todo este rollo :-P, para lo del array, lo que no se la
necesidad :-S de lo que estas desarrollando, pero puedes gestionar el
codigo para que solamente te de los numeros serie fabricante de los que
se tenga [si tiene uno, pues que te de solo uno etc...] ya que solo
tendrias o un numero o dos numeros o tres numeros siempre y cuando en
ese ordenador haya o un disco duro o dos o tres etc...., ya que esa
aplicacion que lleve el codigo, este en el disco duro que este,
devolveria solamente los 'Medios_Fisicos' que se tengan.

No se si te habre aclarado algo :-S o me faltara algo por explicar, pero
nos comentas cualquier cosilla ok? :-)

Saludos

Ivan

unread,
Apr 22, 2007, 9:15:46 PM4/22/07
to
hola Monica, lo primero muchas gracias por tu ayuda.

te comento entre tus lineas:

> Por lo que he visto creo que tienes un portatil :-? , bueno nos lo
> comentas ok? :)

efectivamente, en concreto un Acer TravelMate 291 LMi

>--------


> Debajo veras cuantos discos duros tienes y en volumnes ¿que ves?

Esto es lo que aparece (lo he transpuesto para verlo mejor en el foro)

Volumen: ACER_SERVIC ACERDATA(D:)
(C:)
Disposicion Particion Particion
Particion
Tipo: Basico
Basico Basico
Sist. de archivos: FAT FAT32
FAT32
Estado: Correcto(Particion desconocida) Correcto
Correcto(Sistema)
Etc...

por cierto ¿sabes a que se corresponde ACER_SERVICE? es la primera vez que
lo veo. Tiene 8MB de los cuales solo 2 libres

> Bien destripando lo que te ha dado de resultado en los codigos de Hector
> Miguel ;-)!!
>

> Unidad_Fisica:[ ..., si solo tienes uno te aparecera una firma detallada

> de
> tu disco duro, en este caso solo te da una ]

luego doy por hecho que ACERDATA(D:) no es un disco duro?

>......imagino que por privacidad no has dado los numeros correctos,

llamale miedo

>...: \\.\PHYSICALDRIVE0 eso quiere decir que solo tienes


> un disco duro, Disco 0

>...........
> En 'unidad logica' te da todas las unidades que tienes en tu PC: ..... > C
> y D

luego supongo que D es solo una unidad logica y C el disco duro a la vez que
unidad logica?

> Bien en Medio_Fisico , he aqui el quit , te da el numero de serie que el

> fabricante le ha puesto a se disco duro,...


>
> Bien a lo que preguntas si se podria realizar un array sobre el
> Medio_Fisico,

>.....


> Bien despues de todo este rollo :-P, para lo del array, lo que no se la
> necesidad :-S de lo que estas desarrollando, pero puedes gestionar el
> codigo para que solamente te de los numeros serie fabricante de los que
> se tenga [si tiene uno, pues que te de solo uno etc...] ya que

mas que un array, mi idea es crear, via codigo la primera vez que se ejecute
la aplicacion en un equipo, una constante de tipo String con los posibles
nros. del fabricante separados por un espacio o una coma para verificar
mediante la funcion Split si en el que se esta ejecutando la aplicacion es
en uno de ellos. De ahí la consulta sobre como saber exactamente en cual de
esos discos se esta instalando ( y/o esta instalada) la aplicacion, para
evitar tener que realizar la comparacion sobre varios elementos, aunque
realmente tampoco seria un problema pues la diferencia en tiempo seria
minima (creo)

bueno, de nuevo muchas gracias, creo que mas o menos me va quedando claro

Ivan

unread,
Apr 23, 2007, 10:57:44 AM4/23/07
to

hola de nuevo, Monica, Hector y/o demas foreros

respecto a esta parte de mi ultimo comentario: ->

"...una constante de tipo String con los posibles nros. del fabricante


separados por un espacio o una coma para verificar mediante la funcion

Split...."

¿sabeis si existe alguna convencion que impida/desaconseje el uso de
algun tipo de signo/caracter a la hora de poner el nº de serie del
disco duro fisico por parte del fabricante?

lo digo sobre todo para no arriesgarme a usar como separador en Split
un caracter que a su vez pueda estar contenido en dicho nº de serie,
con el consiguiente riesgo de error.

bueno, de nuevo gracias por anticipado

Tux

unread,
Apr 23, 2007, 2:18:31 PM4/23/07
to
Hola ivan :-)

>
> efectivamente, en concreto un Acer TravelMate 291 LMi
>

¡que ojito tengo ;-) !!!


> Esto es lo que aparece (lo he transpuesto para verlo mejor en el foro)
>
> Volumen: ACER_SERVIC ACERDATA(D:)
>

>> por cierto ¿sabes a que se corresponde ACER_SERVICE?


Acerservice, es una partición que siempre se reserva (en cualquier
sistema XP) para poder pasar el disco de basico a dinamico en caso
necesario, está descrito en la KB, y suele estar
oculta:

http://support.microsoft.com/kb/197738/EN-US/

La partición [ Acerdata ] es una partición de recuperación del sistema,
ya que el mismo es un OEM y todos suelen ubicar en el disco duro, una
partición de recuperación.

>
> luego doy por hecho que ACERDATA(D:) no es un disco duro?

Efectivamente no lo es, es una particion :-)

> llamale miedo

Y tanto :-S !!!

>
> luego supongo que D es solo una unidad logica y C el disco duro a la vez que
> unidad logica?
>

¡ correcto :-) !!

>
> mas que un array, mi idea es crear, via codigo la primera vez que se ejecute
> la aplicacion en un equipo, una constante de tipo String con los posibles
> nros. del fabricante separados por un espacio o una coma para verificar
> mediante la funcion Split si en el que se esta ejecutando la aplicacion es
> en uno de ellos. De ahí la consulta sobre como saber exactamente en cual de
> esos discos se esta instalando ( y/o esta instalada) la aplicacion, para
> evitar tener que realizar la comparacion sobre varios elementos, aunque
> realmente tampoco seria un problema pues la diferencia en tiempo seria
> minima (creo)
>
> bueno, de nuevo muchas gracias, creo que mas o menos me va quedando claro
>
> un saludo y hasta pronto
> Ivan
>
>

Ok!! ;-) !!!

Ivan

unread,
Apr 23, 2007, 3:45:13 PM4/23/07
to
hola de nuevo, Monica, y muchas gracias por todo

> ¡que ojito tengo ;-) !!!

y que lo digas. No dejo de sorprenderme cada dia.

un saludo y hasta pronto
Ivan

PD: me temo que voy a tener que empezar a aprender desde los
cimientos, si quiero enterarme de algo en este 'mundo'.

Tux

unread,
Apr 23, 2007, 5:41:16 PM4/23/07
to
Ivan escribió:

Hola Ivan :-)

Nononoono Las gracias a ti ;-) y ya sabes que nadie nace sabiendo, y que
aqui estamos para ayudarnos todos entre todos :-)

En cuanto a la pregunta de [ si existe alguna convencion que

impida/desaconseje el uso de
algun tipo de signo/caracter a la hora de poner el nº de serie del

disco duro fisico por parte del fabricante? ]

Pues no se que decirte pero creo y hasta donde se que no tendrias
problemas en separar los array mediante comas [ en un principio estos
numeros no llevan comas, en todo caso algun guion, hasta donde se eh?
:-? ] y luego utilizar la comparacion, no se eh? :-? Bueno lo dicho y
muchas gracias :-) a todos vosotros que estais por aqui ;-) !!

Saludos :-) !!!

Ivan

unread,
Apr 23, 2007, 6:05:01 PM4/23/07
to

aunque el hilo se vaya pareciendo a como debio ser el de Ariadna,
muchas gracias de nuevo, Monica

un saludo
Ivan

0 new messages