[C#/.Net] 현재 프로그램 실행 경로 가져오기 (상대 경로 설정)
현 블로그는 모바일 환경이 아닌 PC환경에 최적화 되어있습니다.
|
|
현재 프로그램 실행 경로 가져오기
System.IO.Directory.GetCurrentDirectory()와 Application.StartupPath()의 차이점을 알아보고 실행 경로를 가져오자.
현재 경로를 가져오는 방법으로 크게 3가지 메소드가 있습니다.
1. System.Windows.Forms.Application.StartupPath
- 윈폼 프로그램 실행시 가능한 방법
- 기타 조건에 상관없이 무조건 현재 프로그램의 실행위치를 가져온다.
(Application.ExecutablePath == 실행파일명까지 가져온다.)
( System.Windows.Forms.Application은 실행되는 프로그램의 전반적인 컨트롤과 정보를 가져올수 있다.)
2. System.IO.Directory.GetCurrentDirectory()
- 윈폼이 아닌 다른환경에서도 가능한 방법
- Windows Registry에 등록시 (설치프로그램 실행시) "C:\Windows\System32" 경로가 나옴
(System.IO.Directory는 디렉토리에 대한 컨트롤을 할수 있다.)
3. System.Environment.CurrentDirectory
- 2와 동일
( System.Environment는 현재 환경 및 플랫폼에 대한 컨트롤과 정보를 가져올수 있다.)
우선 윈폼 프로그램일경우 Application.StartupPath명령어를 사용하는게 제일 좋은거 같습니다.
다른 명령어를 사용할때에는 설치 전,후를 잘 생각해서 사용하시길 추천합니다.
(설치시 설치경로를 레지스트에서 불러와 절대경로로 사용하면 될듯합니다.)
- 예제 -
using System.Windows.Forms; namespace t2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); //프로그램 실행시 Data 폴더 확인 및 없을경우 Data 폴더 생성 System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(Application.StartupPath + @"\Data"); if (!di.Exists) { di.Create(); } } } }
※ 관련글
'C# > 예제 소스' 카테고리의 다른 글
[C#/.Net][DateTime] 월별 일수 가져오기(DateTime.DaysInMonth()) (0) | 2016.01.07 |
---|---|
[C#/.Net][String To DateTime] 문자형을 Datetime형으로 변경하기 (1) | 2015.11.13 |
[C#/.Net] 디렉토리 존재유무 확인하기 (DirectoryInfo.Exists) (0) | 2015.11.10 |
[C#/.Net] 파일 존재유무 확인하기 (FileInfo.Exists) (0) | 2015.11.10 |
[C#/.Net] ColorDialog를 이용하여 색상표 불러오기 (System.Windows.Forms.ColorDialog) (0) | 2015.10.29 |