首页 > Windows开发 > 详细

如何用程序删除win 7下SYSTEM权限的目录

时间:2014-01-15 20:15:28      阅读:540      评论:0      收藏:0      [点我收藏+]

这个文章看到的大部分应该都是搜索过来的 :)

win7系统由于安装程序等操作,可能会在系统中留下一些所有权限是SYSTEM组的目录,System是Windows系统中最高的权限的用户,比Administrator权限高,这样就会导致无法手工删除的问题。网上给的方法是右键点击文件夹-属性-安全-高级-所有者改为当前用户,权限标签页选中当前用户(一般就是administrator了)。这时候我们常常希望勾选下面的2个选项然后点确定对子文件夹做同样的修改,但这时候子目录还是SYSTEM组权限的,只能一个个手动修改,如果子目录很多的话这将是非常麻烦,最好写程序修改。 类似的中文资料比较少,下面是一些能用的资料链接和我的代码。程序只是把目录和里面的文件的owner从SYSTEM改为当前用户,然后可右键选中一次删除。

看了一些链接,下面的stackoverflow文章的回复给出的代码是比较简单的,比搜的一些C++代码明显觉得简单:

http://stackoverflow.com/questions/5368825/taking-ownership-of-a-file-or-folder

但是这个文件用到了一个dll引用,在这里:http://processprivileges.codeplex.com

下面是控制台程序,对文件夹和子文件夹进行操作用到典型的递归处理。.net framework选择4.0,起初默认的3.0的不支持引用的dll,3.5的没试,IDE是VS 2012。如果环境不一样由于控制台程序比较简单直接用Program.cs修改也不麻烦: 下载链接

如何用程序删除win 7下SYSTEM权限的目录

原文:http://www.cnblogs.com/eternalwt/p/3515319.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!