用於設置程序的目錄地址,但EXE文件不會放在這個地方
BOOL SetCurrentDirectory(
LPCTSTR lpPathName // 程序的目錄設置到地址
);
得到SetCurrentDirectory()設置的位置,如果沒有設置則得到的是當前工程的位置
DWORD GetCurrentDirectory(
DWORD nBufferLength, // 緩衝區大小
LPTSTR lpBuffer // 存放地址的緩衝區
);
得到EXE的位置
DWORD GetModuleFileName(
HMODULE hModule, // 所要得到的EXE的應用程序句柄
LPTSTR lpFilename, // 存放地址的緩衝區
DWORD nSize // 緩衝區大小
);
注:"..//filename.*"這得到的是工程目錄
例:
當前工程建在:"D:/", 工程名爲:"Test"
char *lpPath= new char [MAX_PATH];
strcpy(lpPath,"..//filename.*"); //最終的目錄爲"D:/filename.*"
GetModuleFileName(NULL, p, MAX_PATH); //得到的是"D:/Test/Debug/Test.exe"
GetCurrentDirectory(MAX_PATH, lpPath); //得到的是"D:/Test"
SetCurrentDirectory("C://"); //把目錄設到"C:/"
GetCurrentDirectory(MAX_PATH, lpPath); //得到的是"C:/Test"
GetModuleFileName(NULL, p, MAX_PATH); //得到的是"D:/Test/Debug/Test.exe"