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

本文关键字:应用程序 WinForms 触摸 启用 上的 是否 检测设备 Windows Standard Embedded | 更新日期: 2023-09-27 18:28:23

以下代码在Windows 7上运行良好,但在Windows嵌入式标准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;
    }

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

你可以试试这个:

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

有关更多信息,请参阅