您的位置:首页 > 其它

Windows 8学习笔记(七)--Input输入设备

2012-04-11 22:53 218 查看
Windows.Device.Input接口提供了识别可用的输入设备并获得这些设备的信息
KeyboardCapabilities
用于判断当前是否连接了键盘设备
其属性KeyboardPresent进行判断,当为0时表示未连接,不为0时表示已连接
Windows.Devices.Input.KeyboardCapabilitiesKeyboardCapabilities=newWindows.Devices.Input.KeyboardCapabilities(); stringstatus=string.Format("Thereis{0}keyboardpresent\n",KeyboardCapabilities.KeyboardPresent!=0?"a":"no");
MouseCapabilities
用于判断当前是否连接了鼠标设备
其属性比KeyboardCapabilities多了些,如下:
HorizontalWheelPresent该值表明是否有带水平滚轮的鼠标连接
MousePresent表明是否有鼠标连接
NumberOfButtons该值表明当前连接的鼠标中按钮的数量,若有多个鼠标连接,则返回鼠标按钮个数最多的数量
SwapButtons该值表明当前连接的鼠标设备中是否具有左右交换按钮的
VerticalWheelPresent该值表明当前连接的鼠标设备中是否有垂直的滚轮
Windows.Devices.Input.MouseCapabilitiesMouseCapabilities=newWindows.Devices.Input.MouseCapabilities();

Stringinfo=string.Format("Thereis{0}mousepresent\n",MouseCapabilities.MousePresent!=0?"a":"no");
info+=string.Format("Thereis{0}verticalmousewheelpresent\n",MouseCapabilities.VerticalWheelPresent!=0?"a":"no");
info+=string.Format("Thereis{0}horizontalmousewheelpresent\n",MouseCapabilities.HorizontalWheelPresent!=0?"a":"no");
info+=string.Format("Theuserhas{0}optedtoswapthemousebuttons\n",MouseCapabilities.SwapButtons!=0?"":"not");
info+=string.Format("Themousehas{0}button(s)\n",MouseCapabilities.NumberOfButtons);
TouchCapabilities
获得连接的触摸数字化仪的功能
Contats表明支持所有数字化仪的最小联系人数量
TouchPresent表明当前终端是否有数据化仪
Windows.Devices.Input.TouchCapabilitiesTouchCapabilities=newWindows.Devices.Input.TouchCapabilities();

Stringinfo=string.Format("Thereis{0}digitizerpresent\n",TouchCapabilities.TouchPresent!=0?"a":"no");
info+=string.Format("Thedigitizersupports{0}contacts\n",TouchCapabilities.Contacts);
PointerDevice
识别连接的指针设备及它们的功能
varPointerDeviceList=Windows.Devices.Input.PointerDevice.GetPointerDevices();
stringdevice="";
foreach(Windows.Devices.Input.PointerDevicePointerDeviceinPointerDeviceList)
{
if(PointerDevice.PointerDeviceType==Windows.Devices.Input.PointerDeviceType.Mouse)
{
device="mouse";
}
elseif(PointerDevice.PointerDeviceType==Windows.Devices.Input.PointerDeviceType.Pen)
{
device="pen";
}
else
{
device="touch";
}
}

今天就看了一点输入设备的功能用法,研究SMS收发信息的功能时,却被刚开始的SmsDevice.GetDefaultAsync()获取信息设备给绊住了,报的错误是”服务尚未启动。(异常来自HRESULT:0x80070426)”,不知道是不是要先开启什么,望知者还能提醒一番^_^
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: