J’ai une application qui doit définir des tâches planifiées dans Windows. Pour cela, j’ai utilisé la fonction ShellExecute pour appeler le schtasks.exe
J’ai utilisé le code suivant:
ShellExecute(NULL, _T("open"), _T("schtasks.exe"), _T("/create /TN SampleSchedule /TR calc.exe /SC DAILY /ST 12:15:00 /SD 09/04/2012"),_T(""),0);
mais il n’a pas créé la tâche planifiée.
Mais quand j’ai changé le dernier paramètre de la fonction ShellExecute (invite de commande) à 1
ShellExecute(NULL, _T("open"), _T("schtasks.exe"), _T("/create /TN SampleSchedule /TR calc.exe /SC DAILY /ST 12:15:00 /SD 09/04/2012"),_T(""),1);
une invite de commande s’affiche et demande le mot de passe de l’utilisateur actuellement connecté.
Le / RU SYSTEM fonctionne, mais je voudrais m’exécuter comme l’utilisateur actuellement connecté sans demander le mot de passe ….
C’est possible? Si oui, que dois-je faire pour cela?
Utilisez plutôt l’interface COM ITaskScheduler.
Exemples d’utilisation ici et ici