当我在Windows XP中使用'eererr.hpr'调用CDocument::SetPathName
时,它会更新成员变量m_strPathName
,其值为'C:\Program Files\ICEHost\Projects\eererr.hpr'
当我在Windows 7中执行相同的方法时,更新m_strPathName
并且此路径中缺少'C:\Program Files\ICEHost\eererr.hpr'
Projects
目录
WinXp和Windows 7之间出现这种差异的原因是什么?
根据{{1}}更新CDocument::SetPathName
的哪些信息?
如何使行为相同?
答案 0 :(得分:2)
SetPathName()
调用GetFullPathName()
,它“将当前驱动器和目录的名称与指定的文件名合并”。所以差异可能在于如何获得当前目录。
记录了CFileDialog如何在不同的操作系统上选择不同的初始目录(请在下面选中lpstrInitialDir
link)。也许它与此有关。
答案 1 :(得分:1)
您可能需要覆盖AddToRecentFileList函数。现在,使用Win7以不同方式实现Add方法。看看这个链接
http://social.msdn.microsoft.com/Forums/en-NZ/vcgeneral/thread/3fcb5f77-3c62-4d62-b01c-89a121ea835f