2012-06-04 4 views
1

예를 들어, "HKCU \ Software \ Test"를 가리키는 System.Win32.RegistryKey 개체가 있습니다. .Name 속성은 절대 경로로 채워집니다. 현재 (상대) 키 이름 만 가져 오는 방법이 있습니까?RegistryKey의 상대 경로 얻기

위 예제에서 나는 경로의 "테스트"부분만을 찾고 있습니다. 수동으로 경로를 구문 분석하지 않고도 System.IO.Path.GetDirectoryName에 해당하는 레지스트리를 찾고 있습니다.

답변

2

System.IO.Path.GetDirectoryName으로 전화하면됩니다.

(GetFullPath() 제외) 함수는 순수한 문자열 조작 함수이며 비 파일 시스템 경로에서도 올바르게 작동합니다.

+0

'System.IO.Path.GetDirectoryName'는'ArgumentException'을 던져집니다. I.E. '|'(파이프). 'key.Name.Substring (0, key.Name.LastIndexOf ('\\'))'를 대신 사용하십시오. – modiX

2

단순히 레지스트리 경로와 잘 작동하는 System.IO.Path.GetDirectoryName을 사용할 수 있습니다.

2

절대적인 절대 경로가 아닌 상대적인 값 (그냥 테스트)을 묻습니다. GetDirectoryName 메서드는 절대 경로를 반환합니다. 사용하려는 방법은 다음과 같습니다

System.IO.Path.GetFileNameWithoutExtension(subkey.Name); 

키가 디렉토리가 존재 수없는 문자가 포함 된 경우이 link