Dot Net中InputLanguage对象的使用限制

简介:

在Dot Net中,InputLanguage对象是“提供方法和字段以管理输入语言。无法继承此类。”

  InputLanguage对象中InstalledInputLanguages方法获得系统已经安装的输入法;CurrentInputLanguage方法是获取或设置当前输入法;DefaultInputLanguage方法是获取系统的默认输入法。通过InputLanguage对象的这三个方法,可以设置指定的输入法。

  而在笔者将程序给他人使用时,却意外的在其中一台机器上报错。由于是已经编译好的程序,而且又不在笔者的身边,故只知道是InputLanguage对象出了问题,而具体的错误编号不知道。

  通过QQ远程观看了错误的提示后,第一感觉就是他没有装中文输入法。可是,他明明装了输入法,有搜狗、QQ拼音等。输入法使用也正常。

  出于直觉,查看他的“文字服务和输入语言”窗口。正常的应该象下面一样。

  可是意外的现象出现了,在他的电脑上这个是一片空白,下面提示一行字“检测到不兼容的键盘驱动程序该对话框已经被禁用”。

  在网上搜了搜解决方法。发现由于种种原因,系统注册表中HKEY_LOCAL_MACHINE\SYSTEMCurrentControlSet\Control\Keyboard Layouts的键值下的内容全被删除了。

  详情参看“文字服务和输入语言的选项显示空白”。

  按照上文的方法,将缺失的注册表部分导入到他的系统中。OK!解决了。不再报错。

  由此可以知道,InputLanguage对象是通过访问注册表来控制输入法的。一旦注册表的内容有误。也就导致了错误的产生。

  不过,难以理解的是为何注册表出错,而输入法却能正常使用。


    本文转自万仓一黍博客园博客,原文链接:http://www.cnblogs.com/grenet/archive/2010/07/14/1777162.html,如需转载请自行联系原作者

相关文章
|
容器
.NET Core-作用域与对象释放行为详解
.NET Core-作用域与对象释放行为详解
|
开发框架 .NET API
ASP.NET Core Web中使用AutoMapper进行对象映射
ASP.NET Core Web中使用AutoMapper进行对象映射
155 1
.NET开发中合理使用对象映射库,简化和提高工作效率
.NET开发中合理使用对象映射库,简化和提高工作效率
252 0
|
JSON 数据格式
.NET Core - 配置绑定:使用强类型对象承载配置数据
.NET Core - 配置绑定:使用强类型对象承载配置数据
|
容器
.NET Core作用域与对象释放行为详解
上节,我们提到,容器中有3种不同生命周期,分别是Singleton、Scoped和Transient。那么,你知道这3种类型的对象的释放时机和坑吗?
|
SQL 存储 缓存
SQl Server——ADO.NET五大对象
在某些编程中总是会需要用到数据库,那如何让应用程序和数据库之间建立联系呢?ADO.NET就提供了应用程序连接数据库的桥梁
|
机器学习/深度学习 人工智能 计算机视觉
YOLOv7 在 ML.NET 中使用 ONNX 检测对象
本文介绍如何在 ML.NET 中使用 YOLOv7 的 ONNX 模型来检测图像中的对象。
669 0
YOLOv7 在 ML.NET 中使用 ONNX 检测对象
C#编程-64:ADO.NET对象模型复习笔记
C#编程-64:ADO.NET对象模型复习笔记
106 0
C#编程-64:ADO.NET对象模型复习笔记
|
存储 C#
【.Net底层剖析】2.stfld指令-给对象的字段赋值
【.Net底层剖析】2.stfld指令-给对象的字段赋值
229 0
【.Net底层剖析】2.stfld指令-给对象的字段赋值
|
存储 SQL 数据库连接
浅谈ADO.NET中的对象——Connection、Command、DataReader、DataAdapter、DataSet、DataTable
可能是当初没有好好总结的缘故,学习.NET以来,对ADO.NET中的对象一直有些模糊,今天重新回顾了一下,通过查资料,总结,结合自己的观点整理一下ADO.NET中Connection、Command、DataReader、DataAdapter、
浅谈ADO.NET中的对象——Connection、Command、DataReader、DataAdapter、DataSet、DataTable