我正在尝试在Windows 7或8上为我的WPF绘图应用程序启用/禁用触摸功能。
就我搜索而言,链接How to turn off all touch input at application, window or control level?为触摸功能状态提供了正确的注册表位置。
但是,它并没有受到影响,因为Windows系统可能无法确认更改。
在我的假设中,需要使用 SystemParametersInfo 刷新User32.dll才能在不重启的情况下进行更改。 但很难弄清楚如何做到这一点,因为我不知道哪个SPI_something与WISP有关。
还有其他方法还是可以帮我实现?
示例代码如下(非常类似于上面引用的StackOverflow链接)
RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Wisp\Touch", true);
if (regKey != null)
{
regKey.SetValue("TouchGate", 0x00000000); // Turn off touch.
regKey.Close();
// NOTIFY REGISTRY CHANGES TO WINDOWS
}
答案 0 :(得分:1)
问题的当前答案如何关闭应用程序,窗口或控件级别的所有触摸输入?还提供了一种使Windows重新读取注册表的方法。请参阅:the answer's
internal static void Notify_SettingChange()
方法。
SystemParametersInfo 中没有用于触控禁用的文档SPI_ *常量。此外,所有SPI_常量都与可访问性功能相关 - 而不是触摸等一般功能。