2016-11-04 4 views
0

Я пытаюсь запретить Windows показывать меню Ctrl + Alt + Del при входе в систему, для этого мне нужно перевернуть значение реестра с 0 на 1, я разработал эту часть кода:Предотвращение окон Ctrl + Alt + Del при входе в систему

const string subkey = @"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"; 

RegistryKey myKey = Registry.LocalMachine.OpenSubKey(subkey, true); 
myKey.SetValue("DisableCad", "1", RegistryValueKind.DWord); 
myKey.Close(); 

Но когда я перезапускаю окна, меню Crtl + Alt + Del все еще появляется. Кто-нибудь знает, в чем проблема?

+2

Crystal Ball говорит, что вы запускаете этот код на 64-разрядной версии Windows, но вы не удалили форсирование дрожания. Таким образом, значение, которое вы пишете, заканчивается в разделе Wow6432Node. Используйте Regedit.exe для проверки. Project> Properties> Build tab, отключите флажок «Предпочтительно 32-бит». И напишите 1, а не «1». –

+0

Да, вот и все! Отправьте его как ответ, пожалуйста, чтобы я мог отметить его как правильно. – alface

+0

Полагает, что у вас есть все, чтобы завершить этот Q + A самостоятельно. Просто напишите свой собственный пост и отметьте его как ответ, чтобы закрыть свой вопрос. –

ответ

1

Благодаря Hans Passant я нашел ответ.

Проблема заключалась в том, что я был запущен этот код для 64-разрядного компьютера, когда я компиляции для 32-разрядных ...

Чтобы изменить это, я просто должен был должен Project> Properties> вкладка Построить , и снимите флажок «Предпочесть 32-бит».

Спасибо, Ханс.

 Смежные вопросы

  • Нет связанных вопросов^_^