Вы, вероятно, необходимо удалить слэш. Если вы используете это, он будет искать значение по умолчанию для указанного вами ключа, и если он его не найдет, это приведет к ошибке.
И наоборот, если вы попытаетесь получить доступ к ключу, как если бы это было значение, не используя конечную косую черту, вы получите ту же ошибку.
Некоторые примеры пытаются доступа к ключу:
Сбой:
var keyPath = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion";
var shell = new ActiveXObject("WScript.Shell");
var regValue = shell.RegRead(keyPath);
WScript.Echo("Value: " + regValue);
преуспевает (но дает пустой результат, так как значение по умолчанию пусто):
var keyPath = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\";
var shell = new ActiveXObject("WScript.Shell");
var regValue = shell.RegRead(keyPath);
WScript.Echo("Value: " + regValue);
Некоторые примеры, пытающиеся получить доступ к значению:
преуспевает (выход Value: C:\Program Files
):
var keyPath = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\ProgramFilesDir";
var shell = new ActiveXObject("WScript.Shell");
var regValue = shell.RegRead(keyPath);
WScript.Echo("Value: " + regValue);
Сбой (не следует использовать завершающего слэша, когда доступ к значению):
var keyPath = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\ProgramFilesDir\\";
var shell = new ActiveXObject("WScript.Shell");
var regValue = shell.RegRead(keyPath);
WScript.Echo("Value: " + regValue);
im пытается прочитать раздел реестра. и, как вы написали в своем примере, вы можете видеть, что im использует конечную косую черту без везения. , чтобы убедиться, что я попробовал и без косой черты, и это явно не получилось. что я могу попробовать дальше? – kisin
Если вы пытаетесь прочитать «ключ», а не «значение» (разница здесь: http://en.wikipedia.org/wiki/Windows_Registry), тогда он будет искать значение «Default». Если у вас его нет, вы получите сообщение об ошибке. – RedFilter
Если вы действительно пытаетесь прочитать «значение» (оно отображается в правой части в «RegEdit'), тогда не должно быть косой черты. – RedFilter