2015-12-30 47 views
3

下面的代碼工作正常的Windows 7,但不能在Windows嵌入式觸摸功能的標準7:如何檢測設備是否在C#在Windows WinForms應用程序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; 
    } 
+0

值的#define SM_MAXIMUMTOUCHES 95十進制數,Windows.Devices不是十六進制位0x95 – JinJi

回答

1

你可以試試這樣的:

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

詳細檢查WINUSER.H這個reference

+0

。 Input.PointerDevice.GetPointerDevices()最低支持的客戶端是Windows 8 [link](https://msdn.microsoft.com/library/windows/apps/br225637) – pankaj

相關問題