TCHAR begin[20]=_T("E:\Debug\Image1\");
这是绝对路径,写死了,不过在别的机器上由于E盘没有这个文件,所以本人需要写相对路径,本人把这个image1复制到本人打包的目录下,那这里应该怎么写呢?
解决方案
20
那就直接写 “.\” 就可以了
10
TCHAR begin[20]=_T("Image1\");
10
用API GetCurrentDirectory来获取当前路径,然后拼接字符串即可获得绝对路径。
下面的代码供参考:
CImage image; DWORD dwSize = ::GetCurrentDirectory(0, NULL); if(dwSize > 0) { TCHAR* tszDir = new TCHAR[dwSize * sizeof(TCHAR)]; ::ZeroMemory(tszDir,dwSize * sizeof(TCHAR)); if(tszDir != NULL) { ::GetCurrentDirectory(dwSize, tszDir); CString csDir = tszDir; delete[] tszDir; if(csDir.Right(1) != "\") { csDir += "\"; } CString imageFile = csDir + "Image\Test.bmp"; image.Load(imageFile); m_hBmp = image.Detach(); m_stat1.SetBitmap(m_hBmp); } }