|
|
1.1 ! root 1: Sample: Using API Functions to Access the Registry ! 2: ! 3: Summary: ! 4: ! 5: The Registry Monkey is a simple utility which demonstrates ! 6: the Registry API functions needed to access the NT Registry. ! 7: Monkey can be used to climb up and down the various branches ! 8: of the Registry tree, displaying the individual key's data ! 9: values. Monkey can also be used to print specified trees to ! 10: a file named Registry.txt. ! 11: ! 12: The Registry Monkey sample can be found in the ! 13: \MSTOOLS\SAMPLES\REGISTRY directory. ! 14: ! 15: More Information: ! 16: ! 17: To use: start an instance of the Monkey. A dialog box will ! 18: appear with several edit fields, list boxes and buttons. ! 19: The listbox in the center of the dialog box (labeled CHILD ! 20: KEYS: at the bottom) will always hold the child keys of the ! 21: current key. Initially it has four entries, representing ! 22: the four pre-defined key handles of the Registry: ! 23: HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER, HKEY_USERS, and ! 24: HKEY_CLASSES_ROOT. If you double click on any of these ! 25: entries, or high light it and press the "Next/Down" button; ! 26: the key that you just selected will appear in the edit field ! 27: "Key Name", and the children of that selected key will ! 28: replace the entries in "CHILD KEYS:" list box. I.e. if you ! 29: select HKEY_LOCAL_MACHINE, that name will be present in "Key ! 30: Name", and it's children will appear in the list box: ! 31: HARDWARE, SECURITY, SOFTWARE, and SYSTEM. To proceed deeper ! 32: into the tree, double click another child. To back out of ! 33: the Registry, double click on the ".." at the top of the ! 34: listbox, or press the "Back/Up" button. ! 35: ! 36: If the current key has values associated with it, the name ! 37: of the values will be listed in the right hand listbox ! 38: (labeled "VALUES:"). If it has now values, "VALUES:" will ! 39: be followed by a "0". Once you come upon a key that does ! 40: have values associated with it, you can double click on any ! 41: of the values in this list box. At the bottom of the dialog ! 42: box are two edit fields: "Value: Data Type", and "Value: ! 43: Data Entry". By double clicking a value entry, these edit ! 44: fields will be filled in the data's type and the data's ! 45: value. I.e. if you follow the tree down to ! 46: HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System; and double ! 47: click on the entry "1) Identifier", the "Value: Data Type" ! 48: field will be filled with "REG_SZ: A null-terminated Unicode ! 49: string"; and the "Value: Data Entry" may be filled in with ! 50: something such as "AT/AT COMPATIBLE" ! 51: ! 52: If the current key has a Class type associated with it, it ! 53: will appear in the "Class" edit field. The "ACL" edit field ! 54: is not implemented with this release of the Registry Monkey. ! 55: ! 56: You can use the Registry Monkey to write any part of the ! 57: Registry Tree to a file called REGISTRY.TXT. To do this, ! 58: select either the "Full" or "Trimmed" buttons (this ! 59: specifies either writing all of the key entries, or only ! 60: those having Value data associated with them); and press the ! 61: "Print Branch" button. The Registry Monkey will begin at ! 62: the current branch, and will proceed recursively down the ! 63: branches to the end of the tree, writing the information to ! 64: the file. To write the entire tree, print each of the four ! 65: pre-defined keys. Note, this can make for a rather large ! 66: file (700Kb at the time this was written). ! 67:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.