2011-05-27 34 views
1

当我打电话CDocument::SetPathName在Windows XP中“eererr.hpr”它与价值'C:\Program Files\ICEHost\Projects\eererr.hpr'的CDocument :: SetPathName行为不同在WinXP和Windows 7

当我在Windows 7中执行同样的方法更新成员变量m_strPathName更新m_strPathName'C:\Program Files\ICEHost\eererr.hpr'Projects此路径中缺少目录

WinXp和Windows 7的这种差异的原因是什么? 根据什么信息CDocument::SetPathName更新m_strPathName? 如何使行为相同?

+1

有内部'C文件:\ Program Files文件\'是一个不好的征兆和_will_在Windows 7上导致问题请解决这个问题,然后再检查是否仍存在问题当您将文档保存到“我的文档”时。 – MSalters 2011-05-27 12:19:53

+0

@ MSalters:当我试图保存“C:\ ICE Products \ ICeHost”文件夹时遇到同样的问题 – Maanu 2011-05-27 12:49:59

回答

2

SetPathName()调用GetFullPathName()其中“合并当前驱动器和目录的名称与指定的文件名”。所以差异可能在于如何获得当前目录。

它记录了CFileDialog如何在不同的操作系统上选择不同的初始目录(检查lpstrInitialDir,下面的 link)。也许它与此有关。