pour faire ce que tu veux faire, c clair que timer est le mieux
pour le service, il traine sur developpez.com je crois, une faq très pratique dont voici l'extrait qui je pense va t'interesser :
Si vous souhaitez exécuter une application particulière au démarrage d'une session utilisateur ajoutez une entrée dans la clé \Software\Microsoft\Windows\CurrentVersion\Run de la base de registre.
procedure RegWriteRunApp(Path: string);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
with Reg do begin
RootKey := HKEY_CURRENT_USER; // A l'ouverture d'une session d'un utilisateur
// RootKey := HKEY_LOCAL_MACHINE; // A l'ouverture d'une session de chaque utilisateurs
if OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', False)
then WriteString('MonAppli', Path);
end;
finally
Reg.Free;
end;
end;
La clé Run est persistante à la différence de la clef RunOnce, qui peut être employé pour indiquer les commandes que le système exécutera une fois et puis supprimera.
by Laurent Dardenne
je pense que ta solution n'est pas, tiens nous au courant