조경민 bro@shinbiro.com
파일 패스 매크로 2002-10-23
----------------------------------------------------------------------------------------------------
stdafx.h에

CString GetFilePath( LPCTSTR pszFileName );
#define _PATH                                GetFilePath                


stdafx.cpp 에서

//=================================================================
// 함수먕 : GetExePath
// 설  명 : 현재 실행중인 Exe가 속한 패스를 얻어온다.
// 읹  자 :
// 리턴값 : 패스
//-----------------------------------------------------------------
// 작성자   작성일               작성이유
// 조경민   2002-10-23                                   jiransoft
//=================================================================
CString GetExePath()
{
        TCHAR szExePath[MAX_PATH];

        GetModuleFileName( NULL, szExePath, sizeof(szExePath) );

        TCHAR* pszExeName = _tcsrchr( szExePath, '\\' );
        *pszExeName = '\0';

        return CString( szExePath );
}

//=================================================================
// 함수먕 : GetCurPath
// 설  명 : 현재 실행 패스를 얻어온다.
// 읹  자 :
// 리턴값 : 패스
//-----------------------------------------------------------------
// 작성자   작성일               작성이유
// 조경민   2002-10-23                                   jiransoft
//=================================================================
CString GetCurPath()
{
        TCHAR szExePath[MAX_PATH];

        GetCurrentDirectory( sizeof( szExePath) , szExePath );

        return CString( szExePath );
}

//=================================================================
// 함수먕 : GetFilePath
// 설  명 : 파일명을 실행 패스에 연결하여 풀 파일 패스로 만들어 리턴한다.
// 읹  자 :
// 리턴값 : 파일 풀 파일 패스
//-----------------------------------------------------------------
// 작성자   작성일               작성이유
// 조경민   2002-10-23                                   jiransoft
//=================================================================
CString GetFilePath( LPCTSTR pszFileName )
{
        CString sFilePath;
        sFilePath.Format( _T("%s\\%s"), GetCurPath(), pszFileName );
        return sFilePath;
}


이렇게 넣은 후

쓰실떄는
AfxMessageBox(  _PATH(_T("test.txt")) );
하시면 exe가 실행된 현재 패스상에서의 test.txt를 얻어옵니다.
만일 현재 경로가 아닌 exe 경로를 원하시면 GetExePath()를 이용한
새로운 매크로를 직접 만드셔도 좋겠군요.
대단한 것은 아니지만 이런 사소한 것들을 매크로로 묶어도면
번거롭지 않아서 좋아요.
_S 처럼..

'KB > MFC/Win32' 카테고리의 다른 글

ime이용 한영키 전환  (0) 2004.03.19
수동 언인스톨  (0) 2004.03.19
파일 시스템 변경에 대한 통보만 받기 위한다면  (0) 2004.03.19
[mfc] 트리 아이템 스왑  (0) 2004.03.19
전역후크시 잘안될때  (0) 2004.03.19

+ Recent posts