2010-07-22 2 views
0

Windows에서 "상대적으로"상위 드라이브에 액세스하는 "기본 제공"방법이 있습니까?Windows에서 "상대적으로"부모 드라이브에 액세스

즉, 대신 K:\1\2\3 같은 경로 저장 내 프로그램의 (K를 :가 USB 플래시 드라이브 인 \), I는 드라이브 문자가 발생하는 경우, 드라이브 문자없이 그런 식으로 경로를 저장하는 데 싶습니다 앞으로는 변경되므로 저장된 경로는 동적이기 때문에 여전히 유효합니다.

은 내가 수동으로 플래시와 같은 뭔가 드라이브 문자를 대체 할 수 있습니다 알고 경로를 저장하기 전에 \를 한 후 저장 경로를 액세스하기 전에, 플래시를 대체 : \ 내 프로그램은 드라이브의 문자로 현재 실행 중이지만 이렇게 할 수있는 "기본 제공"방법이 있는지 알고 싶었습니다. 드라이브 문자 대신 Windows에 특정 문자열을 전달할 수 있으며 Windows는이를 자동으로 드라이브 문자로 바꿉니다. 현재 프로그램이 실행 중입니다.

답변

2

\1\2\3\

+0

D' oh! 내가 먼저 물어보기 전에 먼저 시도해 보았는데 작동하지 않았다. SHGetFileInfo()는 어떤 이유로 든 경로 유형을 좋아하지 않습니다. 그래도 시도해 보지 못한 fopen()과 함께 잘 작동합니다. 감사! – user399585

+0

이것은 문제가 될 수 있습니다. 상대 디렉토리를 적용 할 수있는 볼륨이 프로그램 실행 파일이있는 볼륨 일 필요는 없습니다 (즉,이 경로가 적용될 수있는 현재 디렉토리가 다른 드라이브에있을 수 있습니다. 프로그램 이미지). –

+0

@Michael Burr : 고마워, 그럼 아마도 첫 번째 \를 argv [0] (프로그램 실행 경로)에 사용 된 드라이브 문자로 대체해야할까요? – user399585