2013-04-02 4 views
0

작업 :objshell.regwrite 실 거예요 그것은 작동

Set objShell = CreateObject("WScript.Shell") 
objShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFolderOptions", 1, "REG_DWORD" 
Set objShell = Nothing 

그러나 그것은 작동하지 않습니다 : 그것은 문 오류의 끝을해야합니다 두 번째의 경우

Set objShell = CreateObject("WScript.Shell") 
objShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives", 3FFFFFF, "REG_DWORD" 
Set objShell = Nothing 

. 왜 그런가요?

답변

1

귀하의 답변은 here입니다 (전체 페이지를 읽고 vbs 예제 코드도 있음).

참고로 십진수 값만 문자열로 추가 할 수 있습니다

+0

기술 자료 문서에 설명 된대로 DWORD 값으로 문자열을 쓰는 것은 16 진수 값과 함께 작동하지 않습니다. –

+0

@AnsgarWiechers - 예, 나에 의해 테스트되지 않았으므로이 KB 기사에 의심의 여지가 있습니다. 내 대답을 참고로 유지하는 것이 좋을까요? 삭제 하시겠습니까? –

+0

대답은 잘못이 아니며, 그렇지 않으면 나는 그것을 downvoted 것입니다. 하지만 10 진수 값만 문자열로 추가 할 수 있습니다 (기사에서 설명). –

0

3FFFFF은 유효한 변수 이름도 아니고 16 진수의 유효한 표기법이 아니기 때문에 오류가 발생합니다. 이것을 시도하십시오 :

objShell.RegWrite "HKCU\...\NoDrives", &h3FFFFFF, "REG_DWORD"