Ver Mensaje Individual
  #5  
Antiguo 18-07-2006
Avatar de Wonni
Wonni Wonni is offline
Miembro
 
Registrado: abr 2006
Posts: 261
Reputación: 19
Wonni Va por buen camino
Sigo dandole vueltas al asunto. He estado experimentando e investigando y resulta que en la clave HKEY_LOCAL_MACHINE\SYSTEM hay otras claves que se llaman ControlSet001, ControlSet002, ControlSet003 y en cada una de ellas estan las claves donde se modifica el valor de "UserWriteCacheSetting". Pero esta clave tambien esta en: CurrentControlSet dentro de la misma rama. Bien, pues resulta que si cambio ( con el regedit, a mano ) el valor de UserWriteCacheSetting en CurrentControlSet, automaticamente se cambia en las otras tambien. Reinicio y el cambio se hace efectivo. Si no reinicio, no se refleja en la ventana de Propiedades de HD->Directivas. Pero si hago el cambio seleccionando o deseleccionando el checkbox y acepto, si se refleja en el Registro.

Entonces con solo cambiarlo en CurrentControlSet, seria suficiente. Pero el problema esta en el ID del disco duro en cuestion. He estado buscando con google y he encontrado informacion acerca de como obtener el ID Hardware, osea, no el Volumen (q cambia al formatear), pero no he conseguido hacerlo.
Tambien he probado el componente de Neftali, TDiskInfo y este te da un numero de serie, pero yo tengo dos discos duros y me da el mismo numero de serie en ambos. Aparte de que ese no es el ID que aparece en el registro ( y cuando inicias el pc, lo puedes ver tambien ). Por ejemplo, con el TDiskInfo me aparece que mi numero de serie es:3HV3JCA5 pero en la clave de registro y en el inico pone esto: ST3120022A y ST380021A. Sin embargo con el TDiskInfo me muestra 3HV3JCA5 para ambos discos.
En la clave del registro se antepone la palabra disk: DiskST380021A ademas de guiones bajos y otros caracteres que no entiendo:

IDE\DiskST380021A_______________________________3.19____
IDE\ST380021A_______________________________3.19____
IDE\DiskST380021A_______________________________
ST380021A_______________________________3.19____
GenDisk

La clave completa es:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\IDE\.....y aqui ya aparecen los dos discos duros y el CDrom
Y la cosa se lia mas, porque despues de cada unidad sigue esto antes de llegar la clave UserWriteCacheSetting:

48333356434a3541202020202020202020202020\Device Parameters\Disk\UserWriteCacheSetting ( por fin, uff)

Dentor de 483333 .... (es como un GUID, ¿NO?) hay claves como:

FriendlyName: que es el ID tal y como aparece en el inicio del pc, solamente
ST3120022A

Class: 'CdRom', 'DiskDrive' (osea, el tipo de unidad)

Llegar con seguridad, solo puedo llegar a ... ...\IDE
Entonces, a partir de ahi, ¿como puedo hacer desde delphi para buscar una determinada clave a partir de ahi?. Porque se me ha ocurrido que a partir de ahi, busco la clave UserWriteCacheSetting y la cambio. Pero comprobando antes que el tipo sea DiskDrive.

¿q os parece esto? ¿es arriesgado?

Como ya dije con solo cambiarla en CurrentControlSet, se cambia automaticamente en las ControSetXXX.


El problema que tengo es que no se como buscar en el registro, y ademas a partir de la clave encontrada, retroceder en el arbol.

Espero vuestras opiniones, gracias

Saludos !!!
Responder Con Cita