Programming/C Win32 MFC2008. 12. 26. 10:45
구글링을 하면서 찾아 보니
GetCurrentDirectory라는 Win32 API가 존재 하는데,
이녀석으로 할 경우 FILE dialog에서 경로를 변경시 다른 경로가 나올 우려가 있다고 한다.

그래서 GetModuleFileName 이라는 함수를 사용하라는데,
먼소리여 -ㅁ-!

[참조 : http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=806]

Code:
char path[MAX_PATH];
GetModuleFileName(GetModuleHandle(NULL), path, MAX_PATH);
MessageBox(NULL, path, NULL, NULL);

[출처 : http://www.codeguru.com/forum/showthread.php?threadid=462232]


Run-Time Library Reference
_pgmptr, _wpgmptr
The path of the executable file. Deprecated; use _get_pgmptr and _get_wpgmptr.

Variable Required header Compatibility

_pgmptr, _wpgmptr

<stdlib.h>

Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003, Windows Server 2003

좀 더 간단한 녀석이 있어 보인다.

[원본 : http://msdn.microsoft.com/en-us/library/tza1y5f7(VS.80).aspx]



간단한 테스트 결과

1. VC++ 6.0 컴파일 환경 설정

2. 소스코드 작성
#include <windows.h>

void main()
{
    char path[MAX_PATH];
    GetModuleFileName(GetModuleHandle(NULL), path, MAX_PATH);
    printf("path[%s]\n",path);
    GetCurrentDirectory(MAX_PATH,path);
    printf("path[%s]\n",path);
}

3. 결과
path[C:\Documents and Settings\morpheuz\바탕 화면\tt\Debug\t.exe]
path[C:\]
Press any key to continue


Posted by 구차니