Доступ к реестру через.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" из кода, так как ваш скриншот правильный.

Другие вопросы по тегам