![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Win XP Forum d'entraide Windows XP. Avant de poster : La F.A.Q Windows XP |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2006
Messages: 74
|
Bonjour,
J'ai un petit soucis de planification de tache. Mon programme créer une tache planifiée dans windows, via la Task Scheduler Library (http://www.codeproject.com/KB/cs/tsnewlib.aspx). Mon soucis c'est que j'ai besoin de lancer cette tache dans un autre compte et ne pas être logge. J'ai décoché l'option : "run only if logged on" et indiqué le compte et le password ou je veux qu'elle s'exécute. La tache se lance correctement mais pas l'application j'ai cette erreur : Code :
Unhandled Exception: System.InvalidOperationException: Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application. at System.Windows.Forms.Form.ShowDialog(IWin32Window owner) at System.Windows.Forms.Form.ShowDialog() at AGSUploader.LoadingWorker.DoWork() at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() Mon soucis c'est que j'ai bien des forms, crée en .NET qui se lance et qui télécharge/upload des fichiers. Comment faire ? J'ai vu et testé la commande AT, cela marche avec AT /interactive mais les options sont trop limitées (au niveau des répétitions des jours, des semaines ...) et je préférerais utiliser la librairie comme je le fais, tout fonctionne correctement ! Merci |
|
|
|
|
|
#5 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2006
Messages: 74
|
Oui j'ai deja regardé et il n'a pas le mode /IT.
J'ai a priori trouvé la solution, puisque cet façon ne semble pas possible, je passe par les services windows, avec l'outil Fire deamon qui transforme mon appli en service avec un paquet d'option configurable (planification, un mode interactif, choix du compte ...) et cela fonctionne si personne n'est logge et si une personne est loggee et que le lancement de l'appli se fait sur un autre compte. Le service peut se créer en ligne de commande avec un fichier XML pour les options donc c'est niquel ! Le seul soucis, c'est payant, mais pas tres cher, 50-100$ |
|
|
|
|
|
#6 (permalink) |
![]() Date d'inscription: avril 2006
Localisation: Aveyron, France
Âge: 22
Messages: 1 531
|
C'est curieux que tu ne trouve pas /IT parce que je l'ai trouvé dans la documentation de la commande :
Code :
SCHTASKS /Create [/S système [-u utilisateur [/P [mot_passe]]]]
[/RU nom_utilisateur [/RP mot_passe]] /SC planification
[/MO modificateur] [/D jour]
[/M mois] [/I temps_inactivité] /TN nom_tâche /TR exécution_tâche
[/ST heure_début]
[/RI intervalle] [ {/ET heure_fin | /DU durée} [/K] [/XML fichier_xml] [/V1]
]
[/SD date_démarrage] [/ED date_fin] [/IT | /NP] [/Z] [/F]
Description :
Permet à un administrateur de créer des tâches planifiées sur un système
local ou distant.
Liste de paramètres :
[...]
/IT Permet à la tâche de s'exécuter de façon interactive seul
ement si l'utilisateur spécifié avec /RU
a une session ouverte au moment où le travail s'exécute.
Cette tâche s'exécute seulement si l'utilisateur a ouvert
une session.
[...]
|
|
|
|
|
|
#7 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2006
Messages: 74
|
Oui, c'est bien cela le problème, elle est dans les specs ,mais si je fais un SCHTASKS /Create /? il n'y a pas l'option /IT ou /NP ... Et si j'essaie de lancer la commande avec, il ne l'a reconnaît pas a cause de ce paramètre !! (Je suis sous XP Pro, connecté en admin)
|
|
|
|
|
|
#9 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2006
Messages: 74
|
D'apres la MSDN l'option n'est pas dispo ... Super /IT A value that enables the task to run interactively only if the /RU user is currently logged on at the time the task runs. The task runs only if the user is logged on. Windows XP and Windows Server 2003: This option is not available. Lien : http://msdn.microsoft.com/en-us/libr...57(VS.85).aspx D'ailleurs même le /IT ne semble pas régler mon problème puisque la tache ne fonctionnerait que si l'utilisateur est connecté a son compte !! |
|
|
|
|
|
#11 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2006
Messages: 74
|
Oui, au final la meilleure solution que j'ai pu trouvé c'est de garder les taches planifiées , et a la place de lancer mon appli, je lance un batch qui créer un service windows (le but des taches planifiées étant de pouvoir créer le service sur un autre compte de la machine), via la commande sc.exe. Et ce service me lance mon appli avec mes forms.
J'aurais préféré éviter de passer par un "intermédiaire" et n'avoir que le planificateur de tache mais bon |
|
|
|
![]() |
![]() |
||
Planification de tâche
|
||
| Outils de la discussion | |
|
|