检查Windows 8平板电脑/ PC中的触摸键盘

时间:2014-02-03 12:18:31

标签: c# .net windows-8

我需要知道我是否是平板电脑,我认为检查键盘是最好的,因为我知道我在Windows 8上,而我想要做的就是显示软键盘,如果我是平板电脑的话。

所以我考虑过检查键盘功能,正如许多人建议的那样,但根据VS2012,.net 2中不存在KeyboardCapabilities。

// Determine if a keyboard is present and change the input mode accordingly
Windows.Devices.Input.KeyboardCapabilities kc = 
     new Windows.Devices.Input.KeyboardCapabilities();
if (kc.KeyboardPresent == 0)
    //show the keyboard here

我找到了显示如何通过添加windowsRT访问权限的网站 <targetplatformVersion>8.0</Targetplatformversion> 然后从.net4.5核心导入windowsruntime.dll,它允许访问KeyboardCapabilities,但不能与winforms在同一个项目中。

但我的应用程序需要在Windows 8,7,XP等下运行,并且使用winforms在.net 2.0上运行

那么如何在.net 2中访问这些dll?或者我如何添加包装以便在1个类或单独的dll中使用?

2 个答案:

答案 0 :(得分:0)

到目前为止答案是没有办法做到这一点, 你不能在同一个项目中访问winforms和windows.devices。

答案 1 :(得分:0)

如果你打电话给tabtip.exe 它会显示触摸键盘(如果尚未存在),如果它在服务中运行,则表示它在机器上可用。