Windows 7下多点触摸API

双指触控的核心是把原始触摸数据放入运动模型中去计算,以识别出用户的手势。原始触摸数据可以从WM_TOUCH消息中得到。通过WM_TOUCH识别出缩放和平移手势。  第一步:检查多点触控硬件   这

双指触控的核心是把原始触摸数据放入运动模型中去计算,以识别出用户的手势。原始触摸数据可以从WM_TOUCH消息中得到。通过WM_TOUCH识别出缩放和平移手势。 

       第一步:检查多点触控硬件 
  这里使用GetSystemMetrics API来获取硬件是不是就绪: 
  BYTE digitizerStatus = (BYTE)GetSystemMetrics(SM_DIGITIZER); 
  if ((digitizerStatus & (0x80 + 0x40)) == 0){ 
  //没检测到多点触控设备或设备没有就绪 
  } 
  //检查设备支持几个触摸点,需要注意的是目前Win 7对2个触摸点支持得比较好 
  BYTE nInputs = (BYTE)GetSystemMetrics(SM_MAXIMUMTOUCHES)

第二步:切换到原始触摸消息 
  在默认情况下,Win 7默认提供 WM_GESTURE(手势)消息。这个手势是系统根据原始触摸数据来识别的手势,使用 RegisterTouchWindow API函数可让系统返回WM_TOUCH原始触摸输入消息,核心代码: 
  RegisterTouchWindow(hWnd, 0)) //hwnd为当前窗口的句柄。 

 第三步:得到原始触摸数据 
  使用GetTouchInputInfo API得到原始触摸数据,核心代码: 
  GetTouchInputInfo((HTOUCHINPUT)lParam,numInputs,ti,sizeof(TOUCHINPUT))) 
  numInputs为预先声明的变量,用于存储有几个触摸点,如果是5个手指同时在屏幕滑动,那么numInputs就为5。 
  ti是TOUCHINPUT结构,其包含了触点的X和Y坐标、发生时间、触摸类型(类似于鼠标按下、鼠标移动、鼠标释放等)。 
  for(unsigned int i=0; i<numInputs; ++i){ //根据触摸输入点循环 
  if (ti[i].dwFlags & TOUCHEVENTF_DOWN){ 
  OnTouchDownHandler(hWnd, ti[i]);//交给触点按下函数处理 
  }else if (ti[i].dwFlags & TOUCHEVENTF_MOVE){ 
  OnTouchMoveHandler(hWnd, ti[i]);//交给触点移动函数处理 
  }else if (ti[i].dwFlags & TOUCHEVENTF_UP){ 
  OnTouchUpHandler(hWnd, ti[i]);} //交给触点释放函数处理 
  } 
  这里的触点按下、移动、释放等函数,实际上是一个运动仿真模型,我们在模型中,要将触点的轨迹生成若干条运动曲线,并计算出每个点的方位角、速率、法向加速度、切向加速度等,以识别出具体的手势。 
  小知识:让程序支持多点触控最简单的方法是用Win 7的手势识别功能,主要用到以下API:
  GetSystemMetrics,用于检查多点触控硬件设备是否存在并就绪。 
  GetGestureInfo,用于获取手势类型及相关数据。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1733294697a3660502.html

相关推荐

  • windows 操作系统中 各个DLL 作用简介

    windows  dll 库文件作用和用途 &#xff08;win7&#xff09; aaclient.dll 何时何地都可以访问客户端  accessibilitycpl.dll 轻松访问控制面板  acledit.d

    4天前
    10
  • windows自动更新在哪里打开

    电脑系统需要时常进行更新才能获得更多的使用体验&#xff0c;很多网友在关闭windows自动更新后想重新设置回自动更新&#xff0c;但是不知道windows自动更新在哪里打开&#xff0c;下面小编就来分享一下打

    4天前
    30
  • 获取Windows远程桌面端口

    获取Windows远程桌面端口 Windows的默认远程桌面使用的端口是3389&#xff0c;如果管理员更改了默认端口&#xff0c;此时想获取默认端口就需要查询注册表。 我最近在3A服务器购买了云服务器。 远程桌面

    4天前
    30
  • windows 系统重装教程

    1.U盘格式化为启动盘 1&#xff09; 下载PE工具箱 下载微PE工具箱安装到U盘作为启动盘&#xff1b; 微PE工具箱 - 超好用的装机维护工具 通过官网进入 有钱的大哥大姐可以去官网捐一下。 捐后下载 2&

    4天前
    50
  • StartAllBack:让Windows 11找回熟悉的操作感

    升级到Windows 11后&#xff0c;你是否觉得开始菜单变得陌生&#xff1f;任务栏的自动合并功能总让你误触&#xff1f;右键菜单被折叠得“藏头露尾”&#xff0c;连资源管理器的操作逻辑都变得复杂

    4天前
    20
  • 学习黑客5 分钟深入浅出理解Windows Editions

    5 分钟深入浅出理解Windows Editions &#x1fa9f; 大家好&#xff01;今天我们来探索Microsoft Windows的各个版本&#xff0c;这对于计算机初学者和网络安全爱好者都是重要的

    4天前
    110
  • Windows 10系统安装全攻略:U盘启动盘制作与安装教程

    Windows 10系统安装全攻略:U盘启动盘制作与安装教程 引言 在数字化办公场景中,系统崩溃或需要重装系统是每个技术从业者都可能遇到的挑战。本文将通过分步图解+操作要点解析的方式,系统讲解从U盘启动盘制作到Windows 10系统安

    4天前
    30
  • 怎么在手机上用windows系统

    怎么在手机上用Windows系统 随着移动技术的发展&#xff0c;越来越多的人希望能够在手机上体验到桌面级的操作系统&#xff0c;如Windows。虽然直接在手机硬件上安装Windows系统是不可行的&#xff

    4天前
    20
  • Windows 11【1001问】如何下载Windows 11系统镜像

    随着科技的不断进步&#xff0c;操作系统也在不断地更新换代。Windows 11作为微软最新一代的操作系统&#xff0c;带来了许多令人兴奋的新特性与改进&#xff0c;如全新的用户界面、更好的性能优化以及增强的安

    4天前
    70
  • 【彻底禁用Windows系统的自动更新,让电脑使用更顺心!】

    文章底部关注公众号&#xff1a;电脑维修小马 回复关键词即可获取软件及注册表&#xff1a;禁用更新 功能简介 自动更新是Windows系统的一项重要功能&#xff0c;旨在保持操作系统的安全性和最新状态。然而&a

    4天前
    80
  • 神舟笔记本安装Windows系统

    神舟笔记本安装Windows系统 安装方式&#xff1a;微PE超纯净安装Windows10&#xff01;&#xff08;个人很恶心“什么骑士”或者“什么白菜”等等的捆绑安装方式&#xff0c;装完之后很

    4天前
    70
  • windows上实现nohup效果的实战代码

    大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。

    4天前
    80
  • windows安装linux 子系统

    检查Windows版本&#xff1a; 确保您的Windows版本支持WSL 2。WSL 2 需要Windows 10 版本 1903 或更高版本&#xff0c;且构建号必须大于 18362。可以通过“设置” ->

    4天前
    30
  • Windows下RabbitMQ的下载与安装

    rabbitMQ是一个开源的消息代理和队列服务器&#xff0c;用来通过普通协议在完全不同的应用之间共享消息&#xff0c;rabbitMQ是使用Erlang语言来编写的&#xff0c;并且rabbitMQ是基于AM

    4天前
    60
  • Java 17 for Windows安装包

    Java 17 for Windows安装包 项目地址:https:gitcodeopen-source-toolkitaeac6 欢迎来到Java 17的Windows平台安装包资源页。本仓库专门提供最新版的Java Deve

    4天前
    30
  • windows seaweedfs安装、启动

    目录 1、下载 2、解压 3、安装 4、文件上传 1、下载 https:githubchrislusfseaweedfstags 2、解压 解压后&#xff0c;只有weed.exe文件 3、安装 cmd 命

    4天前
    60
  • Windows版influxDB2.0.7下载地址

    官网下载网页&#xff1a; https:portal.influxdatadownloads  选择Windows版下载 发现下载页面不跳转&#xff0c;可以移步到下列链接直接下载 存储数据&#xff

    3天前
    80
  • windows 安装 pygame( pycharm)

    一、安装流程 1.查看python版本 2.检查是否安装pip 3.下载pygame安装文件 下载地址&#xff1a;https:pypiprojectpygame#files 选择合适的版本&#xff08;我选择

    3天前
    80
  • Windows下安装numpy

    在看差分隐私的科普时&#xff0c;看到一篇文章&#xff0c;最后有用Laplace分布实现差分隐私的代码&#xff0c;所以就复制到PyCharm里运行了一下&#xff0c;运行时报错“没有numpy”&

    3天前
    60
  • windows上postgreSQL11.7安装教程

    软件环境 win10 64位系统postgresql-11.7-1安装包 1、拷贝安装包到数据库服务器上 * 这里提供一份我已经下好的安装包&#xff1a; 链接&#xff1a;https:pan.baidus

    3天前
    60

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信