现在有个这样的问题
一台电脑上装了一套收费系统,现在要做一个对服务员的服务进行评论的系统
这个评论是个客户用的,当收费系统处理完所有的流程后,在打印发票的时候
就运行投票系统进行投票,这个投票是一个小键盘。在客户没有投票时,大键
盘不能使用,(大键盘不能没有小键盘,因为收费的时候必须使用小键盘。)现在的问题是:
1、在VB里怎么屏蔽键盘。(这个我在CSDN里搜索了些资料,如果那为大哥有好的方法可以共享出来)
2:我现在接了两个键盘,一个是服务员用的大键盘,接在通常的键盘接口上。另一个是投票用的小键盘,是用一个USB的转接口转接的小键盘。在程序屏蔽的时候怎么知道屏蔽的是大键盘,还是屏蔽的小键盘。如果那位大哥能在QQ上指导一下,高分道谢
谢谢了~!

解决方案 »

  1.   

    看看这里的内容有没有用 http://blog.csdn.net/goodname008
      

  2.   

    keydown事件把keycode=0,keypress中把Keyascii=0------------
    http://www.abcooo.com
      

  3.   

    api函数BlockInput(true)'锁定;BlockInput(False)'解锁
      

  4.   

    还问下,我的小键盘是接到USB端口上的
    那么在VB怎么知道我的哪个键盘是接哪个端口啊
      

  5.   

    看这个API能不能用Declare Function GetKeyboardType Lib "user32" Alias "GetKeyboardType" (ByVal nTypeFlag As Long) As Long 
    说明 
    了解与正在使用的键盘有关的信息 
    返回值 
    Long,零表示出错。否则返回下述值之一 
    nTypeFlag=0 1——PC或兼容的83键键盘;2——Olivetti102键键盘;3——AT或兼容84键键盘;4——增强型(IBM)101或102键键盘;5——Nokia1050键盘;6——Nokia9140键盘;7——日文键盘 
    nTypeFlag=1 任何值,由厂商决定 
    nTypeFlag=2 1——10个功能键(即 F? 键);2——12或18个功能键;3——10个功能键;4——12个功能键;5——10个功能键;6——24个功能键;7——由厂商决定 
    参数表 
    参数 类型及说明 
    nTypeFlag Long,可设为下述值之一 
    0——返回键盘类型 
    1——返回键盘子类型 
    2——返回键盘上的功能键数量 
      

  6.   

    我试了一下好象还是不行
    我们公司里的键盘现在怎么返回的都是
    4——增强型(IBM)101或102键键盘
    我的小键盘也返回的是4,功能健怎么和大键盘的是一样的都是12
      

  7.   

    重来没用过两个键盘,也不知道你用的键盘有什么特点,更关键的是:对这方面有研究的人实在不多,想帮你有点难,我为你收集几个API,你自己看看该怎么用吧,我想应该是有办法的。Declare Function ActivateKeyboardLayout Lib "user32" Alias "ActivateKeyboardLayout" (ByVal HKL As Long, ByVal flags As Long) As Long 
    说明 
    激活一个新的键盘布局。键盘布局定义了按键在一种物理性键盘上的位置与含义 
    返回值 
    Long,如执行成功,返回前一个键盘布局的句柄;零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    HKL Long,指定一个键盘布局的句柄。这个布局是随同LoadKeyboardLayout 或 GetKeyboardLayoutList函数载入的。也可用HKL_NEXT常数激活下一个已装载布局;或用HKL_PREV载入前一个布局 
    flags Long,将指定的键盘移至内部键盘布局列表的起始处 
    ----------------------------------------------Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long 
    说明 
    取得当前活动键盘布局的名称 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    pwszKLID String,长度为 KL_NAMELENGTH 个字符的字串 
    注解 
    在NT中,键盘布局与特定的应用程序有关。而在windows95中,它取决于特定的线程
    --------------------------------------------------
     
    Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long 
    说明 
    载入一个键盘布局 
    返回值 
    Long,键盘布局的句柄。零表示出错 
    参数表 
    参数 类型及说明 
    pwszKLID String,一个8字符字串,用于描述键盘布局的名称。参考注解 
    flags Long,下述常数的任何一种组合 
    KLF_ACTIVATE 载入和激活指定的布局 
    KLF_NOTELLSHELL 禁止一个外壳挂钩进程(a shell hook procedure)接收到HSHELL_LANGUAGE通告。如准备载入一系列键盘布局,就需要考虑设置这个标志,从而改善性能(不要为最后一个载入的布局设置该标志) 
    KLF_REORDER 将指定的活动布局移至内部键盘布局列表的起始处 
    KLF_REPLACELANG 如指定语言的键盘布局已经存在,则用这个将其替换。仅适用于win95 
    KLF_SUBSTITUTE_OK 在注册表中使用替换信息,为这个语言载入一个由用户指定的替换键盘布局(如果存在的话),而不是载入当前这个布局 
    KLF_UNLOADPREVIOUS 如KLF_ACTIVATE已经指定并成功,则卸载前一个布局 
    注解 
    键盘布局的名称采用“ddddnnnn”的形式。其中,nnnn代表一个语言ID的字串形式,而dddd代表一个设备代码的字串形式。标准的美国键盘名称是“00000409”
     
    其他 
    键盘布局在win95中取决于特定的线程;在windows nt中,则在整个系统的范围内有效 
    ---------------------------------------------------Declare Function UnloadKeyboardLayout Lib "user32" Alias "UnloadKeyboardLayout" (ByVal HKL As Long) As Long 
    说明 
    卸载指定的键盘布局。参考LoadKeyboardLayout函数,了解更多信息 
    返回值 
    Long,如执行成功,返回键盘布局的句柄;如出错,则返回零。会设置GetLastError 
    参数表 
    参数 类型及说明 
    HKL Long,欲卸载的键盘布局的句柄 
    注解 
    在windows95下,这个函数永远都不能卸载默认的系统键盘布局
    -------------------------------------------- Declare Function GetKeyboardLayout Lib "user32" Alias "GetKeyboardLayout" (ByVal dwLayout As Long) As Long 
    说明 
    取得一个句柄,描述指定应用程序的键盘布局 
    返回值 
    Long,键盘布局的句柄 
    参数表 
    参数 类型及说明 
    dwLayout Long,欲检查的线程的标识符 
    ------------------------------------Declare Function GetKeyboardLayoutList Lib "user32" Alias "GetKeyboardLayoutList" (ByVal nBuff As Long, lpList As Long) As Long 
    说明 
    获得系统适用的所有键盘布局的一个列表 
    返回值 
    Long,装载到内存的键盘布局的数量 
    参数表 
    参数 类型及说明 
    nBuff Long,lpList数组中的条目数量。如设为零,表示获取可用键盘布局的数量 
    lpList Long,指定一个数组,它的元素数量至少应有nBuff规定的元素那么多。这个数组会随同句柄载入可用的键盘布局 
    ------------------------------------注意一下: pwszKLID这个String
    它是“ddddnnnn”的形式。其中,nnnn代表一个语言ID的字串形式,而dddd代表一个设备代码的字串形式。
    dddd在只有一个键盘时,一般是0000,若有两个键盘,应该就会有0001出现。