none
WIN7触摸屏电脑玩游戏触摸屏不能用 RRS feed

  • 问题

  • 我买了个带正版WIN7的电脑,带触摸屏的一体机,拿来玩CF(穿越火线),发现触摸屏在CF里不能点击,我仔细研究发现是TABLET PC功能不是硬件级的控制触摸屏的输入,而是在软件层面上,CF屏蔽了TABLET PC功能。用Bus Hound可以看见触摸屏是一个
    HID-compliant device
    Device Type:     Human Interface Device
    Hardware ID:     HID\VID_0408&PID_3008&REV_0207&Col02
    关闭TABLET PC服务,算然看上去屏幕点击失效了,实际上BUS HOUND还是能读取到触摸屏的数据,也就是说,触摸屏是硬件级的输入,只是驱动没对。
    我在网上找了个虚拟鼠标的驱动,可以虚拟出一个硬件鼠标,可编程控制这个虚拟鼠标功能,现在就是怎么从这个HID-compliant device
    读出触摸屏的坐标数据和点击数据呢?Bus Hound可以读出来。不知道什么原理。VS2010
    • 已移动 Helen Zhao 2012年5月9日 2:13 (发件人:Visual C++)
    2012年5月7日 19:34

全部回复

  • 你好!

    我将要把这个帖子移到“一般性问题讨论区”,因为在Visual C++论坛,我们只讨论有关C++语言和编译器的问题。

    谢谢你的谅解!


    Helen Zhao [MSFT]
    MSDN Community Support | Feedback to us

    2012年5月9日 2:13
  • 就算你能够自行编写触摸屏的驱动,也不代表CF能调用你的代码——CF连Windows的Tablet PC功能都没有调用,更不用说在代码中针对你的更加不知名的驱动写程序了。如果你要CF支持你的硬件,你需要联系CF的开发商。

    Bus Hound是绕过驱动程序和Windows直接尝试硬件IO,Windows的设置如何对结果没有影响。



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP

    2012年5月9日 17:59
    版主
  • 楼上你看这个http://www.ddxoft.com/

    这个就是虚拟硬件鼠标,可编程控制,我还看了一些HID的例子,比如http://www.lvr.com/files/SimpleHIDWrite3.zip

    这个就能读出我的触摸屏的坐标,而且是在关闭TABLET PC服务的情况下,直接读出硬件数据,没有代码

    2012年5月9日 22:52
  • Tablet PC服务是Windows组件,是把驱动传来的各种输入转化成手势、消息这种应用程序比较容易用的东西。如果CF的代码是针对手势和消息的话,那么你需要一个触摸屏驱动。

    如果CF的代码仅仅是针对鼠标的话,那么接一个鼠标或者无线触摸屏比较快,游戏的生命期通常很短,编写和调试驱动所需的时间比较长。



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP

    2012年5月10日 14:40
    版主