1、下面的class包含了5种不同的方法
class Program
{
static void Main(string[] args)
{
Console.WriteLine("GetSystemMetrics(SM_DIGITIZER):" + Convert.ToString(GetSystemMetrics(SM_DIGITIZER), 16));
Console.WriteLine("GetSystemMetrics(SM_MAXIMUMTOUCHES):" + GetSystemMetrics(SM_MAXIMUMTOUCHES));
Console.WriteLine("GetSystemMetrics(SM_TABLETPC):" + GetSystemMetrics(SM_TABLETPC));
Console.WriteLine("System.Windows.SystemParameters.IsTabletPC:" + System.Windows.SystemParameters.IsTabletPC); //需要加载PresentationFramework这个References
Console.WriteLine("Windows7.Multitouch.TouchHandler.DigitizerCapabilities.IsMultiTouchReady:" + Windows7.Multitouch.TouchHandler.DigitizerCapabilities.IsMultiTouchReady); //需要添加对 Windows7.Multitouch.dll 和 Windows7.Multitouch.WPF.dll 的引用
Console.ReadKey();
}
const int SM_TABLETPC = 86;
const int SM_DIGITIZER = 94;
const int SM_MAXIMUMTOUCHES = 95;
[DllImport("user32")]
static extern int GetSystemMetrics(int n);
}
2、读取特定的注册表值
虽然不太推荐AP读取注册表,但是如果能保证安全读取的话,注册表是最真实可靠的。有关触摸屏的Key为:HKEY_LOCAL_MACHINE下的"SOFTWARE//Microsoft//Windows//Tablet PC"键,读取"IsTabletPC"和"DeviceKind"的值。