2016-11-09 7 views
0

이 사이트는 항상 (깊은) 지식으로 가득합니다 :-)VBScript Run 키 열거하기

실행 키 아래에있는 이름/값 수를 계산하려고합니다. 나는이 시도 :

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

나는 그 모든 것을 확인하고 난 가 어떻게 수를 셀 수 빈 arrSubKeys을 반환 arrSubKeys 에 ..에 대한 작업을 수행하지만 항상 실행 할 수 있습니다 "실행"이 아닌 다른 키를 사용하는 경우 실행의 열쇠?

HKLM, HKU와 동일합니다 (동일한 키 사용).

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

참고 :

또한 함께 시도 실행 작동 아래에 알려진 키를 읽기.

+1

실행은 일반적으로 더 하위 키가 없습니다. –

+0

일단 나를 위해 작동 a) 첫 번째 장소에서'실행 '아래에 하위 키가 있고 b) 실제로 (정의되지 않은) 상수'HKLM' 대신에 상수'HKCU'를 사용하십시오. 아마도 32/64 비트 문제일까요? –

+0

답변 해 주셔서 감사 드리며 HKCU 및 HKLM의 오타를 지적하십시오. 스크립트에는이 오타가 없습니다. 그러나 진짜 요점은 하위 키는 필요 없지만 해당 키의 이름/값을 원한다는 것입니다. 그래서 내 코드가 작동하고 0 하위 키를 반환하지만 내가 원하는 것을 반환하지 않습니다. 어떻게해야합니까? (희망이 분명하다). – DMike92

답변

0

사용 : reg.EnumValues ​​HKLM, 키, arrValues ​​