IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[interception clavier]Passer par le bios?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    Par défaut [interception clavier]Passer par le bios?
    Bonjour à tous!Je suis apprenti programmeur débutant (formation Progr info gestion depuis 3mois)

    Je veux intercepter les touches pressé à tous moments.
    Mon programme doit être un processus en fond de tache.
    Les retour serons stocké dans un fichier externe.
    Le traitement des infos recupérer se feras dans un 2ème tp.

    Plusieurs possibilitées :

    -Utiliser un windowsForm :
    avantage :facilité(je connais les windowsForm&C#)
    inconvénient :je n'est nullement besoin d'un form,
    je ne vois pas l'interet pour un fond de tache.

    -Recupérer le signal en sorti du bios :
    Je me suis dis que c'était le premier à récupérer le signal clavier(interuption?).On passe outre l'OS.

    Mes Questions :
    Est-ce possible?Comment récupérer les évenement au nivaux du system et pas d'un WinForm?Comment faire un programme sans Form ni console?Qu'est-ce un Hook?

    Voilà,merci et désolé de poser des questions fatiguante(qui je le sais on certaines déjà reçu des reponse que je ne comprend pas forcement)Ciao

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par Ahima
    Je veux intercepter les touches pressé à tous moments.
    Mon programme doit être un processus en fond de tache.
    Les retour serons stocké dans un fichier externe.
    Le traitement des infos recupérer se feras dans un 2ème tp.
    Vouloir récupérer les mots de passe des utilisateurs c'est MAL.


    Sinon, pour les questions de fond :
    - récupérer les touches pressées ça se fait sans devoir passer par le bios, il y a en .NET des fonctions faites exprès pour ça.
    - il est tout à fait possible de faire des programmes, et même des services, qui n'utilisent pas de Windows Forms.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    Par défaut
    Merci de m'avoir repondu.
    Recupérer des mots de passe n'est pas ma seul ambition.
    On pourrais aussi faire pleinde raccourci et autre babilloles.
    Si tu pouvais me preciser commant faire des programme sans Form...
    Merci.Salut!

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Pour les programmes sans fenêtre regarde du côté des services windows (doit y avoir de la doc sur ce site ou bien dans google) , visual studio à un type de projet "Service Windows".

    En ce qui concerne l'interception des touches pressées je serais moins affirmatif qu'Astartee, à ma connaissance .net te permet de facilement gérer les evenements liées aux fenêtres de ton programme, mais intercepter directement tous les évènements clavier c'est une autre histoire, plus bas niveau. Je doute qu'une api .net existe pour ça, enfin faut creuser, ya ptetre une fonction win32 pour faire ça.

    EDIT: aprés une petite recherche google je suis tombé sur cet article. J'ai parcouru rapidement lapremière page et on dirait qu'il faut bien passer par de l'interop win32 pour ce que tu veux faire. L'article explique tout ça en VB.net mais ça ne fait pas grande diffence pour le C#.

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par Ahima
    Recupérer des mots de passe n'est pas ma seul ambition.
    Méfie-toi quand même... Avec ta description, "récupérer les touches pressées et les stocker dans un fichier", je ne vois pas trop ce que tu cherches à faire à part un "keylogger".
    Et même si ce n'est pas dans un but de piratage, je ne trouve pas cette manière de faire très... disons éthique... voire limite illégal si les utilisateurs ne sont pas avertis.
    (évidemment, si ça ne sort pas de ton ordinateur personnel, tu peux bien faire ce que tu veux)

    Pour les fonctions .NET qui récupèrent les touches pressées :
    en effet je pensais aux fonctions qui permettent de récupérer les touches pour interagir avec ton programme, ce qui, en y réfléchissant un peu, suppose qu'il y a quelque chose d'affiché à l'écran (parce qu'interagir avec qqc dont on ne voit rien c'est pas facile) donc on retombe sur les Form.
    Donc chut j'ai rien dit.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    Par défaut merci
    merci a vous deux, je vais allez voir ca, desole pour le temp de reponse j'était en vacance sans pc.a demain

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    il faut effectivement passé par le p/invoke... domage pour ceux qui n'aime pas mettre la main dans le cambuie.

    Il faut déclarer un hook sur le clavier au niveau de l'api windows. Mais attention quand on commence à jouer avec les hooks... IL FAUT IMPERATIVEMENT LES LIBERER quand on en a plus besoin, (surtout avant de quitter l'appli) sinon tu va au devant de déconvenues assez sympatiques lol...

    Bon malheureusement ca fait trop longtemps que j'ai pas touché à l'api win32, donc jme souviens plus des fonctions à utiliser mais bon...

    En ce qui concerne le bios... avec .NET ? tu doit passé par du P/INVOKE avec une dll native que tu doit coder toi meme et là jte souhaite bon courage... et dans ce cas il n'y a plus aucun intérêt à utiliser .NET donc...

Discussions similaires

  1. Initialisation interface video sans passer par le BIOS
    Par Alexandre0 dans le forum Assembleur
    Réponses: 4
    Dernier message: 26/04/2008, 15h03
  2. Clavier usb non reconnu par le bios
    Par JavaAcro dans le forum Périphériques
    Réponses: 1
    Dernier message: 28/02/2008, 14h53
  3. Int 00h : initialisée par le BIOS ou par l'OS ?
    Par Blustuff dans le forum Assembleur
    Réponses: 19
    Dernier message: 24/09/2003, 09h21
  4. Afficher une image sans passer par les textures
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/05/2003, 19h13
  5. [Kylix] Débrider Kylix sans passer par le Net
    Par BXDSPORT dans le forum EDI
    Réponses: 1
    Dernier message: 23/03/2003, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo