System.Environment 에는
아래와 같이 "현재 작업 디렉토리의 정규화된 경로" 를 가져오는
System.Environment.CurrentDirectory 가 있다.
나는 현재 실행되는 프로그램의 경로를 가져올 때 흔히 사용하였다.
사용하다 보니 약간의 문제가 있었다.
예시로 System.Environment.CurrentDirectory 를 메시지 박스로 출력하는 간단한 테스트 소스이다.
해당 프로그램을 바탕화면 ( C:\Users\Administrator\Desktop ) 놓고 실행해보았다.
당연히 아래와 같이 메시지가 보이게 된다.
그리고 다음으로는 cmd 창에서 C:\ 에서 실행해보았다.
결과는 이렇게 나왔다.
System.Environment.CurrentDirectory 은
프로그램이 "있는" 경로가 아니라 말 그대로 "실행" 된 경로를 가져오게 된다.
이것은 Shell 호출로 실행된 경우 실행된 프로그램에서는 나의 경로가 아니라 실행한 프로그램의 경로를 가져오게 된다.
우리는 보통 실행된 경로가 아니라 프로그램이 있는 경로를 필요하는 경우가 많다.
이럴때는
System.Windows.Forms.Application.StartupPath 를 사용해보자.
'Dev::DotNet > C#' 카테고리의 다른 글
System.Drawing.Printing.PageSettings 의 PrintableArea 프로퍼티에 대한 문제 (0) | 2013.10.18 |
---|---|
Windows Version 구분 (0) | 2012.08.10 |
Assembly 의 Version 을 날짜로 바꾸기 (1) | 2012.08.03 |
네트워크 폴더 접속 (0) | 2012.08.02 |
실수를 정수로 형변환 할때 (0) | 2012.07.31 |