none
surface安装键盘为啥会对调用tabtip键盘使用有影响? RRS feed

  • 问题

  • 您好:

    对于surface问题,我有个困惑? 现在在surface下没安装自带surface键盘,程序能调用surface键盘了,通过进程杀死,在重新调用是能让surface下TabTip显示。

    但是我在surface安装了surface自带的键盘后,发现当我点击输入框时,TabTip键盘没有弹出,但是任务管理其中有了该进程但是却不显示出来,关闭软件该进程能被杀死,,,请问这是怎么回事??是因为装上了surface自带的键盘后,导致端口被占用还是其他问题导致surface下TabTip键盘没有显示出来??


    2019年8月16日 7:30

答案

  • 你好,

    如果是这样的话,不知道是不是由于surface的特殊性,导致当有键盘插入使用时,系统检测到外接键盘,默认使用外接键盘,而虚拟键盘就被屏蔽了。

    这种情况下,如果你非要使用虚拟键盘也可以,使用setupapi.h里的相关函数去禁用启用键盘设备,当系统检测到外接键盘时,调用禁用键盘设备,然后再去打开Tabtip。我觉得这也是一种实现方式。相关的API信息可以参考以下链接。

    https://docs.microsoft.com/zh-cn/windows/win32/api/setupapi/

    Best Regards,

    Suarez Zhou


    2019年8月19日 7:19

全部回复

  • 你好,

    我这边没办法还原你的测试环境,你这个安装surface自带的键盘是指的使用真实的键盘,还是电脑模拟的虚拟键盘软件呢?如果是真实的键盘,我查阅了相关资料,确实可能存在你所说的情况,可以在你的程序打开tabtip之前再加入识别是否有外接键盘的相关代码,没有的话再调用TabTip。

    Best Regards,

    Suarez Zhou

    2019年8月16日 9:01
  • 是指surface 真实的键盘,插在surface上自配得的,毕竟它插槽口那么特殊。

    如果没有那个真实的键盘,点击输入框程序是能显示TabTip键盘的,退出也能杀死进程从而关闭键盘。但是装上了真实键盘后,点击输入框键盘不显示了,但是任务管理器中查看进程却存在,退出程序能杀死那个进程。

    2019年8月19日 6:24
  • 你好,

    如果是这样的话,不知道是不是由于surface的特殊性,导致当有键盘插入使用时,系统检测到外接键盘,默认使用外接键盘,而虚拟键盘就被屏蔽了。

    这种情况下,如果你非要使用虚拟键盘也可以,使用setupapi.h里的相关函数去禁用启用键盘设备,当系统检测到外接键盘时,调用禁用键盘设备,然后再去打开Tabtip。我觉得这也是一种实现方式。相关的API信息可以参考以下链接。

    https://docs.microsoft.com/zh-cn/windows/win32/api/setupapi/

    Best Regards,

    Suarez Zhou


    2019年8月19日 7:19
  • 您好:

    谢谢您的建议。

    Best Regards,

    刘先生

    2019年8月20日 1:07