본문 바로가기
IT-개발,DB

[개발/MFC] 자신의 파일경로 얻기, 자신의 경로 얻기

by SB리치퍼슨 2011. 8. 8.


[개발/MFC] 자신의 파일경로 얻기, 자신의 경로 얻기

현재 실행중인 파일의 경로를 얻는 방법이 있습니다.
간단한 만큼 한 번만 알아두면 자주 사용되는 이 함수를 쉽게 사용할 수 있습니다.

기본적으로 파일명까지 포함해서 현재 실행중인 파일의 경로를 얻을 수 있습니다.
이렇게 파일을 포함한 FullPath에서 파일명을 제외한 경로만을 얻는 것은
추가적으로 함수를 사용해 주어야 합니다.

먼저 이들 함수를 사용하기 위해서는  다음과 가튼 include와 comment를 달아줍니다.

#include <shlwapi.h>
#pragma comment (lib, "shlwapi.lib")

아래는 파일명 포함 전체 경로를 얻는 함수 입니다.

const int MAX_SIZE = 255;
char szPath[MAX_SIZE] = {0, };

GetModuleFileName(NULL, szPath, MAX_SIZE); // or GetModuleFileName(::AfxGetInstanceHandle(), szPath, MAX_SIZE); 

 // szPath 변수에는 실행중인 파일명을 포함한 전체 경로 값이 있습니다. 예를 들자면 c:\program files\mslive\mslive.exe 같은거죠.

이제는 여기에서 파일명을 제외한 전체경로만을 구합니다.

PathRemoveFileSpec(szPath);
// szPath에서는 파일명을 제외해서 다음과 같을 수 잇습니다. c:\program files\mslive

자주 사용하는 함수들인만큼 하나의 함수나 모듈로 만들어 두면 아주 편하게 사용할 수 있습니다.


반응형

댓글