Windows 8學習筆記(七)--Input輸入設備


Windows.Device.Input接口提供了識別可用的輸入設備並獲得這些設備的信息

KeyboardCapabilities

用於判斷當前是否連接了鍵盤設備

其屬性KeyboardPresent進行判斷,當為0時表示未連接,不為0時表示已連接

Windows.Devices.Input.KeyboardCapabilities KeyboardCapabilities = new Windows.Devices.Input.KeyboardCapabilities();
string status = string.Format("There is {0} keyboard present\n", KeyboardCapabilities.KeyboardPresent != 0 ? "a" : "no");
 

MouseCapabilities

用於判斷當前是否連接了鼠標設備

其屬性比KeyboardCapabilities多了些,如下:

HorizontalWheelPresent 該值表明是否有帶水平滾輪的鼠標連接

MousePresent 表明是否有鼠標連接

NumberOfButtons 該值表明當前連接的鼠標中按鈕的數量,若有多個鼠標連接,則返回鼠標按鈕個數最多的數量

SwapButtons 該值表明當前連接的鼠標設備中是否具有左右交換按鈕的

VerticalWheelPresent 該值表明當前連接的鼠標設備中是否有垂直的滾輪

Windows.Devices.Input.MouseCapabilities MouseCapabilities = new Windows.Devices.Input.MouseCapabilities();

 String info = string.Format("There is {0} mouse present\n", MouseCapabilities.MousePresent != 0 ? "a" : "no");
 info += string.Format("There is {0} vertical mouse wheel present\n", MouseCapabilities.VerticalWheelPresent != 0 ? "a" : "no");
 info += string.Format("There is {0} horizontal mouse wheel present\n", MouseCapabilities.HorizontalWheelPresent != 0 ? "a" : "no");
 info += string.Format("The user has {0}opted to swap the mouse buttons\n", MouseCapabilities.SwapButtons != 0 ? "" : "not ");
 info += string.Format("The mouse has {0} button(s)\n", MouseCapabilities.NumberOfButtons);
 

TouchCapabilities

獲得連接的觸摸數字化儀的功能

Contats 表明支持所有數字化儀的最小聯系人數量

TouchPresent 表明當前終端是否有數據化儀

Windows.Devices.Input.TouchCapabilities TouchCapabilities = new Windows.Devices.Input.TouchCapabilities();

 String info = string.Format("There is {0} digitizer present\n", TouchCapabilities.TouchPresent != 0 ? "a" : "no");
info += string.Format("The digitizer supports {0} contacts\n", TouchCapabilities.Contacts);
 

PointerDevice

識別連接的指針設備及它們的功能

var PointerDeviceList = Windows.Devices.Input.PointerDevice.GetPointerDevices();
            string device="";
            foreach (Windows.Devices.Input.PointerDevice PointerDevice in PointerDeviceList)
            {
                 if (PointerDevice.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Mouse)
                {
                    device ="mouse";
                }
                else if (PointerDevice.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Pen)
                {
                    device= "pen";
                }
                else
                {
                    device= "touch";
                } 
            }
 
今天就看了一點輸入設備的功能用法,研究SMS收發信息的功能時,卻被剛開始的SmsDevice.GetDefaultAsync()獲取信息設備給絆住了,報的錯誤是”服務尚未啟動。 (異常來自 HRESULT:0x80070426) ”,不知道是不是要先開啟什么,望知者還能提醒一番^_^


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM