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

win7系统因为安装程序等操做,可能会在系统中留下一些全部权限是SYSTEM角色的目录,例如个人系统之前在C盘的QQ卸载后的遗留文件(下图)。安全

System是Windows系统中最高权限角色(组),比Administrator用户权限高,这样的目录没法手工删除。网上给的方法是右键点击文件夹-属性-安全-高级-全部者改成当前用户,权限标签页选中当前用户(通常就是administrator了)。这时候咱们经常但愿勾选下面的2个选项而后点肯定对子文件夹作一样的修改,但这时候子目录仍是SYSTEM组权限的,只能一个个手动修改,若是子目录数量或者层数多的话这将很是麻烦,最好写程序修改。 相似的中文资料比较少,下面是一些能用的资料连接和个人代码。程序只是把目录和里面的文件的owner从SYSTEM改成当前用户,而后可右键选中一次删除。spa

看了一些连接,下面的stackoverflow文章的回复给出的代码是比较简单的,感受比搜到的C++代码明显简单:.net

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

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

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

相关文章
相关标签/搜索