win7下vs2008,mfc对话框项目(静态编译),如何修改文件的权限,谁都能正常打开?
我现在的项目是MFC对话框,配置参数的时候,让用户产生一个配置文件,我是通过序列化来保存的.
我在xp下运行,程序打开配置文件,可以装载数据,但是在win7(没有装vs2008),则不能打开.
我如何搞呢,如何做到win7和xp都能兼容,而且能打开我那一个序列化保存的文件呢.
谢谢各位...

解决方案 »

  1.   

    你把配置文件保存到用户文件夹的%USERPROFILE%\Local Settings\Application Data之类的地方里面去啊。
    用SHGetFolderPath传入CSIDL_COMMON_APPDATA、CSIDL_APPDATA或者CSIDL_LOCAL_APPDATA
    http://msdn.microsoft.com/en-us/library/windows/desktop/bb762181.aspx
    具体CSIDL值含义参考:
    http://msdn.microsoft.com/en-us/library/windows/desktop/bb762494.aspx
    看你是否需要不同用户共享配置,是否需要用户在机器间漫游来决定,一般来说CSIDL_LOCAL_APPDATA足以。
    保存在这里的话,程序是可以安全读写,不会被UAC干扰的。
      

  2.   

    我也是 win7,程序里也生成文件在当前目录,没有遇到问题呀。如果装在 c盘 program files 里,生成的文件夹不在那里,在C:\Users\XXX\AppData\Local\VirtualStore\Program Files\程序目录.
    而且光是打开文件,应该不会有问题啊!