Visual studio之C# 调用系统软键盘(外部"osk.exe")

背景

App需要调用系统软键盘输入数据,自己去实现软键盘有些复杂,现在又是急需,没时间去研究实现软键盘,所以只能调用系统软键盘。

正文

需要添加命名空间,

using System.Diagnostics;

在系统中打开系统软键盘,

Process kbpr = System.Diagnostics.Process.Start("osk.exe"); // 打开系统键盘

kbpr既是该软键盘的进程句柄。

若是需要关闭该软键盘,

if (!kbpr.HasExited)
{
        kbpr.Kill();
}

此处一定要询问kbpr进程是否退出(用户直接点击关闭软键盘),如若软键盘已被关闭,还执意调用kbpr.Kill(),就会报错该进程不存在。

若要开启该软键盘,

if (kbpr.HasExited)
{
        kbpr = System.Diagnostics.Process.Start("osk.exe");
}

同样需要询问kbpr进程是否已经开启,确保不会重复调用osk.exe程序。
此处需要注意的是kbpr进程一开始没有赋值不能对其进行操作,否则会报错该句柄未初始化不可使用之类的错误。

至此记录完毕。

参考链接

记录时间:2017-5-8
记录地点:深圳WZ

posted @ 2017-05-08 17:21  Ch_Y_Q  阅读(12652)  评论(0编辑  收藏  举报