ToolBox Logo  home  up


Piccolo Cane

posta


 
 
 
Come distruggere il registro (con un solo click)
 
 
     Il registro di cui si parla è quello di Windows 95/98/NT, e la distruzione è una delle possibilità contemplate quando ci si mette le mani sopra. Non si ritenga quindi l'autore di queste note responsabile di alcun danno derivante dal tentativo di mettere in pratica i suoi suggerimenti.

     Il registro di configurazione di Windows è contenuto nei file system.dat e user.dat ed è accessibile con il programma regedit.exe (che si lancia tramite "Esegui" perché non è presente in alcun menù o collegamento predefinito di Windows, proprio per il rischio che gli è associato). Tutte le impostazioni di Windows sono registrate al suo interno, e quello che si può fare dalle interfacce di configurazione ufficiali, si può fare direttamente modificando i valori delle "chiavi" in esso contenute.

     Anzi, esistono parecchie impostazioni di Windows non accessibili per altra via che la modifica diretta, cioè Windows è più flessibile di quanto appare, nel senso che ha più impostazioni di quelle cui si dà accesso al pubblico generale. Parecchi programmi specializzati nell'impostazione di Windows, come erano i Powertoys per Windows 95, altro non fanno in genere se non dare un interfaccia per agire sul registro in modi non permessi dal sistema operativo originale.

     Molto si può capire dalla semplice "navigazione" del registro tramite regedit, perché gran parte dei nomi delle chiavi sono autoesplicativi, ma molto di più si capisce usando programmi che monitorano direttamente le attività del registro mentre si lavora in Windows. Un ottimo programma è per esempio regmon.exe, disponibile gratuitamente insieme a molti altri notevoli programmi sul sito www.sysinternals.com (strano sito di software opensource in ambiente Microsoft, quasi una contraddizione in termini).

     Tramite esso si può arrivare ad individuare quali sono le chiavi ed i valori coinvolti in certe specifiche modifiche di configurazione. La cosa non è immediata, perché l'attività di registro è notevole anche quando non sembra succeda nulla, però con un po' di pazienza si riesce ad estrarre l'informazione che interessa dal "rumore di fondo". La parte difficile è questa, e qui non c'è alcun suggerimento al riguardo.

     Quello che vi propongo è semplicemente un modo per automatizzare la modifica delle chiavi, una volta individuate. La spiegazione si basa su un semplice esempio, ma può essere facilmente estesa a modifiche di qualsiasi importanza, anzi, più sono sostanziose, più è sensato automatizzarle.

     L'esempio è questo: come passare dalla visualizzazione di tutti i file, in Esplora Risorse, a quella dei soli file non nascosti. Il motivo contingente era che uso spesso nascondere gran parte delle cartelle di contenuto "non meritevole di esplorazione" per avere una visione del disco meno confusa. Spesso però è necessario mettere le mani anche sulle cartelle nascoste, e quindi passare tra le due configurazioni dette sopra. Il modo ufficiale per farlo, in Windows 98, è questo: in Esplora Risorse si apre Visualizza/Opzioni cartella/Visualizzazione/File nascosti, scegliendo una delle due voci "Non mostrare i file nascosti" o "Mostra tutti i file" (tralasciamo "Non mostrare i file nascosti e di sistema"). Pur essendoci personalizzazioni più complicate, l'azione non è agevolissima se svolta più volte, implicando vari click.

Vediamo come automatizzarla. Con l'aiuto di Regmon si può stabilire che la chiave di registro coinvolta è:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden

che contiene un valore binario di tipo dword. Se vale 1 tutti i file sono visibili, se vale 2 i file nascosti non sono visibili (e se vale 0 non sono visibili neanche quelli di sistema).

     L'automatizzazione si basa sull'esistenza dei file con estensione reg. Questi sono semplici file di testo che contengono parti del registro, da singole chiavi ad interi rami di esso. Si possono eseguire con un doppio click, e la loro esecuzione porta al semplice inserimento dei loro dati nel registro.

     Una volta individuate le chiavi coinvolte, non occorre conoscere alcunché della sintassi dei file reg. In regedit infatti esiste la funzione di esportazione, che salva i valori di rami del registro in un file reg a scelta.

Nel caso in esame, l'esportazione del ramo coinvolto crea il seguente file reg:

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden"=dword:0000000x

dove x vale 1 in un caso, 2 nell'altro. In realtà l'esportazione copia anche tutte le altre chiavi contenute in .../Advanced, però, visto che non sono coinvolte nell'esempio, si possono cancellare.

     Si possono quindi, solo per fare un esempio, salvare due file sul desktop, con i nomi "tutti.reg" e "non_nascosti.reg". Cliccando su uno di essi si passa nella configurazione corrispondente.

     Nel caso, visto che spesso le configurazioni sono in coppie "opposte", si può usare un singolo file batch che si incarichi di passare dall'una all'altra eseguendo il file reg opportuno. Basta salvare i due file in una cartella, usando i nomi exec.reg, che è quello che viene eseguito, e altro.reg, che contiene l'altro file, assieme al seguente file batch:

@echo off

ren exec.reg temp.reg
ren altro.reg exec.reg
ren temp.reg altro.reg

start exec.reg

dove la prima parte scambia i nomi dei file, usando il nome temporaneo temp.reg, e la seconda lancia l'esecuzione di exec.reg. Vista l'automatizzazione, è opportuno specificare nelle proprietà del file batch "Chiudi all'uscita". Da notare che Esplora Risorse non reagisce da sola alla modifica, se non dopo un "Aggiorna" (F5).

     L'esempio visto è semplice e magari inutile, però la tecnica può essere usata per scambiare configurazioni arbitrariamente diverse tra loro.