Python Windows Vista/7 UAC和复制(仅阅读)文件?权限/UAC的交互?
我现在正在为一个网吧制作一个程序,这个程序可以扫描用户的硬盘,并把某些存档文件打包成zip文件,然后上传到FTP服务器。不过我已经写了很多代码,这时突然想到一个我之前没测试过的大问题:
在Vista和7系统中,UAC(用户账户控制)权限是怎么处理这些存档文件复制的呢?我知道,如果一个程序试图把游戏存档保存到C:\Program Files目录,系统会拦截这个请求,然后把文件重定向到另一个适合存放这些文件的文件夹……我记得是C:\Users目录吧?
所以如果真是这样的话,如果我的Python程序试图从C:\Program Files目录复制文件,它会不会也重定向并在合适的地方复制相关信息呢?我需要以某种方式调用UAC来获取只读事件的文件夹权限吗?我试着在网上查找UAC的工作原理,但最近我的搜索能力似乎不太行。我是不是需要写一段全新的代码来绕过UAC,还是说它会“自动搞定™”?
如果它不会“自动搞定™”,那我需要做些什么才能获得访问我需要复制/归档的文件的权限呢?我主要问这个是因为我没有Vista或7的系统可以测试。=
1 个回答
0
如果你的程序以管理员身份运行,那么它就不会重定向到 c:\users 文件夹。你可以通过在文件中嵌入一个清单来以管理员身份运行这个程序。想了解更多触发用户账户控制(UAC)提示的任务,可以查看这个链接:http://en.wikipedia.org/wiki/User_Account_Control。
另外要注意的是,64位的Windows 7不支持文件系统重定向。