C# Comment puis-je déclencher un événement à un moment précis de la journée?
Je suis en train de travailler sur un programme qui va avoir besoin de supprimer un dossier (et puis de le ré-instancier), à une certaine heure de la journée, et à cette heure-ci sera donnée par l'utilisateur.
L'heure sera probablement au cours de la nuit, parce que c'est quand personne n'est à l'accès au dossier (c'est en dehors des heures de travail). Est-il un moyen pour déclencher cet événement à l'heure?
Je sais sur les minuteurs, mais est-il un moyen plus facile de le faire sans une minuterie que les tiques et des vérifications pour voir quelle heure il est?
MODIFIER: Peut-être que je n'étais pas assez précis. Je veux déclencher une méthode pour faire quelque chose, sans avoir à les compiler dans un autre exécutable. Cette méthode est partie d'une grande classe qui est mis en œuvre en tant que Service Windows. Ce service s'exécute en continu, mais à un certain moment de la journée, il devrait déclencher cette fonction pour supprimer le dossier.
Grâce.
Vous pouvez pas configurer un minuteur pour ne cocher que dans (maintenant-quand).TotalSeconds? N'est-ce pas ce que vous êtes loking pour?
OriginalL'auteur Andrei | 2010-03-19
Vous devez vous connecter pour publier un commentaire.
Penser hors de la boîte.
Aucun besoin de codage sur ce type d'emploi - utilisation Tâches Planifiées, ils ont été dans windows pour un long moment. Vous pouvez lancer votre programme de cette.
Mise à jour: (mise à jour suivante à la question)
Si vous avez besoin de déclencher une méthode à partir d'un déjà de course service, de l'utilisation d'une minuterie et d'essai
DateTime.Now
à l'encontre de votre objectif de temps.OriginalL'auteur Oded
Si vous voulez faire dans votre code, vous devez utiliser la classe Timer et de déclencher l'événement Écoulée.
A. Calculer le temps restant jusqu'à ce que votre première exécution.
B. Installation de la minuterie de l'événement.
C. Configuration de la méthode de faire exécuter ce que vous voulez faire.
OriginalL'auteur CathalMF
Quand
calculer le temps restant (en millisecondes) et réglez la Minuterie d'intervalle.
oui, mais cela nécessite de la complexité et des autorisations de communiquer avec un service. Pas de savoir ce que le reste de l'application, j'ai choisi le chemin le plus court.
OriginalL'auteur Henk Holterman
Utiliser Le Planificateur De Tâches Windows. De là, vous pouvez specificy le fichier est exécuté lors de l'.
OriginalL'auteur citronas
Un possible début ou à la directive : NCrontab
OriginalL'auteur markcial
La interface de programmation pour la Tâche Planifiée est basé sur COM, de sorte qu'il devrait être relativement facile à utiliser .NET (bien que je n'ai jamais essayé moi-même).
OriginalL'auteur Dean Harding