zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    网络--会话层、表示层、应用层
    Unix C
    操作系统原理
    TCP/UDP
    config OSX firewall programmatically
    Objective-C 浅谈
    OS X background process
    CreateProcessWithToken 1058 error
    WebBrowser keystroke
    MFC加载PNG图片并实现双缓冲
  • 原文地址:https://www.cnblogs.com/ChYQ/p/6825908.html
Copyright © 2011-2022 走看看