aide fonction qui appel l'événment OnActivate chaque 3 minutes

aide fonction qui appel l'événment OnActivate chaque 3 minutes - Delphi/Pascal - Programmation

Marsh Posté le 24-08-2004 à 07:23:30    

hello tout le monde... j'aimerais ajouter à mon programme une fonction en Delphi 7.0 qui lui permet de tourner chaque 3 minutes. Donc quand j'appel la fonction le prog va commencer du debut cette a dire par l'evenement OnCreate ou OnActivate. En plus j'aimerais savoir comme faire tourner cette application comme service. L'application doit s'activer à chaque démarage de WinXp. Le programme ne doit jamais s'arrêter. Vous avez des idée?? Merci!! Bye bye

Reply

Marsh Posté le 24-08-2004 à 07:23:30   

Reply

Marsh Posté le 26-08-2004 à 03:58:25    

Tout d'abord, si tu veux faire un service, il ne s'agit pas d'une application *normale* mais Fichier -> Nouveau -> Autre -> Application Service. Ensuite pour installer ton service, utilise l'invite de commandes: ".../myProgram.exe /install". Pour permettre a ton programme de faire quelque chose toutes les n minutes/secondes , le composant TTimer est ton ami (onglet systeme). Utilise la propriété Interval (qui represente des millisecondes) et met dans l'événement OnTimer ce que tu veux faire.
Al

Reply

Marsh Posté le 19-11-2004 à 15:03:45    

Sinon tu peux t'amuser à faire un thread qui boucle autour de l'appel de ladite fonction en se mettant en pause pendant xx mins (fonction SleepEx par exemple). ça fait apprendre en plus (héritage de la classe TThread, appel de fonction windows, gestion de l'arrêt, etc...).

Reply

Marsh Posté le 24-11-2004 à 17:04:06    

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed