资源简介

扫描枪模拟键盘模式输入数据,从而无法区分键盘人工输入数据和扫描枪的数据,造成数据混乱。使用HID接口模式调用WindowsAPI读取的方式由于受到不同操作系统有不同情况的问题,难以解决问题。因此采用键盘钩子区分键盘输入和扫描枪数据。键盘人工输入时间不均匀,而扫描枪一次数据间隔均匀,因此采用键盘钩子获得所有的键盘消息,如果连续多个键按键间隔小于30ms,且最后一个键以后连续500ms没有输入,就表明此串信息为扫描枪数据。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
using System.Threading;

namespace HookPlan
{
    public partial class Form1 : Form
    {
        private StringBuilder inputKey = new StringBuilder();

        //为了跨线程访问定义委托函数
        public delegate void SetTextbox1Handler(string strT);
        public Form1()
        {
            InitializeComponent();
            KeyboardHook k_hook = new KeyboardHook();
          
            k_hook.BarcodeEvent += new HookPlan.KeyboardHook.BarcodeEventHandler(BarcodeCome);
            k_hook.Start();
        }
        //扫描枪数据事件
        private void BarcodeCome(string Barcode)
        {
            Debug.WriteLine(Barcode);
            //接收到的数据处理
            if (textBox1.InvokeRequired == true)
            {
                //利用跨线程访问
                SetTextbox1Handler setTH = new SetTextbox1Handler(SetTextbox1);
                textBox1.Invoke(setTH new object[] { Barcode });
            }
            //textBox1.Text = Barcode;
        }

        void SetTextbox1(string strT)
        {
            textBox1.Text = strT;
        }
        

    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     46592  2017-09-23 10:00  扫描枪数据读取问题\HookPlan\.vs\HookPlan\v14\.suo

     文件        189  2017-09-16 14:01  扫描枪数据读取问题\HookPlan\HookPlan\App.config

     文件      13312  2017-09-23 09:43  扫描枪数据读取问题\HookPlan\HookPlan\bin\Debug\HookPlan.exe

     文件        189  2017-09-16 14:01  扫描枪数据读取问题\HookPlan\HookPlan\bin\Debug\HookPlan.exe.config

     文件      26112  2017-09-23 09:43  扫描枪数据读取问题\HookPlan\HookPlan\bin\Debug\HookPlan.pdb

     文件      22696  2017-09-23 09:43  扫描枪数据读取问题\HookPlan\HookPlan\bin\Debug\HookPlan.vshost.exe

     文件        189  2017-09-16 14:01  扫描枪数据读取问题\HookPlan\HookPlan\bin\Debug\HookPlan.vshost.exe.config

     文件        490  2016-07-16 19:44  扫描枪数据读取问题\HookPlan\HookPlan\bin\Debug\HookPlan.vshost.exe.manifest

     文件       1415  2017-09-23 10:00  扫描枪数据读取问题\HookPlan\HookPlan\Form1.cs

     文件       1938  2017-09-16 14:24  扫描枪数据读取问题\HookPlan\HookPlan\Form1.Designer.cs

     文件       5817  2017-09-16 14:24  扫描枪数据读取问题\HookPlan\HookPlan\Form1.resx

     文件       3957  2017-09-16 14:17  扫描枪数据读取问题\HookPlan\HookPlan\HookPlan.csproj

     文件      13536  2017-09-23 09:43  扫描枪数据读取问题\HookPlan\HookPlan\KeyboardHook.cs

     文件        868  2017-09-16 14:01  扫描枪数据读取问题\HookPlan\HookPlan\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7232  2017-09-16 14:02  扫描枪数据读取问题\HookPlan\HookPlan\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件        852  2017-09-23 09:43  扫描枪数据读取问题\HookPlan\HookPlan\obj\Debug\HookPlan.csproj.FileListAbsolute.txt

     文件       1012  2017-09-16 14:24  扫描枪数据读取问题\HookPlan\HookPlan\obj\Debug\HookPlan.csproj.GenerateResource.Cache

     文件       2384  2017-09-16 14:17  扫描枪数据读取问题\HookPlan\HookPlan\obj\Debug\HookPlan.csprojResolveAssemblyReference.cache

     文件      13312  2017-09-23 09:43  扫描枪数据读取问题\HookPlan\HookPlan\obj\Debug\HookPlan.exe

     文件        180  2017-09-16 14:24  扫描枪数据读取问题\HookPlan\HookPlan\obj\Debug\HookPlan.Form1.resources

     文件      26112  2017-09-23 09:43  扫描枪数据读取问题\HookPlan\HookPlan\obj\Debug\HookPlan.pdb

     文件        180  2017-09-16 14:17  扫描枪数据读取问题\HookPlan\HookPlan\obj\Debug\HookPlan.Properties.Resources.resources

     文件          0  2017-09-16 14:01  扫描枪数据读取问题\HookPlan\HookPlan\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2017-09-16 14:01  扫描枪数据读取问题\HookPlan\HookPlan\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2017-09-16 14:01  扫描枪数据读取问题\HookPlan\HookPlan\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     文件        520  2017-09-16 14:01  扫描枪数据读取问题\HookPlan\HookPlan\Program.cs

     文件       1324  2017-09-16 14:01  扫描枪数据读取问题\HookPlan\HookPlan\Properties\AssemblyInfo.cs

     文件       2829  2017-09-16 14:01  扫描枪数据读取问题\HookPlan\HookPlan\Properties\Resources.Designer.cs

     文件       5612  2017-09-16 14:01  扫描枪数据读取问题\HookPlan\HookPlan\Properties\Resources.resx

     文件       1095  2017-09-16 14:01  扫描枪数据读取问题\HookPlan\HookPlan\Properties\Settings.Designer.cs

............此处省略18个文件信息

评论

共有 条评论