Differenza tra HKEY_CURRENT_USER e HKEY_LOCAL_MACHINE

HKEY_CURRENT_USER vs HKEY_LOCAL_MACHINE

HKEY_CURRENT_USER e HKEY_LOCAL_MACHINE sono due chiavi radice nel registro di Windows che è una parte vitale di ogni installazione del sistema operativo Windows da Windows 3.1. Il registro di Windows contiene le impostazioni del dispositivo, le opzioni software e altre informazioni relative al computer, al sistema operativo e alle applicazioni su di esso. La principale differenza tra HKEY_CURRENT_USER e HKEY_LOCAL_MACHINE è la loro pertinenza. HKEY_LOCAL_MACHINE contiene informazioni rilevanti per il computer nel suo complesso mentre HKEY_CURRENT_USER contiene informazioni specifiche per l'utente. Pertanto, c'è una sola copia di HKEY_LOCAL_MACHINE mentre ci sono più copie di HKEY_CURRENT_USER con valori diversi.

Se un utente decide di modificare le voci di registro in HKEY_CURRENT_USER, modificherà le impostazioni solo per se stesso. Ma se cambia le voci in HKEY_LOCAL_MACHINE, cambierebbe le impostazioni per tutti quelli che usano quel computer. Un buon esempio di questo sarebbe l'installazione di un nuovo software. Molti software chiedono all'installazione se sarebbe solo per l'utente corrente o per tutti. Selezionando solo per l'utente corrente si otterrebbero voci in HKEY_CURRENT_USER mentre selezionando per tutti si inseriscono le voci in HKEY_LOCAL_MACHINE. Ovviamente, scegliere il primo significa che solo l'utente che ha installato il software sarebbe stato in grado di usarlo mentre quest'ultima opzione avrebbe permesso a tutti di vedere e utilizzare il software.

Un'altra differenza fondamentale tra HKEY_LOCAL_MACHINE e HKEY_CURRENT_USER è chi può modificarlo. Il primo può essere modificato da qualsiasi utente che abbia accesso al registro mentre quest'ultimo può essere modificato solo dal singolo utente. Non è possibile accedere a un account e modificare le voci HKEY_CURRENT_USER su un altro account.

Infine, c'è il problema di quando vengono caricate le voci del registro. HKEY_LOCAL_MACHINE vengono caricati durante l'avvio del sistema operativo. In confronto, HKEY_CURRENT_USER viene caricato solo dopo che l'utente ha effettuato l'accesso al suo account, il che è abbastanza ragionevole in quanto il sistema operativo non saprebbe quale HKEY_CURRENT_USER verrà caricato. Se l'utente non accede a un account specifico o accede all'account guest, verranno caricate le impostazioni HKEY_CURRENT_USER predefinite. Per un nuovo utente, le voci HKEY_CURRENT_USER sarebbero uguali a quelle predefinite.

Sommario:

1.HKEY_CURRENT_USER è applicabile solo a un utente mentre HKEY_LOCAL_MACHINE è applicabile a tutti
2.HKEY_LOCAL_MACHINE è sempre disponibile mentre HKEY_CURRENT_USER per un utente specifico è disponibile solo quando effettua l'accesso
3.HKEY_LOCAL_MACHINE vengono caricati all'avvio mentre HKEY_CURRENT_USER viene caricato al log-in