Windows7 - ewf - kontroluj język interfejsu użytkownika

0

Tworzę aplikację dla systemu Windows Embedded Standard, która korzysta z EWF do ochrony dysku c: \.

Chcę mieć możliwość kontrolowania języka interfejsu użytkownika, który jest ustawiany przez ten klucz rejestru \ HKEY_CURRENT_USER \ Panel sterowania \ Desktop \ PreferredUILanguages

Klucz należy ustawić przed zalogowaniem się użytkownika. Używamy jednak autologin.

Próbowałem ustawić klucz jako ScheduledTask, aby był uruchamiany jako ten użytkownik podczas uruchamiania systemu. Jednak zadanie nie uruchomi się przed uruchomieniem automatycznego logowania.

Próbowałem także napisać program, który działa w katalogu \ HKLM \ System \ CurrentControlSet \ Control \ Session Manager \ Execute. Jednak programy te działają w systemie NT, a nie w podsystemie Win32 i mają inny interfejs API, dla którego nie mam doświadczenia w pisaniu.

Czy istnieje metoda kontrolowania ustawienia PreferredUILanguages, gdy istnieje EWF?

CSM
źródło
Opóźnia autologowanie?
Ultrasonic54321,
Nie ma standardowego sposobu opóźniania autologiny. Znalazłem narzędzie innej firmy, które to zrobi, ale kosztuje 2 USD / urządzenie
CSM

Odpowiedzi:

0

Musisz wpisać wartość do domyślnego profilu użytkownika. Wszystkie nowe profile ją odziedziczą.

reg load HKLM\temp C:\Users\Default\ntuser.dat
reg add HKEY_LOCAL_MACHINE\temp\Control Panel\Desktop /v PreferredUILanguages /d en-US /t REG_SZ /f
(put here as many commands as you wish)
reg unload HKLM\temp

Oczywiście będzie to miało zastosowanie, jeśli profil użytkownika nie został jeszcze utworzony.

Możesz także skonfigurować obiekt zasad grupy, który będzie stosowany do wszystkich profili użytkowników podczas logowania. Oto najlepszy sposób:

Administrative Templates (Users) > Regional and Language Options > Restricts the UI languages Windows should use for the selected user

dodatkowe informacje

Rejestr: https://blogs.technet.microsoft.com/chad/2012/04/25/tip-49-how-do-you-set-default-user-profile-registry-settings/

GPO: https://getadmx.com/?Category=Windows_10_2016&Policy=Microsoft.Policies.Globalization::LockUserUILanguage

Hardoman
źródło
Nie wiem, czy wyraziłem się wystarczająco jasno. Chcę mieć aplikację, która może zmieniać preferowane języki użytkownika, gdy C: \ jest chroniony przez EWF. Wszelkie zmiany dokonane w tym kluczu zostaną utracone po ponownym uruchomieniu komputera.
CSM
GPO jest zaprojektowany do stosowania zmian przy każdym logowaniu. Tego używano na całym świecie, aby zawsze mieć odpowiednie ustawienie. Jeśli wybierzesz powyższą metodę rejestru, zostanie ona zastosowana do nowego profilu użytkownika przy pierwszym logowaniu i nie zostanie utracona po ponownym uruchomieniu komputera.
Hardoman
Chcę tylko przeczytać ustawienie z D: \ (nie chronione przez EWF), a następnie zastosować je do rejestru użytkownika. I zrób to, zanim użytkownik zostanie automatycznie zalogowany. Moja aplikacja zmieni to ustawienie, jeśli będzie to konieczne.
CSM
@CSM Czy za każdym razem musisz ponownie zastosować te ustawienia? Czy możemy odczytać to ustawienie raz, ustawić domyślny profil użytkownika i zastosować je raz do każdego nowego profilu użytkownika przy pierwszym logowaniu?
Hardoman
Jest tylko jeden użytkownik. Chcę zastosować ustawienie przy każdym rozruchu, dopóki użytkownik nie zmieni ustawienia, które chce zastosować. Następnie nowe ustawienie należy zastosować przy kolejnych i kolejnych rozruchach
CSM