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);
}
}