1L的代码有几处错误,先更正一下。
适用于VC6:
//获取程序目录
 SetCurrentDirectory("C:\\"); //模拟开机启动
 char ch[MAX_PATH];
 memset(ch,0,sizeof(ch));
 GetModuleFileName(AfxGetInstanceHandle(),ch,sizeof(ch));
 ch[strrchr(ch,'\\')-ch]='\0';
CString path=ch;
 path+="\\";
SetCurrentDirectory(path);
 
 
以下适用于VC2008:
//获取程序目录
 SetCurrentDirectory(L"C:\\"); //模拟开机启动
 wchar_t ch[MAX_PATH];
 memset(ch,0,sizeof(ch));
 GetModuleFileName(AfxGetInstanceHandle(),ch,sizeof(ch));
 ch[wcsrchr(ch,'\\')-ch]='\0';
 CString path=ch;
 path+=L"\\";
 //AfxMessageBox(path);
 SetCurrentDirectory(path);
 
 
 
如果是单/多文档程序,可以在CMainFrame::CMainFrame()加入本代码
如果是对话框程序,可在对话框类的【构造函数】上加入本代码(不是InitDialog函数上)