2008-08-12 3 views
1

Je suis à la recherche d'un extrait de C# que je peux insérer dans un service Windows. Le code doit vider la corbeille pour tous les utilisateurs sur l'ordinateur.Comment puis-je vider la corbeille pour tous les utilisateurs à partir d'une application de service Windows dans C#

J'ai déjà essayé d'utiliser SHEmptyRecycleBin (réf http://www.codeproject.com/KB/cs/Empty_Recycle_Bin.aspx) mais le code ne fonctionne pas lors de l'exécution à partir d'un service Windows car le service s'exécute avec des privilèges système locaux.

Répondre

2

Je pense que faire quelque chose comme ceci est contre les pratiques recommandées par Microsoft. Qu'est-ce que vous essayez de faire qui nécessite de vider la corbeille à partir d'un service Windows?

3

J'espère que vous ne pouvez pas.

Un service s'exécutant en tant que machine locale ne doit jamais effacer ma corbeille.

Vous pourriez promouvoir le service à exécuter en tant que compte Admin, alors il aurait le droit (et présente un risque de sécurité), mais pourquoi voulez-vous faire cela? Cela ressemble au genre de pensée que les virus essaient de faire.

1

D'abord, avez-vous essayé d'exécuter le service sur un compte d'utilisateur interactif? SHEmptyRecycleBin nécessite peut-être un utilisateur interactif même s'il n'affiche pas nécessairement une fenêtre. Deuxièmement, je ne suis pas sûr que ce soit une bonne idée de supprimer les trucs d'autres utilisateurs mais je suppose que vous avez une très bonne raison?

Questions connexes