如何从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。

其次,我不确定删除其他用户的资料是个好主意,但我想我们有很好的理由吗?