需求:
程序中获取usb口扫码枪扫码内容(不显示出来)目前进行到使用键盘钩子,监控键盘按键
这都可以了,只要是非调试状态下就能在无焦点状况下获取到但发现个问题,如果程序外部其他界面上有焦点时 扫码内容又输出到焦点位置去了,效果不理想想不让外部焦点输出扫码内容,该怎么做啊请指教!

解决方案 »

  1.   

    我记得钩子分为全局钩子和局部钩子。
    只要设置hook主函数的值(0/1)就好了。你试试看
      

  2.   


    我记得你应该先获取你需要的窗口的句柄。在Hook的函数里面,应该有让你设置窗口句柄的地方。
    因为N年前的东西了。我不是记得太清楚。
      

  3.   


    谢谢!不过……试过了 确实解决了外部焦点问题 但是扫码枪本身就是程序外的线程,所以扫码枪扫码也获取不到了…………指定扫码枪的钩子?可行不?
    第一次用钩子,真心不会用我记得你应该先获取你需要的窗口的句柄。在Hook的函数里面,应该有让你设置窗口句柄的地方。
    因为N年前的东西了。我不是记得太清楚。 谢谢!可能你没遇到过扫码枪这种需求……
    简单来讲,程序是自己的,扫码枪是系统的(而且是个没界面的)用串口好说(赞美串口!!!!!串口万岁!!!!!) 直接串口通讯就行 什么乱七八糟的问题都没有 就是有点不方便 没串口的得把usb口转串口用usb口就有很多问题了,网上搜的多是模拟键盘输入的方式获取扫码内容……一是现在遇到的,用局部就获取不到外面的扫码枪,用全局就控制不住外面的焦点……再有就是由于是监控键盘,会有很多诸如 shift+按键 这种特殊输入以及中文输入问题在研究研究 不行就使用串口了
      

  4.   

    我当时做的就是扫码枪,用wince平台开发的。
    不过可能需求不同吧。我当时是需要捕获全局钩子的。
      

  5.   


    不太了解wince 
    也是通过监控键盘获取扫码枪扫码吗?全局钩子的话,焦点在外部怎么办
      

  6.   


    不太了解wince 
    也是通过监控键盘获取扫码枪扫码吗?全局钩子的话,焦点在外部怎么办
    是的,监控键盘
    我当时就是要监控整个屏幕上的键盘操作。所以没有你这个问题。