cs_sanaria
Messages postés15Date d'inscriptionjeudi 18 décembre 2003StatutMembreDernière intervention21 février 2006
-
23 nov. 2004 à 13:19
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
23 nov. 2004 à 17:01
Bonjour à tous.
Voila j'aurais voulu savoir s'il était possible de mettre un programme VB en tache de fond. Plus précisement, j'aimerais faire tourner une application VB faisant l'historique des touche que j'utilise en tache de fond, qui prendrait en compte l'ensemble des touche que je vais utiliser meme si je ne suis pas sur la fenetre VB mais sur Word ou n'importe quelle autre application.
Merci d'avance.
Sana
ps : J'ai une méthode pour mettre les charactere ds un fichier text, ma question repose juste sur ce probleme de tache de fond.
cs_Prince Charmant
Messages postés34Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention30 novembre 2004 23 nov. 2004 à 13:32
Salut,
ce que tu demandes est possible, mais toute fois cela est de la programmation système. En fait ce que tu veux faire est un pseudo-driver. Car pour réaliser cela, il faut intercepter les touches directement au niveau du matériel (ou du moins du BIOS), pour ensuite les rendre "intactes" à la suite des programmes.
Je pense que ce n'est pas ce que tu veux faire réellement, sinon, C++ est plus adapté à la programmation système que VB.
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 23 nov. 2004 à 13:35
A mon grand regre il y a sur ce site plusieurs sources répondant à ta problèmatique ! On a eu une longue discution il y a peu sur le site à ce sujet ! Recherche "keylogger" dans les sources et tu trouveras ce que tu cherches.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 23 nov. 2004 à 15:15
Salut,
en allant dans le sens de crenaud76, un keylogger etant souvent employe a des fins inavouables, je trouve aussi qu'il y en a deja eu trop sur ce site.
Point de vue technique:
la on ira plutot dans le sens de 'Prince Charmant' avec toutefois de serieuses nuances. En VB tu seras oblige de boucler indefiniment pour lire l'etat du clavier, tu vas donc bouffer la cpu inutilement et l'utilisateur finira tres vite par se rendre compte du malaise, cette voie est a exclure. La chose sera donc a faire en code compile natif, C ou ASM, qui te permettra d'installer un HOOK systeme sur le clavier et c'est le systeme qui appellera ton callback seulement quand besoin. Tu n'auras alors plus de bouclage et donc plus d'utilisation cpu inutile. Aucun besoin de lire cela au niveau du bios qui impliquerait du kernel mode, Windows fournit tout ce dont on a besoin en mode user.
ciao...
BruNews, MVP VC++
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_sanaria
Messages postés15Date d'inscriptionjeudi 18 décembre 2003StatutMembreDernière intervention21 février 2006 23 nov. 2004 à 15:23
Merci a vous.
Petite précision, je ne savais pas avant aujourd'ui ce qu'était un keylogger, et pour dire vrai, je m'interesse plutot a comprendre comment ca marche qu'a faire des programme "utiles" que ce soit a des fins inavouable ou non.
Cela dit, cette histoire de keylogger peu elle répondre a ma problématique? si oui j'aimerais savoir comment faire? est-ce compliqué a mettre en oeuvre? (et la je parle bien de mettre qq chose en tache de fond).
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 23 nov. 2004 à 15:44
Brunews < En VB tu peux poser un HOOK sur les EVT système avec l'API SetWindowsHookEx() ! Tu n'as alors pas besoin de boucle pour surveiller le clavier !!
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 23 nov. 2004 à 16:53
Il est exact qu'avec cela, je parviens à scruter le clavier dans le thread VB mais pas au niveau system !! Meme en mettant le dernier paramètre de setwindowshookex à zéro ! C'est pourtant ce qu'indique le MSDN !! Faut que j'approfondisse cela pour ma culture personnel
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 23 nov. 2004 à 17:01
Suffisait de demander:
pour un hook systeme, le code callback doit se trouver dans une dll dont Windows en mappera une copie dans l'espace memoire de chaque processus. Comme VB ne peut pas produire de dll, le probleme semble regle a la base. Si comme souvent il faut en plus implementer une transmission interprocessus entre chaque instance de dll et le prog ayant declenche le hook, alors vraiment: goto cppfrance.