Доступ к реестру через.NET Framework показывает 1 вещь; Regedit показывает другой
Я пишу здесь, потому что этот вопрос не имеет ничего общего с тем, как что-то запрограммировать и все, что связано с испорченным компьютером.
Когда я запускаю следующую строку кода VB .Net в Visual Studio 2010 Immediate Window:
MsgBox(My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Control Panel\Desktop\ProductName", "SCRNSAVE.EXE", Nothing))
тогда я получаю следующее сообщение:
---------------------------
Screensaver State Checker
---------------------------
C:\Windows\system32\PhotoScreensaver.scr
---------------------------
OK
---------------------------
Это не имеет смысла, потому что в реестре даже нет записи SCRNSAVE.exe на снимке экрана.
Фактически, текущая заставка в соответствии с панелью управления Windows - "(Нет)".
Кстати, перед этим небольшим упражнением с VB .Net у меня были всевозможные проблемы, пытаясь заставить заставку включаться в нужное время.
Как я могу решить эту проблему?
Системная информация:
- ThinkPad T400
- Windows 7 Ultimate 32-разрядная версия
- Больше информации по запросу
1 ответ
У Патрика С. был правильный ответ:
ваш код просматривает HKEY_CURRENT_USER\ Панель управления \Desktop\ProductName, но ваш снимок экрана останавливается на клавише Desktop. Удалите "\ProductName" из кода, так как ваш скриншот правильный.