Confidencial de Windows: La clave misteriosa

Algunos ajustes no están destinados a ser cambiado o manipulados. Cuando se los encuentra, déjelos tal cual.

Raymond Chen

"¿Por qué el sistema actúa gracioso cuando modificar esta clave del registro indocumentados?" No es el tipo de pregunta que quieres oír.

Un cliente una vez observó que parecía una casilla especial ser asociado a una clave del registro especial de indocumentados. Porque el cliente quería controlar esa casilla de verificación mediante programación, escribió un guión para manipular esa llave, pero entonces el sistema comenzó a actuar extrañamente. Imagina eso.

"Si empiezo con la tecla set a 0 y configurarlo manualmente a 1, cuando voy al panel de control, que muestra la casilla seleccionada, pero el sistema se comporta como si la casilla de verificación está desactivada todavía. Incluso extraño; Si trato de activar la casilla de verificación desde el panel de control, eso no cambia. Se queda comprobado. Le agradecería su opinión."

A veces la gente tan involucrarme en describir su problema que olvidan hacer una pregunta. En este caso, el cliente describe todas las cosas que hicieron y lo que observaron. Sin embargo, en realidad él no indicar qué tipo de ayuda que necesitaba. Un desarrollador leyendo esto podría decir, "tiene sentido" o, posiblemente, "mi, qué interesante."

Supongamos que la pregunta es: ¿"Ayúdame desarrollar una forma de controlar mediante programación la casilla de verificación? Editar el registro no parece estar trabajando".

No modifique

Bueno, la clave del registro en cuestión es indocumentada por una razón: La modificación directa no es compatible. La modificación directa provoca Estados internos conseguir fuera de sincronía. Entonces obtendrás extraño comportamiento como el descrito por el cliente.

Considere que estás en un restaurante de lujo. Este elegante restaurante mantiene una copia maestra del menú diario en la cocina. Al principio del día, cada camarero y cocinero Mira el menú y comete a memoria. A veces, el chef ejecutivo hará un cambio en el menú al mediodía. Cuando lo hace, dice el personal de ello para que todo el mundo sabe y se queda en el acuerdo. "Nos quedamos sin pescado, hasta rayar el pescado por el resto de la noche". De esa manera, los camareros no ofrecen platos que no existen.

Ese menú es el registro. Supongamos que un cliente se cuela en la cocina, saca una pluma, elimina filete mignon y escribe New York steak, luego vuelve a entrar en el comedor e intenta ordenar el New York steak. (Tal vez el cliente también cambia el precio de $45 a $35 por si acaso.)

El camarero dirá: "lo siento, señor, pero no tenemos hoy New York steak. ¿Puedo sugerir el filet mignon?"

Entonces el cliente dice: "te equivocas. Hoy tiene filete de Nueva York. Volver a la cocina y ver el menú principal. Usted verá que está ahí. Este restaurante espera personal procedimientos son claramente errónea".

El menú principal en la cocina es indocumentado. ¿Cómo sabe el cliente sobre el menú principal. Clientes hacer cambios en el menú principal es un comportamiento totalmente sin soporte. Sólo porque le tache de filete mignon y escribe New York steak no significa New York steak aparecerán pronto en la cocina.

El camarero ni siquiera vio el cambio del cliente porque el camarero memorizado el menú al comienzo del día y no había mirado el menú principal desde entonces. No había ninguna necesidad, porque el chef ejecutivo no hizo anuncios de cualquier cambio de menú. El cliente debe ser arrojado fuera del restaurante y pidió para no volver jamás.

La gente del equipo de compatibilidad de aplicación probablemente leer esto y exclamar: "¡ cómo deseamos la última parte de la analogía prorrogados en software!" Algunas cosas simplemente no están hechas para ser cambiado o manipulados. A veces, sólo tienes que dejar las cosas solo.

Raymond Chen's

Raymond Chen  Sitio web, la cosa nueva vieja y libro titulado idénticamente (Addison-Wesley, 2007) historia de Windows, programación Win32 y caramelo de comercio.

Contenido relacionado