(一)声明外部方法

[DllImport("User32.dll")]
        public static extern void keybd_event(byte bVK, byte bScan, Int32 dwFlags, int dwExtraInfo);

(二)首先通过切换输入法来说实现中文输入。即键盘CTRL+空格键切换输入法。

//切换输入法
        private void changeInput()
        {
            //keybd_event函数的四个参数
            //第一个参数:虚拟键码(键盘键码对照表见附录);
            //第二个参数:硬件扫描码,一般设置为0即可;
            //第三个参数:函数操作的一个标志位,如果值为KEYEVENTF_EXTENDEDKEY则该键被按下,也可设置为0即可,如果值为KEYEVENTF_KEYUP则该按键被释放;
            //第四个参数:定义与击键相关的附加的32位值,一般设置为0即可。

//以下通过按下Ctrl+空格键切换输入法

keybd_event(0x11, 0, 0, 0);  //0x11---ctrl  按下
            keybd_event(32, 0, 0, 0); // 32--空格键按下
            keybd_event(32, 0, 0x02, 0);// 32--空格键弹起
            keybd_event(0x11, 0, 0x02, 0); //0x11---ctrl弹起

}

(三)当在中文输入状态时,在输入字母时,直接利用keybd_event模拟键盘输入,屏幕上会弹出当前使用的中文输入法的界面面板,并在其上列出可能的输入词汇。

private static void addNumkeyINput(byte input)
        {
                    keybd_event(input, input, 0, 0);
                    keybd_event(input, input, 0x02, 0);
        }

(四)理论上,通过keybd_event输入数字键,从可能的输入中文词汇中选择相应的结果即可。问题来啦:对于微软自带的拼音输入法,无法通过keybd_event输入数字来选择,(原因??)不过还好的是,发现若使用搜狗输入法,则可以用keybd_event输入数字来选择。

c#中利用keybd_event函数+自定义软键盘实现中文输入时的问题相关推荐

  1. Py之matplotlib:在matplotlib库中利用legend函数创建自定义图例(代码实现)

    Py之matplotlib:在matplotlib库中利用legend函数创建自定义图例(代码实现) 目录 matplotlib库中利用legend函数创建自定义图例 原始图像 在原始图像上创建自定义 ...

  2. Android 自定义软键盘实现 数字九宫格

    前言 最近项目在对接美团外卖功能 实现外面小哥凭取货码取货 对接完功能后 用户反馈 弹出的软键盘 很难输入 数字太小了 大概是下面这种显示方式 需求 组长说 要不搞一个自定义软键盘吧 数字搞大点 方便 ...

  3. Android使用xml自定义软键盘效果(附源码)

    Android使用xml自定义软键盘效果原理: 1,软键盘其实是个控件,使用android.inputmethodserver.KeyboardView类定义. 2,主布局中使用帧布局,当我们需要显示 ...

  4. C++关于利用_kbhit()函数持续获取键盘输入的一点心得。

    #C++关于利用_kbhit()函数持续获取键盘输入的一点心得. 小白路过想写个贪吃蛇玩玩,当用链表把贪吃蛇结构连起来后自然就想到了移动控制的问题.写来写去代码总是出错,贪吃蛇只有一直按着方向键才能移 ...

  5. android keyboard颜色,Android基于KeyboardView和Keyboard实现自定义软键盘 自定义键盘背景色...

    Android基于KeyboardView和Keyboard实现自定义软键盘 在一些特别的情况下我们需要去自定义键盘 例如: 银行app的密码输入之类的 笨方法就是直接使用布局写我们的自定义软键盘 但 ...

  6. Android基于KeyboardView和Keyboard实现自定义软键盘 自定义键盘背景色

    Android基于KeyboardView和Keyboard实现自定义软键盘 在一些特别的情况下我们需要去自定义键盘 例如: 银行app的密码输入之类的 笨方法就是直接使用布局写我们的自定义软键盘 但 ...

  7. ffmpeg php 快速播放,怎么在PHP中利用FFmpeg函数对视频播放的时长进行获取

    怎么在PHP中利用FFmpeg函数对视频播放的时长进行获取 发布时间:2020-12-18 16:02:20 来源:亿速云 阅读:96 作者:Leah 这篇文章给大家介绍怎么在PHP中利用FFmpeg ...

  8. spring mvc项目中利用freemarker生成自定义标签

    2019独角兽企业重金招聘Python工程师标准>>> spring mvc项目中利用freemarker生成自定义标签 博客分类: java spring mvc +freemar ...

  9. 在 Apache Spark 中利用 HyperLogLog 函数实现高级分析

    在 Apache Spark 中利用 HyperLogLog 函数实现高级分析 预聚合是高性能分析中的常用技术,例如,每小时100亿条的网站访问数据可以通过对常用的查询纬度进行聚合,被降低到1000万 ...

最新文章

  1. 霍夫变换检测圆c 语言,c – 使用Hough变换检测圆
  2. c5.0 java_机器学习-AdaBoosting及其Java实现
  3. HSSFDataFormat大全
  4. 在CentOS上安装Python3的三种方法
  5. oracle connect权限6,Oracle 19c 升级19.6 RU 导致权限异常 gipcInternalConnectSync: failed sync request 解决方法...
  6. R语言中级--自定义方程
  7. [react] constructor和getInitialState有不同?
  8. yii2 mysql查询_Yii2 数据库查询汇总
  9. 通过路由远程计算机重启,路由器怎么重启?这几种方法教你重启怎么弄!
  10. Asp.net中Application Session Cookie ViewState Cache
  11. Python的类成员函数、静态函数和成员的函数的比较
  12. 卫星地图上,深圳梧桐山这一条白线是什么
  13. php读取excel 报错_PHP读取Excel里的文件
  14. 基于springboot网上购物商城系统设计与实现
  15. 遥感原理与应用-基本概念
  16. 用python制作特效_python 制作影视动画、电影特效工具
  17. MATLAB突然打不开,窗口闪一下就退了,一种亲试解决方法:
  18. 加密与解密(一) -- 壳、加壳
  19. 同花顺没签三方要赔钱才能拿回三方!!!!
  20. 新用户域名实名认证教程---金万维

热门文章

  1. 51单片机+oled+ds18b20检测并显示温度第三篇:配置温度检测ds18b20
  2. 【图像去模糊】Rethinking Coarse-to-Fine Approach in Single Image Deblurring
  3. orientdb实战
  4. 多易教育KAFKA实战(2)-java生产者客户端API示例代码
  5. 常用做题的不定积分公式
  6. OUC2021秋-计算机网络-期末(回忆版)
  7. 华夏芯闪耀登场第四届“芯动北京“论坛
  8. Tkinter Cursors
  9. windows 安装ninja
  10. oracle 大表删除数据后,回收空间的问题。