2016-11-09 5 views
0

Запускать спасибо за этот сайт всегда полный (глубокий) знания :-)VBScript Перечисляя ключ

Я пытаюсь подсчитать количество имен/значений под Run Key. Я попытался это:

Const HKCU = 2147483649 ' &H80000001 
Set reg = GetObject("winmgmts://./root/default:StdRegProv") 
Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Run" 
reg.Enumkey HKLM, Key, arrSubKeys 

Если я использую другой ключ, чем «Run», то все в порядке, и я могу сделать для .. в arrSubKeys Но Run всегда возвращает пустое arrSubKeys Как я могу подсчитать количество ключей в Run?

То же самое с HKLM, HKU, (с тем же ключом).

также попытался с:

Set reg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") 

Примечание: Чтение известного ключа под Run работает.

+1

Run обычно не имеет подразделы. –

+0

Работает для меня, как только вы a) сначала возьмёте подраздел «Run» и b) на самом деле используйте константу 'HKCU' вместо константы (undefined)' HKLM'. Возможно, проблема с 32/64 бит? –

+0

Спасибо за ваш ответ и указав опечатку в HKCU и HKLM. У сценария нет этой опечатки. Но реальная точка зрения заключается в том, что я не хочу подразделы, а имена/значения в этом ключе. Поэтому я обязал, что мой код работает и возвращает 0 подразделов, но не возвращает то, что я хочу. Как я могу это сделать ? (надеюсь, что это понятно). – DMike92

ответ

0

Использование: reg.EnumValues ​​HKLM, ключ, arrValues ​​