Windows Confidential: Der geheime Schlüssel

Einige Einstellungen sollen nie geändert oder manipuliert werden. Wenn Sie auf eine solche Einstellung stoßen, lassen Sie sie einfach wie sie ist.

Raymond Chen

"Warum handeln das System lustig, wenn ich diese undokumentierte Registrierungsschlüssel zu ändern?" Das ist nie die Art von Frage, die Sie hören möchten.

Ein Kunde beobachtet einmal, dass ein bestimmtes Kontrollkästchen schien einen bestimmten undokumentierte Registrierungsschlüssel zugeordnet werden. Denn der Kunde die Checkbox programmgesteuert zu steuern wollte, er schrieb ein Skript aus, um diesen Schlüssel zu manipulieren, aber dann das System gestartet, seltsam zu handeln. Sich vorstellen Sie, dass.

"Wenn ich mit dem Schlüssel auf 0 und manuell auf 1 festlegen starten, wenn ich in die Systemsteuerung gehen, erscheint die Checkbox aktiviert, aber das System verhält sich, als ob das Kontrollkästchen immer noch deaktiviert ist. Sogar Fremde; Wenn ich versuche, das Kontrollkästchen in der Systemsteuerung wechseln, Umschalten nicht es. Es bleibt gerade überprüft. Ich würde Ihre Eingabe schätzen."

Manchmal Menschen so verfangen in der Beschreibung ihres Problems, die sie vergessen die Frage zu stellen. In diesem Fall der Kunde beschrieben all die Dinge, die sie getan haben und was sie beobachtet. Allerdings hat er tatsächlich feststellen, welche Art von Hilfe, die er brauchte. Ein Entwickler lesen, dies könnte sagen, "das macht Sinn," oder möglicherweise "mein, was eine interessante Geschichte."

Nehmen wir an, die Frage ist: "Hilfst du mir einen Weg, um das Kontrollkästchen programmgesteuert steuern zu entwickeln? Bearbeiten der Registrierung scheint nicht zu funktionieren."

Ändern Sie nicht

Nun, ist der Registrierungsschlüssel in Frage ohne Papiere aus einem Grund: Direkte Änderung wird nicht unterstützt. Direkte Änderung führt zu internen Zustände synchron zu bekommen. Dann bekommst du komisch Verhalten wie beschrieben durch den Kunden.

Betrachten Sie Sie in ein schickes Restaurant sind. Diese feinen Restaurant hält eine Masterkopie des täglichen Menüs in der Küche. Zu Beginn des Tages, jeder Kellner und Koch befasst sich mit dem Menü und übergibt es an Speicher. Manchmal wird der Küchenchef das Menü mitten am Tag ändern. Wenn sie es tut, sagt sie das Personal darüber, so dass jeder weiß und im Einvernehmen bleibt. "Wir liefen aus Heilbutt, also Klettband Heilbutt für den Rest des Abends." Auf diese Weise wird nicht die Kellner bieten Gästen Gerichte, die nicht existieren.

Das Menü ist wie die Registrierung. Angenommen Sie ein Kunde schleicht in die Küche, nimmt einen Stift, Kreuze, Filet Mignon und schreibt New York Steak, dann geht zurück ins Esszimmer und versucht, die New York Steak bestellen. (Vielleicht ändert der Kunde auch den Preis von $45 bis $35 für eine gute Maßnahme.)

Der Kellner wird sagen: "tut mir leid, Sir, aber wir nicht heute New York Steak haben. Kann ich das Filet Mignon vorschlagen?"

Der Kunde sagt, "Du bist falsch. Sie haben heute New York Steak. Gehen Sie zurück in die Küche und das master-Menü schauen. Sie werden sehen, dass es da ist. Dieses Restaurants warten, Personal, das Verfahren eindeutig fehlerhaft sind."

Das master-Menü in der Küche ist ohne Papiere. Woher weiß der Kunde über das Meister-Menü? Kunden, die Änderungen an der master-Menü ist völlig nicht unterstützte Verhalten. Nur weil Sie Filet Mignon Durchstreichen und Schreiben von New York Steak bedeutet New York Steak plötzlich in der Küche erscheint nicht.

Der Kellner sah noch nie des Kunden ändern, weil der Kellner auswendig das Menü am Anfang des Tages gelernt und hatte nicht das master Menü seitdem sah. Gab es keine Notwendigkeit, weil der Küchenchef keine Menü-Änderung-Ankündigungen machen. Der Kunde sollte aus dem Restaurant geworfen und nie wieder gefragt werden.

Die Leute von der Anwendung Kompatibilität Team würde wahrscheinlich lesen Sie diese und rufen, "Oh wie wir wünschen, das letzte Teil der Analogie in Software übernommen!" Einige Dinge sind nicht einfach soll geändert oder manipuliert werden. Manchmal muss man einfach Dinge in Ruhe lassen.

Raymond Chen's

Raymond Chen  Website, The Old New Thing und gleichnamigen Buch (Addison-Wesley, 2007) befassen sich mit der Geschichte von Windows, Win32-Programmierung und Handel mit Süßigkeiten.

Verwandte Inhalte