C# surface 屏幕键盘

当前市场下,Windows平板一般搭载的win10 或win8系统, 本文主要是针对平板上不知什么时候触发屏幕键盘,因为,有时候平板会有外接键盘,如果有外接键盘,又触发屏幕键盘的话,又不对了;

屏幕键盘有两种:osk  和 taptip


启动 osk 代码为:Process.Start("osk");

启动taptip代码为:

        var tip=Process.GetProcesses().FirstOrDefault(o=>o.ProcessName.Equals("TabTip"));
if(tip!=null) tip.Kill();

Process.Start(@"C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe");

        如果TabTip线程在运行的话,直接启动不会显示到桌面,所以启动前先关闭一下在启动;


启动前判断是否有外接键盘(因为本人主要使用的是surface,所以代码只针对surface外接键盘):

var sys=new ManagementClass("Win32_ComputerSystem").GetInstances().Cast<ManagementObject>().FirstOrDefault();
var modelName=sys.Properties.Cast<PropertyData>().FirstOrDefault(o=>o.Name.Equals("Model")).Value.ToString().ToLower().Dump();
if(!modelName.Contains("surface")) return;
var keyboard=new ManagementClass("Win32_Keyboard").GetInstances().Cast<ManagementObject>().FirstOrDefault();
 if(keyboard.Properties.Count>23) return;
var file = "C:\\Program Files\\Common Files\\microsoft shared\\ink\\TabTip.exe";
        if (!System.IO.File.Exists(file))  return;
       var tip=Process.GetProcesses().FirstOrDefault(o=>o.ProcessName.Equals("TabTip"));
if(tip!=null) tip.Kill();
Process.Start(file).Dump();







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值