Question

Je n'arrive pas à trouver un moyen de capturer l'entrée d'un lecteur de carte magnétique.Lorsqu'il glisse, l'entrée entre dans l'éditeur de texte actif, comme par exemple un bloc-notes.

Malheureusement, l'accent mis sur le champ de zone de texte ne fera pas l'affaire, car je suis obligé d'en faire une étiquette au lieu d'une zone de texte.Ainsi, j'ai besoin d'un moyen de capturer l'entrée du périphérique USB vers une variable ou une étiquette à la place.

Est-ce que quelqu'un connaît une classe .NET que je pourrais utiliser pour faire ceci ou de meilleures idées?

Était-ce utile?

La solution

Je ne pense pas qu'il y aura de toute façon pour vous d'empêcher l'utilisateur de saisir manuellement.Je soupçonne que le lecteur de carte que vous avez émule un clavier.Donc, pour pouvoir lire à partir du lecteur, vous devez recevoir une entrée au clavier, et une entrée au clavier signifie que l'utilisateur peut taper tout ce qu'il veut.

Une solution possible consiste à remplacer votre lecteur de carte par un lecteur qui utilise une API pour lire les cartes.

Si obtenir un meilleur lecteur de carte n'est pas une option, je pense que la meilleure méthode pour le faire est d'avoir un bouton.Lorsque l'utilisateur clique sur le bouton, ouvrez un nouveau formulaire contenant le code @Bala R fourni.Mais en plus, fermez le formulaire dans la seconde qui suit la première entrée de clé.Cela empêchera les utilisateurs de falsifier l'entrée manuellement, mais laissera suffisamment de temps au lecteur pour terminer.

Autres conseils

Si c'est une application winforms, vous pouvez le faire

    private void Form1_Load(object sender, EventArgs e)
    {
        KeyPreview = true;
        KeyPress += Form1_KeyPress;
    }

    private bool inputToLabel = true;
    void Form1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (inputToLabel)
        {
            label1.Text = label1.Text + e.KeyChar;
            e.Handled = true;
        }
        else
        {
            e.Handled = false;
        }
    }

et tant que la fenêtre a le focus, les caractères de la touche iront au texte de l'étiquette.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top