HKEY_CURRENT_USER vs HKEY_LOCAL_MACHINE
HKEY_CURRENT_USER i HKEY_LOCAL_MACHINE to dwa klucze główne w rejestrze Windows, które są istotną częścią każdej instalacji systemu operacyjnego Windows od Windows 3.1. Rejestr systemu Windows przechowuje ustawienia urządzenia, opcje oprogramowania i inne informacje dotyczące komputera, systemu operacyjnego i aplikacji, które się na nim znajdują. Główną różnicą między HKEY_CURRENT_USER a HKEY_LOCAL_MACHINE jest to, czego dotyczą. HKEY_LOCAL_MACHINE przechowuje informacje istotne dla całego komputera, natomiast HKEY_CURRENT_USER zawiera informacje specyficzne dla użytkownika. Dlatego istnieje tylko jedna kopia HKEY_LOCAL_MACHINE, podczas gdy istnieje wiele kopii HKEY_CURRENT_USER o różnych wartościach.
Jeśli użytkownik zdecyduje się edytować wpisy rejestru w HKEY_CURRENT_USER, zmieni ustawienia tylko dla siebie. Ale jeśli zmieni wpisy w HKEY_LOCAL_MACHINE, zmieniłby ustawienia dla wszystkich korzystających z tego komputera. Dobrym przykładem może być instalacja nowego oprogramowania. Wiele programów pyta podczas instalacji, czy byłoby to przeznaczone tylko dla bieżącego użytkownika czy dla wszystkich. Wybranie tylko dla bieżącego użytkownika spowodowałoby, że wpisy zostaną wprowadzone w HKEY_CURRENT_USER, natomiast wybranie dla wszystkich umieściłoby wpisy w HKEY_LOCAL_MACHINE. Oczywiście wybranie pierwszego z nich oznacza, że tylko użytkownik, który zainstalował oprogramowanie, będzie mógł z niego korzystać, podczas gdy druga opcja pozwoli wszystkim zobaczyć i korzystać z oprogramowania.
Inną kluczową różnicą między HKEY_LOCAL_MACHINE i HKEY_CURRENT_USER jest to, kto może go edytować. Pierwszy z nich może być edytowany przez dowolnego użytkownika, który ma dostęp do rejestru, natomiast drugi może być edytowany tylko przez indywidualnego użytkownika. Nie możesz zalogować się do jednego konta i edytować wpisów HKEY_CURRENT_USER na innym koncie.
Wreszcie jest kwestia, kiedy wpisy rejestru są ładowane. HKEY_LOCAL_MACHINE są ładowane podczas uruchamiania systemu operacyjnego. Dla porównania, HKEY_CURRENT_USER jest ładowany dopiero po zalogowaniu się użytkownika na swoje konto, co jest dość rozsądne, ponieważ system operacyjny nie wiedziałby, który HKEY_CURRENT_USER zostanie załadowany. Jeśli użytkownik nie zaloguje się na określone konto lub zaloguje się na konto gościa, zostaną załadowane domyślne ustawienia HKEY_CURRENT_USER. W przypadku nowego użytkownika wpisy HKEY_CURRENT_USER będą również takie same jak domyślne.
Streszczenie:
1.HKEY_CURRENT_USER dotyczy tylko jednego użytkownika, podczas gdy HKEY_LOCAL_MACHINE dotyczy wszystkich
2.HKEY_LOCAL_MACHINE jest zawsze dostępny, podczas gdy HKEY_CURRENT_USER dla konkretnego użytkownika jest dostępny tylko po zalogowaniu
3.HKEY_LOCAL_MACHINE są ładowane podczas uruchamiania, podczas gdy HKEY_CURRENT_USER są ładowane podczas logowania