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

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

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

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

http://*.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权限的目录

上一篇:一秒钟Win7笔记本变无线路由器


下一篇:Android 禁用Home键