Au lieu d'aller sur Panneaux de configuration\Tâches planifiées pour créer ladite tâche, je vous propose un petit code qui permet d'en créer une rien qu'en cliquant sur un bouton de votre application!!
...bonne prog ;-)
Source / Exemple :
Procedure CreateBatFile(Cmd: String);
Const
BatName = 'TaskTmp.Bat' ;
Var
LS : TStrings;
FBAT : String;
Begin
LS := TStringList.Create;
Try
LS.Add(Cmd);
LS.Add('Del '+BatName+' /q');
FBAT := ExtractFilePath(ParamStr(0))+BatName;
LS.SaveToFile(FBAT);
ShellExecute(0,'Open',PChar(FBAT),Nil,Nil,SW_Hide);
Finally
LS.Free;
End;
End;
Procedure CreateTask(TName,Login,Pass,AppliPath: String; T : TTime);
Var
Cmd : String;
Begin
Cmd:='schtasks /Create /tn "'+TName+'" /tr "\"'+AppliPath+'\" "';
Cmd:=Cmd+' /sc DAILY /st '+TimeToStr(T)+' /ru ';
Cmd:=Cmd+Login;
Cmd:=Cmd+' /rp "'+Pass+'"';
CreateBatFile(Cmd);
End;
procedure TForm1.Button1Click(Sender: TObject);
var
ps:TTime;
begin
ps:=StrToTime('15:00:00');
CreateTask('NAME','USER','PASSWORD','C:\Program Files\Microsoft Office\OFFICE11\WINWORD.exe',ps);
//la tache planifiée créée étant WORD
end;
Conclusion :
j'attend vos critiques!!
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.