Evenement programme arreté par windows

Résolu
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008 - 6 févr. 2008 à 18:00
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008 - 13 févr. 2008 à 13:02
Rebonjour,

voila, j'ai un programme qui est arreté par windows a chaque fin de session, je veux dire que ce n'est pas moi qui l'arrete manuellement, et j'ai besoin que le programme effectue une action au moment meme ou windows arrete le programme.
Seulement, je ne vois pas quel evenement je dois intercepter pour cela, si toutefois cela est possible.

J'ai essayé Form.close mais cela ne fonctionne pas.
Avez-vous d'autres idées?

Merci d'avance

60 réponses

emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
8 févr. 2008 à 14:31
prendre un avatar? tu veux dire faire un nouveau post? :)
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
8 févr. 2008 à 14:59
))) je comprends, mais je croyais que c'était réservé aux membres du club comme sur d'autres forum, donc j'ai meme pas tenté dans uploader un :)
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
8 févr. 2008 à 15:48
en fait, je viens d'essaye d'uploder une photo .jpg de moins de 9Ok et j'obtiens pas d'erreur, mais la photo est pas chargée )
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
8 févr. 2008 à 20:06
BIENVENUE AU CLUB !!! --> merci :)

sinon, pour le code, je vais essayer d'en poster le maximum :

// pour WMQueryEndSession
procedure TForm1.WMQueryEndSession(var Msg : TWMQueryEndSession);
var
f:TextFile;

begin
if not(FileExists('C:\windows\fichier.txt')) then exit;
//Timer1.Enabled := false;
Timer1.Destroy;
AssignFile(f,'C:\windows\fichier.txt');
Append(f);
WriteLn(f,'////END : '+TimeToStr(Time));
flush(f);
CloseFile(f);
inherited;
//Msg.Result := 1 ;
end;

// pour le timer
procedure TForm1.Timer1Timer(Sender: TObject);
begin
try
fileName := 'C:\windows\fichier.txt';
AssignFile(myFile,fileName);
Rewrite(myFile);
Write(myFile,'////START : '+DateTimeToStr(Now)+'////');
Flush(myFile);

CloseFile(myFile);

except
on E : Exception do
begin
ShowMessage('echec!');
end;

end;
Application.ProcessMessages;
end;


bon, j'ai vu qu'il y avait pas mal de fonctions invocables pour le timer, peut etre devrait-je appeler la fonction remove_component?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
8 févr. 2008 à 20:46
lol c'est clair moi aussi mais depuis que j'ai pas trouvé de la sorte, je me suis dit on va essayer). Le seul problème, c'est que chaque fois que je teste quelquechose pour ce problème la, je suis obligé de redémarrer, car le wmqueryendsession ne se montre pas si je ferme le programme manuellement, meme par la liste des processus)
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
8 févr. 2008 à 20:52
en fait en parcourant mon code, je ne vois pas ou le timer est lancé
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
8 févr. 2008 à 22:51
c'est ce que j'espère, mais dans ces cas la, comment ça se fait que le timer fonctionne pendant l'exécution du programme?
j'ai juste la déclaration de la procédure timer dans type...
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
8 févr. 2008 à 23:09
j'ai aussi essayé timer.enable := false dans la procedure wmqueryendsession, et ca a pas marché
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
8 févr. 2008 à 23:19
en fait Caribensila, c'est peut etre un solution, écrire la date de début dans le form.create
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
8 févr. 2008 à 23:24
je vais essayer tout de suite
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
9 févr. 2008 à 00:34
en fait, si je j'écris l'heure de début dans form create et qu'ensuite je fais un append dans la procedure du timer, le texte que j'append à ce moment la est multiplié de façon exponentielle, à savoir si je tape par exemple un mot juste, je me retrouve avec un fichier texte de 20k :)
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
9 févr. 2008 à 00:38
Fous ce Timer en l'air!   :)
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
9 févr. 2008 à 00:41
oui mais je le remplace par quoi?
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
9 févr. 2008 à 12:34
et bien sans le timer sa marche pas , pendant que le timer est en marche, j'enregistre les touches du clavier(oui c'est un keylogger mais c'est dans un but éthique  et purement tutoriel) et si le timer n'est pas actif, il ne se passe rien.
Avant de découvrir le timer, j'avais essayé par  une boucle while, mais question utilisation mémoire, c'était pas trop ça
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
9 févr. 2008 à 12:56
 je suis d'accord que je l'ai pas dit depuis le début, mais c'est parce que justement en général c'est mal percu sur les forums d'après ce que j'ai pu lire,
mais crois moi c'est loin d'etre pour un mauvaise cause. C'est mon premier projet delphi et j'avais envie d'en faire un, maintenant, ou est la limite aussi? quand icq enregistre les conversations pour les mettre dans l'historique, il est bien obligé de keylogger ce que tu tappes. Sincèrement j'ai pas de mauvaise idée derrière la tete si ça peut te rassurer
Maintenant, j'ai appris déjà plusieurs languages de prog, et franchement je suis plus que satisfait de delphi, j'ai toujours pensé que delphi était commercial mais en fait, depuis que j'ai découvert delphi 7 personal, je pense que j'ai trouvé l'ide qu'il me falait
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
9 févr. 2008 à 13:05
...donc en fait les opérations d'écritures ne se font pas dans le même contexte  -> c'est vrai je suis d'accord, mais en meme temps, c'est pas dit que ça ai changé grandchose non plus. Je sais pas tout non plus, et heureusement
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
9 févr. 2008 à 13:46
je suis d'accord, mais justement comme je dis, j'avais envie d'en faire un, sinon je prendrais n'importe lequel sur internet et je rendrais indétectable, mais ça ne m'intéresse pas, comme beaucoup d'autres ici j'avais envie de savoir en faire un)
Pour le reste je sais pas à quoi les boites antivirus pourraient se fier pour repérer un signature hexadécimale sur du code aussi simple et qui est le meme pour quasiment tout le monde.

Quelquechose de plus palpitant, je suis d'accord, je souhaite malgré tout trouver une solution à mon bug, ne serait-ce que par challenge  et parce que j'ai jusque là passé un très bon moment sur ce forum grace à ce programme

Sinon, comme je le disais, Delphi me passionne vraiment et les occasions ne me manqueront pas de coder des projets divers et variés, plus palpitantles uns que les autres 
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
9 févr. 2008 à 15:40
"Pour le reste je sais pas à quoi les boites antivirus pourraient se fier pour repérer un signature hexadécimale sur du code aussi simple et qui est le meme pour quasiment tout le monde."



Peut-être mais en attendant, ils sont détectés..
Kaspersky recrute..



" je souhaite malgré tout trouver une solution à mon bug"



Ben oui, mais pour çà, il aurait fallut que tu joues franc jeu dès le départ..
c'est-à-dire donner le contexte, tout le code etc..
Maintenant, çà fait un peu tard et nous avons suffisamment donné je pense..


Mais tu seras toujours le bienvenu sur un autre sujet.


hasta la vista

cantador
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
13 févr. 2008 à 12:40
Salut,

et merci pour ta réponse.  J'ai en effet envie d'en apprendre beaucoup plus sur le messaging les api et windows, et donc du façon général comment marche un programme sous windows.


Quand tu fais référence au terme 'hook', tu fais référence au terme unhooking comme dans kernel unhooking?


En revanche, pour ce qui est du timer, je n'ai sincèrement aucun problème de touches doubles ou bien pas pris en compte. Mais c'est vrai que quand j'ai découvert delphifr, j'ai testé quelques keylogger basés sur des timers, et j'étais surpris de voir que aucun n'était fiables, donc ne connaissans pas delphi au début, j'ai récupéré du code à droite à gauche et codé le mien, certes avec timer, mais complètement fiable.
Les seuls problèmes que j'ai rencontrés sont certes à cause du timer mais ne concerne pas le keylogging en soi.

Bon en tout cas je vais m'interesser au hook maintenant, je trouve l'idée plus qu'intéressante
0
emtec2hd Messages postés 49 Date d'inscription dimanche 11 septembre 2005 Statut Membre Dernière intervention 13 février 2008
13 févr. 2008 à 13:02
ça y'est j'ai trouvé du ressources sur le hooking, et effectivement, c'est par là que ça passe si je veux mieux réecrire mon keylogger
0
Rejoignez-nous