2013-04-06 7 views
0

Je suis en train d'écrire un dll C# pour un lecteur de codes-barres qui émule le clavier. Je me bats avec ça depuis un certain temps. J'ai des problèmes avec l'entrée brute. Tous les exemples que j'ai trouvés nécessitent un handle de fenêtre MainApplication. Comment joindre à l'appareil et obtenir le code à barres scanné sans elle. Le deuxième problème est que je dois savoir de quel clavier il a été envoyé.Clavier de niveau bas C#

J'ai essayé de le faire en utilisant ceci:

http://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboard

Il me reçoit les données et le nom de l'appareil, mais nécessitent poignée de fenêtre.

Avez-vous des idées?

m.

Répondre

0

Je pense que vous devez avoir du code pour initialiser la configuration, et quand un code à barres est scanné à partir d'un périphérique, connectez le nom du périphérique et attribuez-le au clavier dans un fichier de configuration.

Alors vous savez.

+0

Je pense que vous ne m'avez pas compris ou je ne vous ai pas. J'ai besoin de l'application de la console hok au clavier et écouter la saisie de données et en même temps vérifier à partir de quel périphérique il arrive. Si c'est à partir d'un code à barres (je connais cette poignée de l'appareil), continuez si ce n'est pas le cas. – Mateusz

+0

Pour moi le problème est dans cette partie du code: IntPtr p = System.Diagnostics.Process.GetCurrentProcess(). MainWindowHandle; System.Windows.Interop.HwndSource source = System.Windows.Interop.HwndSource.FromHwnd (p); source.AddHook (nouveau System.Windows.Interop.HwndSourceHook (WndProc)); MainWindowHandle est quelque chose que je n'ai pas. Et je ne peux pas attacher aux messages de Windows. Réponse à cela fonctionnera pour moi – Mateusz