博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c# 如何调用win8自带的屏幕键盘(非osk.exe)
阅读量:4075 次
发布时间:2019-05-25

本文共 1688 字,大约阅读时间需要 5 分钟。

 
private const Int32 WM_SYSCOMMAND = 274;        private const UInt32 SC_CLOSE = 61536;        [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]        private static extern bool PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam);        [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]        private static extern bool PostMessage(IntPtr hWnd, int Msg, uint wParam, uint lParam);        [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]        private static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);        [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]        private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]        private static extern int RegisterWindowMessage(string lpString);         //显示屏幕键盘        public static int ShowInputPanel()        {            try            {                dynamic file = "C:\\Program Files\\Common Files\\microsoft shared\\ink\\TabTip.exe";                if (!System.IO.File.Exists(file))                    return -1;                Process.Start(file);                return SetUnDock();            }            catch (Exception)            {                return 255;            }        }         //隐藏屏幕键盘        public static void HideInputPanel()        {            IntPtr TouchhWnd = new IntPtr(0);            TouchhWnd = FindWindow("IPTip_Main_Window", null);            if (TouchhWnd == IntPtr.Zero)                return;            PostMessage(TouchhWnd, WM_SYSCOMMAND, SC_CLOSE, 0);        }

转载地址:http://uzjni.baihongyu.com/

你可能感兴趣的文章
Golang 数据可视化利器 go-echarts ,实际使用
查看>>
mysql 跨机器查询,使用dblink
查看>>
mysql5.6.34 升级到mysql5.7.32
查看>>
dba 常用查询
查看>>
Oracle 异机恢复
查看>>
Oracle 12C DG 搭建(RAC-RAC/RAC-单机)
查看>>
Truncate 表之恢复
查看>>
为什么很多程序员都选择跳槽?
查看>>
医疗行业运用企业云盘可以带来什么样的提升
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成(一)
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成 - 单机部署(二)
查看>>
C#控件集DotNetBar安装及破解
查看>>
Winform多线程
查看>>
C# 托管与非托管
查看>>
Node.js中的事件驱动编程详解
查看>>
mongodb管理与安全认证
查看>>
nodejs内存控制
查看>>
MongoDB 数据文件备份与恢复
查看>>
MongoDB数据库插入、更新和删除操作详解
查看>>
MongoDB文档(Document)全局唯一ID的设计思路
查看>>