Bonjour,
Comment connaitre l'heure de démarrage d'un programme et l'heure de son arret pour mettre en place un suivi du temps d'utilisation ?
Philippe
Bonjour,
Comment connaitre l'heure de démarrage d'un programme et l'heure de son arret pour mettre en place un suivi du temps d'utilisation ?
Philippe
tu fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 var debu, deff :TTime; procedure TForm1.FormCreate(Sender: TObject); begin debut := now(); end; //********** procedure TForm1.FormDestroy(Sender: TObject); begin deff := now() - debut; //puis sauvegarde deff dans fichier.. end; je crois que cela va t'aider
Bonjour,
merci pour ta réponse mais il s'agit de suivre le temps d'utilisation d'un programme externe ( dont je n'ai le source ) de jeux pour suivre l'utilisation par un enfant .
Philippe
Pour voir le demarrage, a mon avis la meilleure solution (barbare) est de fair un programme delphi qui execute l'autre programme. Une bête interface avec juste un bouton pour le demarrer. Comme ca, tu peut voir l'heure du demarrage.
L'instruction pour executer un programme est shellExecute(...)
Pour voir quand il s'arrete, tu peut toujours (je suis bourrin de bon matin) avoir ton programme a toi qui teste si l'autre est en train de s'executer et quand l'autre est terminé, il calcule la difference de temps.
Bon, c'est juste pour suggerer des pistes...
Un petit nuage blanc dans un ciel tout bleu, c'est le paradis. Un petit message blanc dans un ecran tout bleu, c'est l'enfer.
Si tu utilises un launcher comme le propose Qapoka, une méthode un peu moins bourrin (quoique ^^) que de faire tourner un autre programme est d'utiliser CreateProcess pour lancer ton appli.
Tu peux alors exécuter comme si tu étais un debugger, et être prévenu de la fermeture du programme
Mea est trop forte, elle flotte : mea coule pas !
Basically this boot sector (Win95) code is 32 bit extension for a 16 bit patch to an 8 bit boot sector originally coded for a 4 bit microprocessor, written by a 2 bit company, that can't stand 1 bit of competition.
olance.developpez.com
Servez-vous, profitez, abusez de la FAQ Delphi !!
Puisque je ne pense pas que tu ais besoin d'une finesse de détection de l'ordre de la nanoseconde, voici une autre petite suggestion :
Régulierement (un timer donc, genre toutes les 1 à 5 secondes), tu cherches parmis les processus en cours d'execution celui ou ceux qui t'interesse(nt). Quand tu le trouves tu commences à compter, lorsque tu ne le trouve plus, hop tu arrêtes.
Bon évidemment ce n'est valable que si tu trouves le moyen d'énumérer les processus en cours d'execution. Mais je ne pense pas que ce soit impossible (remarque je n'ai pas cherché, je te laisse faire ).
Au moins c'est pas "flag" : "Mais si !, utilise le lanceur, c'est pratique !" et ca fonctionnera jusqu'au jour où l'enfant sera assez grand pour trouver le processus surveillant et le descendre (ca arrive généralement plus vite qu'on ne le croit )
Bonne continuation.
« La simplicité est la sophistication suprême » (Léonard de Vinci)
hé hé t'as pas tort DMO
Voici des pistes pour lister les processus actifs :
CreateToolHelp32Snapshot, Process32First, Process32Next
Il faut ajouter une unité dont j'ai oublié le nom... Quelque chose comme ToolHelp32, ToolHlp32... Google t'en diras sûrement plus
Bonne prog' ^^
Bestiol.
PS: ça sent la FAQ
Mea est trop forte, elle flotte : mea coule pas !
Basically this boot sector (Win95) code is 32 bit extension for a 16 bit patch to an 8 bit boot sector originally coded for a 4 bit microprocessor, written by a 2 bit company, that can't stand 1 bit of competition.
olance.developpez.com
Servez-vous, profitez, abusez de la FAQ Delphi !!
Merci pour vos réponses , je vais chercher dans cette direction
Philippe
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager