以编程方式启用/禁用多点触控手指输入?

2023-12-09

我有一台运行 Windows 7 且支持多点功能的平板电脑。

然而,当使用手写笔并距离显示器太远时,我经常会不小心用手指敲击它,从而导致不必要的鼠标点击。

解决方案是导航到“控制面板 - 笔和手指输入 - 手指输入”,然后停用“使用手指作为输入设备”复选框(所有标题均经过翻译,因此在英文窗口上可能会有所不同)。

现在我想知道我是否也可以以编程方式执行此操作,因此我可以为此编写一个小托盘应用程序。

我尝试使用进程监视器来查找注册表项,但是,我没有找到真正显示与复选框相同效果的注册表项。

有谁知道如何访问此属性(不使用 UI 自动化)?


这可以通过操纵来完成MICROSOFT_TABLETPENSERVICE_PROPERTY标志设置。

#include <tpcshrd.h>  

BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)  {   
    const DWORD_PTR dwHwndTabletProperty =  
        TABLET_DISABLE_PRESSANDHOLD | // disables press and hold (right-click) gesture  
        TABLET_DISABLE_PENTAPFEEDBACK | // disables UI feedback on pen up (waves)  
        TABLET_DISABLE_PENBARRELFEEDBACK | // disables UI feedback on pen button down  
        TABLET_DISABLE_FLICKS; // disables pen flicks (back, forward, drag down, drag up)   
    ATOM atom = GlobalAddAtom(MICROSOFT_TABLETPENSERVICE_PROPERTY);   
    SetProp(hWnd, MICROSOFT_TABLETPENSERVICE_PROPERTY, reinterpret_cast (dwHwndTabletProperty));  
    GlobalDeleteAtom(atom); 
}

(我不会把这件事归功于我,soure)

重要的参数是传递给 SetProp 的 hWnd 句柄。获取桌面窗口返回桌面窗口的句柄。为桌面窗口设置此项应为桌面上的所有窗口以及桌面本身停用它。但请注意,这不会是一个持续的变化(重新启动将撤消它)。

您可以使用的可能值是

#define TABLET_DISABLE_PRESSANDHOLD        0x00000001
#define TABLET_DISABLE_PENTAPFEEDBACK      0x00000008
#define TABLET_DISABLE_PENBARRELFEEDBACK   0x00000010
#define TABLET_DISABLE_TOUCHUIFORCEON      0x00000100
#define TABLET_DISABLE_TOUCHUIFORCEOFF     0x00000200
#define TABLET_DISABLE_TOUCHSWITCH         0x00008000
#define TABLET_DISABLE_FLICKS              0x00010000
#define TABLET_ENABLE_FLICKSONCONTEXT      0x00020000
#define TABLET_ENABLE_FLICKLEARNINGMODE    0x00040000
#define TABLET_DISABLE_SMOOTHSCROLLING     0x00080000
#define TABLET_DISABLE_FLICKFALLBACKKEYS   0x00100000
#define TABLET_ENABLE_MULTITOUCHDATA       0x01000000

( http://msdn.microsoft.com/en-us/library/bb969148%28VS.85%29.aspx )

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式启用/禁用多点触控手指输入? 的相关文章

  • 如果加载 dll 找不到依赖项,有什么方法可以捕获错误吗?

    我正在编写一个 Windows 32 位程序 可以使用多个可能的 dll 之一 所以它尝试依次加载每个 dll 使用SysUtils SafeLoadLibrary如果加载成功 它就会使用该 dll 不幸的是 其中一些 dll 静态链接到其
  • 如何一步步遍历目录树?

    我发现了很多关于遍历目录树的示例 但我需要一些不同的东西 我需要一个带有某种方法的类 每次调用都会从目录返回一个文件 并逐渐遍历目录树 请问我该怎么做 我正在使用函数 FindFirstFile FindNextFile 和 FindClo
  • 在 Windows cmd 中,如何在不引用完整路径的情况下运行当前目录中的可执行文件(而不是 %PATH% 中同名的可执行文件)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试运行可执行文件foobar来自目录 但 Windows 也恰好有一个名为的可执行文件 或命令 foobar 在 UNIX 中 我
  • 如何以“正确”的方式处理带有空字节的 Python unicode 字符串?

    Question PyWin32 似乎很乐意将 null 终止的 unicode 字符串作为返回值 我想以 正确 的方式处理这些字符串 假设我得到一个像这样的字符串 u C Users Guest MyFile asy x00 x00sy
  • 如何在win32中使用GetSaveFileName保存文件?

    我编写此代码是为了获取 fileName 来保存我的文件 include stdafx h include
  • 使用 SetWindowsHookEx() 阻止窗口鼠标单击

    我编写了一个应用程序 将某些过程挂接到新进程上 以监视鼠标按下事件并禁用新进程上的鼠标按下事件 截至目前 我能够捕获进入此进程的鼠标按下事件 并且我正在尝试将所有鼠标按下事件作为 POC 禁用 这就是我目前在钩子程序中所做的事情 exter
  • 构建适用于 Windows 8 的控制面板小程序

    我开发了一个控制面板小程序 cpl 文件 我们与我们的应用程序一起分发 它在所有以前版本的 Windows 上运行良好 但在 Windows 8 上不行 该小程序根本不显示在控制面板中 以前我们所要做的就是将 cpl 文件放入 system
  • C++ 将控制台文本颜色设置为 RGB 值

    我想将控制台的文本颜色设置为 RGB 颜色 我创建了一个函数来获取控制台的 ColorTable 并更改其中的颜色 但它不起作用 我不知道如何将文本颜色设置为颜色表中的值 因此我只是更改整个颜色表 但它没有执行任何操作 void setCo
  • 如何删除Windows 10版本1809剪贴板历史记录?

    如果我启用剪贴板历史记录 https www windowscentral com how use new clipboard windows 10 october 2018 update在 Windows 10 版本 1809 上 它将开
  • 是否有可能劫持标准输出

    我正在尝试使用 C 重定向 Windows XP 上已运行进程的标准输出 我知道如果我自己生成进程 我可以做到这一点 但对于这个应用程序 我更喜欢一个 监听器 我可以附加到另一个进程 这在纯 Net 中可能吗 如果不可能 在 Win32 中
  • 查找给定城市的 UTC 偏移量

    在 Windows 上的 C 中 给定一个城市 比如伦敦 纽约 悉尼或新加坡等 我如何找到每个城市的 UTC 偏移量 即该函数应该能够接受城市名称并返回 UTC 偏移量当前的情况 即考虑夏令时 任何想法如何使用 win32 API 来完成此
  • 检查 Win32 线程是否正在运行或处于挂起状态

    如何检查 Win32 线程是否正在运行或处于挂起状态 我找不到任何提供线程状态的 Win32 API 那么如何获取线程状态呢 我认为 最初 没有提供此信息 因为任何提供此信息的 API 都会产生误导且无用 考虑两种可能的情况 当前线程已挂起
  • 如何在 Rust winapi 编程中使用 COM VARIANT?

    我正在尝试转换C COM 代码 https technet microsoft com pt br aa382113 v vs 71 for TaskSchedulerRust 并坚持VARIANT的论证ITaskService Conne
  • 如何从系统属性获取Windows操作系统环境变量

    我遇到一个关于系统属性环境变量的奇怪问题 如你所知 我们可以打开Computer gt Property gt Advanced System Settings gt Advanced gt System Environment Varia
  • Android 多点触控

    因此 我尝试使用 onTouchEvent 检查多个屏幕触摸 但它似乎仍然只读取第一次触摸 有人可以帮忙吗 这是我的代码 public boolean onTouchEvent MotionEvent e int num e getPoin
  • LNK2019:函数 ___tmainCRTStartup 中引用了无法解析的外部符号 _main

    我有以下错误 LNK2019 函数 tmainCRTStartup 中引用了无法解析的外部符号 main 有很多与此错误相关的线程 但这些解决方案都不适合我 而且 没有人解释为什么会出现这个错误 I tried wWinMainCRTSta
  • 多个原始输入窗口接收器

    我有一个仅消息窗口 ATL CWindowImpl 它使用 RIDEV INPUTSINK 标志将自身注册为原始输入 这意味着无论该窗口是否是前台窗口 它都会获取所有输入 当该窗口只有一个实例时 这非常有效 但是 当我创建超过 1 个窗口实
  • 如何从 Java 访问 Windows 设备管理器中的信息?

    我有一个串行 USB 设备 并且其中多个设备可以连接到计算机 我需要查询和检索设备连接到的 COM 端口列表 在 Windows 设备管理器中 您可以获得当前连接的设备的 COM 端口 友好名称 该列表是动态的 从注册表中读取不工作 htt
  • 按扩展名过滤搜索文件返回太多结果

    我正在开发一个 C 控制台应用程序 它必须管理 Windows 操作系统上的文件 我需要获取具有特定扩展名的文件名 列表 我找到了很多解决方案 最建议的是以下一种 HANDLE hFind WIN32 FIND DATA data hFin
  • 获取Windows下新线程/删除线程的通知

    创建 DLL 时 您可以在 DllMain 函数 DLL THREAD ATTACH DLL THREAD DETACH 中获取有关新线程 退出线程的通知 有没有办法在 非托管 可执行文件中从 Windows 获取这些或等效通知 是的 在您

随机推荐

  • 脚本未在 templateurl 中运行

    这是我的角度 js 文件 测试 js 文件 var app angular module angleapp controller MainController scope function scope scope test hi all d
  • 如何使用占位符获取用户输入?

    我目前正在用 Rust 编写一个简单的记事本应用程序 在主循环期间 要求用户插入 删除或更改行 当用户更改行时 我想预先填充该行的内容 以便用户可以更轻松地编辑行 像这样 下划线代表终端光标 用户选择该行后尚未进行任何输入 Content
  • 将插件保留在项目中和配置文件中之间的区别

    谁能解释一下下面的功能吗 A 实际上下面的代码对我有用 但我不明白为什么我们需要使用下面的Maven 战争插件
  • Android 中是否可以共享音频输入(麦克风)流?

    我正在编写一个作为后台服务运行的应用程序 记录和分析从麦克风录制的音频 当我的应用程序运行时 我无法使用其他使用麦克风的应用程序 例如电话 录音等 我的问题是 有没有办法在 Android 中共享麦克风流 也许通过使用 NDK 如果没有 是
  • 穷人的 C#“词法分析器”

    我正在尝试用 C 编写一个非常简单的解析器 我需要一个词法分析器 它可以让我将正则表达式与标记关联起来 这样它就可以读取正则表达式并返回符号 看来我应该能够使用正则表达式来完成实际的繁重工作 但我看不到一种简单的方法来做到这一点 一方面 正
  • 为什么 Twitter Bootstrap 需要多个按钮类?

    使用以下命令制作主按钮Twitter 的 Bootstrap 库 您需要使用两个 CSS 类 如下所示 class btn btn primary 当他们可以让 btn primary 包含 btn 包含的所有 CSS 时 为什么他们要这样
  • 如何使用rails服务器在Angular中获取索引数据

    我从 Angularjs Rails 后端开始 尝试从服务器获取用户数据 相当于controller index轨道上的动作 我已经遵循了几个教程 发现这段代码是最清晰的 问题1 如何正确地将角度模块链接到视图中 2 如何使用本文中的 ty
  • ASP.NET Core:从 GET 重定向到 POST

    我想打电话MarriageById作为 GET 像这样 var url MarriageById id id 但我也想拥有一个ActionResult Marriage Marriage marriage 在显示视图之前会进行一些处理 这第
  • 为什么使用 Prism EventAggregator 时未调用我的 Subscribe 方法?

    我正在学习棱镜 几个小时后我就遇到了一个问题 订阅事件时 订阅方法没有被调用 我在用Prism and Autofac 在下面的简化示例中 主视图模型 Publish dupa 事件被称为ctor 然后单击按钮更新窗口被打开 在窗口的后端创
  • 在 VBA 中编程多个 .FindNext

    我对VBA相对缺乏经验 但通常可以完成简单的任务 我目前在使用 Find 函数时遇到问题 我知道 excel 没有能力执行两次 finds 但我在为第二次查找编写循环时遇到问题 到目前为止我的代码在这里 Dim j As Integer D
  • eclipse 没有为其中开发的任何应用程序生成 apk 文件吗?

    我一直在使用 eclipse IDE 在 android 中开发一些应用程序 所有这些应用程序在模拟器上运行良好 但 eclipse 没有生成它们的 apk 文件 并且我无法在任何设备中安装应用程序 此外 在模拟器上运行应用程序时 它不会给
  • 阻止外部访问 PHP 脚本但允许 AJAX

    我读了很多关于 htaccess 规则 检查标头 使用加密等的内容 但我还没有找到我想要的答案 我知道 假设服务器设置正确 您将无法使用 AJAX 访问我珍贵的 PHP 脚本 我尝试检查是否定义了一个访问变量 该变量不允许地址栏访问 但也阻
  • 在express.js上启用HTTPS

    我正在尝试让 HTTPS 在 Express js 上为 Node 工作 但我无法弄清楚 这是我的app js code var express require express var fs require fs var privateKe
  • Android KSOAP2 抛出 SocketTimeoutException

    我在我的 Android 项目中使用了上述 SOAP 对象库 以便连接到 NET Web 服务 该应用程序运行良好 直到我做了一些更改并增加 减少了目标 API 它开始抛出 SocketTimeoutException 并且不会消失 我在用
  • 选择firstChild和空格问题

    我有一个这样的标记 table thead tr td Hello td tr thead table 但是当我尝试选择第一个孩子时 table 它返回空格 正如预期的那样 var ss document getElementById my
  • 样式下拉(选择)框

    我知道使用 jquery 可以制作一些看起来像选择框的东西 这样我就可以让它看起来像我想要的那样 然而 如果只有 css 我有多少控制权 我使用了边框 内边距和宽度 最终结果看起来很棒 唯一让我烦恼的是掉落的部分 这有什么控制吗 有填充看起
  • 调用open时如何调用sys_open而不是sys_openat

    我编写了一段代码来生成系统调用 void open test int fd const char filepath if fd 1 printf Open s Failed n filepath else printf Successful
  • 带有有效负载或表单数据的 DELETE 请求会导致错误请求

    我正在使用 Java Jersey 2 17 构建 RESTful Web 服务 客户端 我正在使用 ExtJS 5 进行开发 我的服务课程 主程序 java public class Main public static final St
  • 如何使用正则表达式通过 jQuery 通过 ID 选择元素?

    我有以下输入元素
  • 以编程方式启用/禁用多点触控手指输入?

    我有一台运行 Windows 7 且支持多点功能的平板电脑 然而 当使用手写笔并距离显示器太远时 我经常会不小心用手指敲击它 从而导致不必要的鼠标点击 解决方案是导航到 控制面板 笔和手指输入 手指输入 然后停用 使用手指作为输入设备 复选