2008-08-29 5 views
5

프로그래밍 방식으로 .reg 파일을 레지스트리에 병합하는 가장 좋은 방법은 무엇입니까? 이것은 단위 테스트 용입니다. .reg 파일은 테스트 아티팩트이며,이 파일은 테스트의 시작과 끝에서 추가되고 제거됩니다.프로그래밍 방식으로 .reg 파일을 win32 레지스트리에 병합

또는 내 파일 연결을 확인하여 그것으로 보았다 레지스트리에 대한 단위 테스트에 더 나은 방법 ...

답변

8

.reg 파일을 사용하여 레지스트리 키를 제거 할 수는 있지만 문서화의 정확성은 확실하지 않습니다. 키 이름 앞에

REGEDIT4 

[-HKEY_CURRENT_USER\Software\<otherpath>] 

- 당신이 키를 제거 할 Regedit을 알 방법은 다음과 같습니다. 종속성을 다루고 단위 테스트 작성에 대한 가장 실망 것들의

regedit /s "myfile.reg" 
2

이 있는지.

Windows에서 실행 가능한 regedit.exe의 첫 번째 매개 변수로 .reg 파일이 호출 된 것 같습니다.

그럼 그냥 regedit.exe "mytest.reg"이라고 말할 수 있습니다. 내가 잘 모르는 것은 당신의 확인을 요구하는 대화 상자를 없애는 방법입니다.

1

Win32 API 함수 ShellExecute() 또는 ShellExecuteEx()를 사용하십시오. 주석이 'open'이면 .reg 파일을 병합해야합니다. 나는 그것을 테스트하지 않았지만 효과가있다.

+0

"댓글이 '열려있는'경우 무엇을 의미합니까? Johnny Mathis? –

0

하나 :

형, 자동으로이 작업을 실행합니다. Test-Driven Development의 가장 큰 장점 중 하나는 종속성에서 분리 된 코드를 생성한다는 것입니다. 멋지다, 응?

내가 이와 같은 질문을하면, 필자가 의존성에서 작성한 코드를 분리 할 수있는 방법을 찾는다. 레지스트리의 독서를 테스트하려는 복잡성과 구분하십시오.

5

포격하는 경우 reg 명령을 사용합니다 (아래 세부 정보 참조). 어떤 언어로 작업하는지 알려 주시면 언어 별 코드를 제공 할 수 있습니다.

C :> reg /?

REG 조작 [매개 변수 목록]

조작 [QUERY | 추가 | 삭제 | COPY | SAVE | 로드 | UNLOAD | 복원 | 비교하십시오 | 수출 | 가져 오기 | FLAGS]

반환 코드 : (REG를 제외하고 비교)

0 - 성공 1 - 특정 작업 유형에 대한 도움말

실패 :

은 REG 추가 /? REG DELETE /? [snipped]

관련 문제