如何从C#的Windows服务应用程序中清空所有用户的回收站

4
我正在寻找一个C#代码片段,可以在Windows服务中插入。代码必须清空计算机上所有用户的回收站。
我以前尝试过使用SHEmptyRecycleBin(参考http://www.codeproject.com/KB/cs/Empty_Recycle_Bin.aspx),但是当从Windows服务运行代码时,代码不起作用,因为服务正在使用本地系统特权。
3个回答

4

希望你不能这样做。

作为本地计算机运行的服务不应该清空我的回收站,无论何时。

你可以将服务提升为管理员帐户来运行,这样它就有了权限(但这也是一种安全风险),但为什么要这样做呢?听起来像是病毒尝试的事情。


2

我认为这样做违反了微软的推荐做法。您想要做什么需要从Windows服务中清空回收站吗?


1

首先,您尝试在交互式用户帐户上运行服务了吗?也许SHEmptyRecycleBin需要一个交互式用户,即使它不一定显示窗口。

其次,我不确定删除其他用户的东西是否是一个好主意,但我猜您有非常充分的理由?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接