python获取usb扫描枪数据

编程入门 行业动态 更新时间:2024-10-17 23:31:34

python获取usb<a href=https://www.elefans.com/category/jswz/34/1761049.html style=扫描枪数据"/>

python获取usb扫描枪数据

///

/// 获取键盘输入或者USB扫描枪数据 可以是没有焦点 应为使用的是全局钩子

/// USB扫描枪 是模拟键盘按下

/// 这里主要处理扫描枪的值,手动输入的值不太好处理

///

public class BardCodeHooK

{

public delegate void BardCodeDeletegate(BarCodes barCode);

public event BardCodeDeletegate BarCodeEvent;

//定义成静态,这样不会抛出回收异常

private static HookProc hookproc;

public struct BarCodes

{

public int VirtKey;//虚拟吗

public int ScanCode;//扫描码

public string KeyName;//键名

public uint Ascll;//Ascll

public char Chr;//字符

public string OriginalChrs; //原始 字符

public string OriginalAsciis;//原始 ASCII

public string OriginalBarCode; //原始数据条码

public bool IsValid;//条码是否有效

public DateTime Time;//扫描时间,

public string BarCode;//条码信息 保存最终的条码

}

private struct EventMsg

{

public int message;

public int paramL;

public int paramH;

public int Time;

public int hwnd;

}

[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]

private static extern int SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hInstance, int threadId);

[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]

private static extern bool UnhookWindowsHookEx(int idHook);

[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]

private static extern int CallNextHookEx(int idHook, int nCode, Int32 wParam, IntPtr lParam);

[DllImport("user32", EntryPoint = "GetKeyNameText")]

private static extern int GetKeyNameText(int IParam, StringBuilder lpBuffer, int nSize);

[DllImport("user32", EntryPoint = "GetKeyboardState")]

更多推荐

python获取usb扫描枪数据

本文发布于:2024-02-13 22:43:01,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1760687.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:扫描枪   数据   python   usb

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!