c# - 对于 Windows Embedded Standard 7 上的 WinForms 应用程序,如何在 c# 中检测设备是否启用了触摸

标签 c# winforms touch

以下代码在 Windows 7 上运行良好,但在 Windows Embedded Standard 7 上运行不正常:

[System.Runtime.InteropServices.DllImport("user32.dll")]
    public static extern int GetSystemMetrics(int nIndex);

    public static bool isTouchEnabled()
    {
        int MAXTOUCHES_INDEX = 0x95;
        int maxTouches = GetSystemMetrics(MAXTOUCHES_INDEX);

        return maxTouches > 0;
    }

最佳答案

你可以试试这个:

var hasTouch = Windows.Devices.Input
              .PointerDevice.GetPointerDevices()
              .Any(p => p.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Touch);

更多信息请查看 reference

关于c# - 对于 Windows Embedded Standard 7 上的 WinForms 应用程序,如何在 c# 中检测设备是否启用了触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34523351/

相关文章:

c# - C#中如何将数据表绑定(bind)到datagridview

c# - 用于 Microsoft Word 选项窗口的控件?

c# - 检查是否至少选择了一个复选框列表在 windows 窗体中

html - 通过鼠标和触摸在 Canvas 上绘图

c# - 嵌入的图像显示为损坏

c# - nancyfx - 从父文件夹提供静态文件

c# - 使用三个查询从两个数据表中选择唯一 ID 并合并

css - 如何设置滚动页面的背景颜色?

javascript - iPad HTML5 Canvas 不刷新

c# - 向 .NET 应用程序添加脚本功能