none
win32 文件读写(无权限)怎么移植到metro RRS feed

  • 问题

  • 我的一个win32模块里面有大量的 fopen文件读写操作,fopen在metro下面没有权限打开任意位置的文件。

    请问怎么移植到metro?

    2013年5月6日 2:59

答案

  • 没有权限是因为Win Store app沙盒安全机制造成,此机制只允许默认访问应用包内文件(只读模式),应用数据存储位置和 库位置(须指定相应权限)下的文件,其他位置必须由用户通过 FilePicker 方式来选取。所以你的fopen 也只能遵循这些位置的文件访问规则,不可违反。

    所以谈到移植,一方面,我的建议是直接使用WinRT的 StorageFile 相关API 去替代fopen, 去访问这些范围内的文件.  或者另一方面,你仍旧可以使用fopen, 然后限定你的文件的范围。


    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    2013年5月6日 8:43
    版主

全部回复

  • 没有权限是因为Win Store app沙盒安全机制造成,此机制只允许默认访问应用包内文件(只读模式),应用数据存储位置和 库位置(须指定相应权限)下的文件,其他位置必须由用户通过 FilePicker 方式来选取。所以你的fopen 也只能遵循这些位置的文件访问规则,不可违反。

    所以谈到移植,一方面,我的建议是直接使用WinRT的 StorageFile 相关API 去替代fopen, 去访问这些范围内的文件.  或者另一方面,你仍旧可以使用fopen, 然后限定你的文件的范围。


    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    2013年5月6日 8:43
    版主
  • 恩,谢谢bob。

    这样做的代价太大了,我们原来的程序里边有大量的fopen操作,这么改,要改死了。

    2013年5月6日 10:35