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
Visual studio之C# 调用系统软键盘(外部"osk.exe")的更多相关文章
- 系统软键盘">Android在外接物理键盘时,如何强制调用系统软键盘?
第一次写,写的不好请见谅 物理键盘映射过程: 手机/system/usr/keylayout/*.kl :内核将keyCode映射成有含义的字符串KeycodeLabels.h : framework ...
- Android调用系统软键盘
/** * * @MethodName:closeInputMethod * @Description:关闭系统软键盘 * @throws */ public void closeInputMetho ...
- .net调用系统软键盘(兼容win7及win10)
没有什么技术说明,也是查询出来的,在此做记录 public class StartKeyBoard { public static bool isShowNumBoard = fa ...
- Visual studio之C#实现数字输入模拟键盘
背景 当前做的一个上位机需运行在工控机上,众所周知,工控机不可能配备键盘,只能是触屏,而我当前的上位机需要输入参数,于是之前的解决办法既是调用Windows自带的OSK.exe虚拟键盘,方法在我的另一 ...
- android制,点击EditText时刻,隐藏系统软键盘,显示光标
由于项目中要用自己定义的随机键盘,所以必须得屏蔽系统软键盘,可是在4.0的測试系统来看,使用editText.setInputType(InputType.TYPE_NULL)方法固然能隐藏键盘,可是 ...
- Android之弹出/隐藏系统软键盘
Android弹出/隐藏系统软键盘的代码如下: InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT ...
- Visual Studio 2017 调试器的工作进程(msvsmon.exe)意外退出 调试将终止
开发环境: Windows 10 in Parallels Desktop Visual Studio 15.6 场景还原: 使用 Visual Studio 15.6 (即 Visual Studi ...
- 在visual studio 2010中调用ffmpeg
转自:http://blog.sina.com.cn/s/blog_4178f4bf01018wqh.html 最近几天一直在折腾ffmpeg,在网上也查了许多资料,费了不少劲,现在在这里和大家分享一 ...
- js调用系统虚拟键盘
<input type="text" id="tt" /> <script language="javascript" t ...
随机推荐
- 输入输出格式之Python版
# 有多组输入数据,但没有具体的告诉你有多少组,只是让你对应每组输入,应该怎样输出. while True: try: a, b = map(int, raw_input().strip().spli ...
- 【BZOJ 1036】【ZJOI 2008】树的统计Count
http://www.lydsy.com/JudgeOnline/problem.php?id=1036 复习了一下好写好调的lct模板啦啦啦--- #include<cstdio> #i ...
- [CODECHEF]TREECNT2
题意:一棵带边权的树,边权可单边修改,问初始时和每次修改后有多少条路径$\gcd=1$ 首先考虑用反演求答案,设$f(n)$为路径$\gcd=n$的路径条数,$g(n)$为路径$\gcd$是$n$倍数 ...
- 【概率DP】BZOJ4318-OSU!
[题目大意] 一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的01串.在这个串中连续的 X个1可以贡献X^3 的分数,这x个1不能被其他连续的1所包含( ...
- 【高精度】POJ1001-Exponentiation
整个题库的第二题,原本都没有屑于去做,突发奇想抱着秒杀的心态去写了代码,却硬生生地吃了4个WA.. [思路]先去除掉小数点,进行最基本的高精度乘法运算,再在运算得到的结果中添加小数点输出. [前铺]让 ...
- HMACSHA1算法的JAVA实现
import javax.crypto.Mac; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; publ ...
- Eclipse环境安装C/C++插件CDT和Eclipse安装的插件卸载(删除)
http://blog.csdn.net/typa01_kk/article/details/49252513
- Inno Setup入门(二十四)——Inno Setup类参考(10)
这里介绍一下FolderTreeView 类. TFolderTreeView = class(TCustomFolderTreeView) property OnChange: TNotifyE ...
- Web API使用记录系列(三)Web API与Owin
还好在坚持,今天继续更新第三篇随笔----使用owin来启动WebAPI(这里还是以IIS为宿主,当然也可以使用别的如Console.Windows Server等) 关于OWIN(Open Web ...
- 【spring data jpa】根据一个时间字段 查询 时间段的处理方法
处理方法 包含结束时间00.00.00 Date createDate = boxCodeLog.getCreateDate(); if (createDate != null){ LocalDat ...