切换windows系统输入法的中英文,可以忽视是哪种打字法
调用windows的API
//用户获取当前输入法句柄
[DllImport("imm32.dll")]
public static extern IntPtr ImmGetContext(IntPtr hWnd); //用于获取当前输入法的状态
[DllImport("imm32.dll")]
public static extern bool ImmGetConversionStatus(IntPtr hIMC,
ref int conversion, ref int sentence); //用于设置输入法的状态
[DllImport("imm32.dll")]
public static extern bool ImmSetConversionStatus(IntPtr hIMC, int conversion, int sentence);
有了这三个方法之后,设置系统的输入如法就很方便,下面是参数相关的一些内容
双打模式(包括单双混合,比如微软输入法)
| 输入法状态 | mode值 |
| 中文输入-半角-中文符号 | -2147482623 |
| 中文输入-全角-中文符号 | -2147482615 |
| 中文输入-半角-英文符号 | -2147483647 |
| 中文输入-全角-英文符号 | -2147483839 |
| 英文输入-半角-中文符号 | -2147482624 |
| 英文输入-全角-中文符号 | -2147482616 |
| 英文输入-半角-英文符号 | -2147483648 |
| 英文输入-全角-英文符号 | -2147483640 |
标准模式(全拼模式,比如智能ABC的标准模式)
| 输入法状态 | mode值 |
| 中文输入-半角-中文符号 | 1025 |
| 中文输入-全角-中文符号 | 1033 |
| 中文输入-半角-英文符号 | 1 |
| 中文输入-全角-英文符号 | 9 |
| 英文输入-半角-中文符号 | 1024 |
| 英文输入-全角-中文符号 | 1032 |
| 英文输入-半角-英文符号 | 0 |
| 英文输入-全角-英文符号 | 8 |
这样就可以设置我们想要设置的打字法模式了,下面是我的一个demo,当输入的是中文,就让打字法继续为中文输入模式,是英文就继续为英文模式
private void textBox1_TextChanged(object sender, EventArgs e)
{
Regex reg = new Regex(@"[\u4e00-\u9fa5]");
string temp = textBox1.Text;
string lastStr = temp.Substring(temp.Length - , );
IntPtr prt = ImmGetContext(this.Handle);
int curIMode = ;
int curISentence = ;
ImmGetConversionStatus(prt,ref curIMode,ref curISentence);
if (reg.IsMatch(lastStr)&&(curIMode!=||curISentence!=))
{
//如果是中文则切换成中文输入
int iMode = ;
int iSentence = ;
if (!ImmSetConversionStatus(prt, iMode, iSentence))
{
MessageBox.Show("change error");
}
}
else if(!reg.IsMatch(lastStr)&&(curIMode!=||curISentence!=))
{ //是英文则切换成英文输入
int iMode = ;
int iSentence = ;
if (!ImmSetConversionStatus(prt, iMode, iSentence))
{
MessageBox.Show("change error");
}
}
}
切换windows系统输入法的中英文,可以忽视是哪种打字法的更多相关文章
- Windows系统中监控文件复制操作的几种方式
http://blog.sina.com.cn/s/blog_4596beaa0100lp4y.html 1. ICopyHook 作用: 监视文件夹和打印机移动,删除, 重命名, 复制操作. 可以得 ...
- [转]Windows系统中监控文件复制操作的几种方式
1. ICopyHook 作用: 监视文件夹和打印机移动,删除, 重命名, 复制操作. 可以得到源和目标文件名. 可以控制拒绝操作. 缺点: 不能对文件进行控制. 只对Shell文件操作有效, 对原生 ...
- Mac 切换Windows 使用虚拟机, 不推荐双系统
为什么使用虚拟机而不是双系统? 1.虚拟机可以随时在两个系统之间进行切换,便于在工作时使用而不影响效率.如果是双系统,在切换到另一个系统时需要关机重启,太过麻烦. 2.虚拟机除了运行Windows之 ...
- windows系统快捷操作の基础篇
从网上汇总了一些windows系统上常用的快捷键,结合自己的使用经验,将平时使用电脑时最常用的快捷键记录在此.注意这里罗列的是平时最常用到的,其他的一般来说不怎么用到的并不在此列,如果想要完整列表,请 ...
- win8系统输入法设置
Windows 8系统自带微软拼音简捷输入法,无论是在Windows的开始屏幕新界面中还是Windows传统桌面里,按Shift键或者直接点击屏幕上的"中/英"标识即可切换中英文输 ...
- Windows 10输入法已禁用IME无法输入中文怎么办
Windows 10输入法已禁用IME无法输入中文怎么办 | 浏览:10453 | 更新:2015-03-01 14:46 | 标签:windows 1 2 3 4 5 分步阅读 Windows10系 ...
- 转载请注明:Windows 系统必备好用软件&工具合集跟推荐 | 老D博客
Windows 系统必备好用软件&工具合集跟推荐 97 63,371 A+ 所属分类:工具软件 一.浏览器 二.下载软件 三.播放软件 五.电子邮件客户端 六.图片/照片 浏览查看工具 七.文 ...
- windows系统快捷操作の高级篇
上次介绍了windows系统上几个比较好用的软件和系统快捷键,虽然有些很方便,但是毕竟还是太少了,而且无法自定义专属于自己的快捷键.所以我写了这么一篇教程,主要介绍两个神器:windows平台上的au ...
- 如何用python在Windows系统下,生成UNIX格式文件
平时测试工作中,少不了制造测试数据.最近一个项目,我就需要制造一批可在UNIX下正确读取的文件.为确保这批文件能从FTP下载成功,开发叮嘱我:“文件中凡是遇到换行,换行符必须是UNIX下的LF,而不是 ...
随机推荐
- SQL Server 删除日志文件
-- 查询日志文件名,用于下面删除 USE [data_name] GO SELECT file_id, name FROM sys.database_files /*删除指定数据库的日志文件*/ U ...
- 如何使用Spring Securiry实现前后端分离项目的登录功能
如果不是前后端分离项目,使用SpringSecurity做登录功能会很省心,只要简单的几项配置,便可以轻松完成登录成功失败的处理,当访问需要认证的页面时,可以自动重定向到登录页面.但是前后端分离的项目 ...
- 2019 Red PCB KESS V5.017:支持140协议
2019红色PCB KESS V5.017 是一种流行的汽车ECU的编程器.这里分享一下这个设备的信息. KESS V2介绍: 型号名称:KESS V2 Master软件版本:V2.47(最新)固件版 ...
- kmp算法原理与应用(简单易懂)
- AcWing:144. 最长异或值路径(dfs + 01字典树)
给定一个树,树上的边都具有权值. 树中一条路径的异或长度被定义为路径上所有边的权值的异或和: ⊕ 为异或符号. 给定上述的具有n个节点的树,你能找到异或长度最大的路径吗? 输入格式 第一行包含整数n, ...
- RabbitMQ TTL、死信队列
TTL概念 TTL是Time To Live的缩写,也就是生存时间. RabbitMQ支持消息的过期时间,在消息发送时可以进行指定. RabbitMQ支持队列的过期时间,从消息入队列开始计算,只要超过 ...
- python3网络编程
网络编程(定义) 网络编程的本质就是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机,数据传递本身 没有多大难度,不就是把一个设备中的数据发送给一个设备,然后接收另一个设备的反馈的数据. ...
- [CSP-S模拟测试]:那一天我们许下约定(DP+组合数学)
题目传送门(内部题2) 输入格式 每个测试点有多组测试数据.对于每组数据,有一行共三个整数$N$,$D$,$M$含义如题.输入结束标识为$“0 0 0”$ (不含引号). 输出格式 对于每组数据,输出 ...
- js获取当前页面url信息
<html> <head> <meta charset="utf-8" /> <title></title> <s ...
- BZOJ1706奶牛接力跑
这个东西思路还是不错的. 解法就是把矩阵幂的加法改成取min,乘法改成加法就好,和floyed是一样的.这样的话,矩阵操作一次就相当于松弛了一次最短路. 建矩阵的过程也比较简单,可以离散化,当然下面有 ...