2016-05-07 1 views
0

Я написал C# приложение для изменения реестра значения AutoLogon, DefaultUserName и DefaultPassword на Windows 7.реестра правка Windows 7 не сохраняется для DefaultUserName и DefaultPassword

полный путь будет «HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ CurrentVersion \ WinLogon»

RegistryKey key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows NT\\CurrentVersion\\WinLogon", true); 
if(key != null) 
{  
    key.SetValue("DefaultUserName", "username"); 
    key.SetValue("DefaultPassword", "password"); 
} 

Этот код выполняется без каких-либо ошибок или исключений, но нет никаких изменений, пострадавших в реестре.

Я выполнил как Admin, и система, на которой это выполняется, имеет одного пользователя, и это admin.

ответ

0

Удостоверьтесь, что используете key.Close(), поскольку он никогда не будет сохранен в противном случае.

Как это:

RegistryKey key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows NT\\CurrentVersion\\WinLogon", true); 

if(key != null) 
{ 
    key.SetValue("DefaultUserName", "username"); 
    key.SetValue("DefaultPassword", "password"); 
    key.Close(); 
} 

Вот ссылка от MS: https://msdn.microsoft.com/en-GB/library/h5e7chcf.aspx