如何从c#中的Windows服务应用程序中为所有用户清空回收站
时间:2020-03-05 18:39:07 来源:igfitidea点击:
我正在寻找可以在Windows服务中插入的csnippet。该代码必须为计算机上的所有用户清空回收站。
我以前曾尝试使用SHEmptyRecycleBin
(ref http://www.codeproject.com/KB/cs/Empty_Recycle_Bin.aspx),但是从Windows服务运行时该代码不起作用,因为该服务正在以本地系统特权运行。
解决方案
回答
我认为这样做是违反Microsoft建议做法的。我们要做什么,需要从Windows服务中清空回收站?
回答
希望你不会。
作为本地计算机运行的服务永远都不应清除我的回收站。
我们可以将服务提升为以管理员帐户运行,那么它就有权利(并且会带来安全风险),但是为什么要这样做呢?听起来像是病毒尝试做的那种思考。
回答
首先,我们是否尝试过在交互式用户帐户上运行该服务?也许SHEmptyRecycleBin需要一个交互式用户,即使它不一定显示Window。
其次,我不确定删除其他用户的资料是个好主意,但我想我们有很好的理由吗?