900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > c# 检测中英输入法_C# Winform 中如何获取本机安装输入法 并设置为默认输出语言

c# 检测中英输入法_C# Winform 中如何获取本机安装输入法 并设置为默认输出语言

时间:2021-11-13 01:08:41

相关推荐

c# 检测中英输入法_C# Winform 中如何获取本机安装输入法 并设置为默认输出语言

一、问题:

今天,我整理了一下两个问题

1、如何获取本机安装所有输入法,并设置为系统输出语言

2、如何打开搜狗拼音输入法工具栏和手写板:

二、解决方法

比如:我们要设置搜狗输入法为本机输入语言,要怎么用代码实现呢?

//获取所有安装的输入法

InputLanguageCollection langs =InputLanguage.InstalledInputLanguages;//循环遍历输入法集合

foreach (InputLanguage lang inlangs)

{//如果是搜狗输入法

if (lang.LayoutName == "中文(简体) - 搜狗拼音输入法")

{//设置系统默认选中搜狗输入法

InputLanguage.CurrentInputLanguage =lang;

}

}

比如:我们要打开搜狗输入法工具栏和手写板,要怎样用程序代码打开呢?

//启动手写程序

System.Diagnostics.Process.Start(@"C:\Program Files (x86)\SogouInput\Components\HandInput\1.1.0.282\HandInput.exe");//启动输入法工具

System.Diagnostics.Process.Start(@"C:\Program Files (x86)\SogouInput\8.4.0.1039\SGTool.exe");

Ps: 打开搜狗输入法工具和手写需先安装搜狗输入法,确保版本一致(将上面版本对应文件夹名称改成你本机的名称就行了)

三、整合例子

1、界面设计

button类: btnGetInput、 btnSetInput 、btnOpenHand、 btnOpenInput

listbox类: list_showInput

Ps: 打开输入法的手写板和输入法前提保证版本一致

2、整体代码实现

usingSystem;usingSystem.Collections.Generic;ponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceWindowsForms

{public partial classForm2 : Form

{publicForm2()

{

InitializeComponent();

}///

///获取本地安装的输入法///

///

///

private void btnGetInput_Click(objectsender, EventArgs e)

{//获取本机安装的所有输入法

InputLanguageCollection langs =InputLanguage.InstalledInputLanguages;//循环遍历所有输入法

foreach (InputLanguage lang inlangs)

{//判断listbox是否存在重复值

if (!this.list_showInput.Items.Contains(lang.LayoutName))

{//添加到listbox里面

this.list_showInput.Items.Add(lang.LayoutName);

}

}

}///

///设置选中输入法为系统默认输入法///

///

///

private void btnSetInput_Click(objectsender, EventArgs e)

{//获取本机安装的所有输入法

InputLanguageCollection langs =InputLanguage.InstalledInputLanguages;//判断listbox选中集合必须大于0

if (this.list_showInput.SelectedItems.Count > 0)

{//选中listbox选中的值

string selectedText = this.list_showInput.SelectedItem.ToString();//遍历输入法

foreach (InputLanguage lang inlangs) {if (lang.LayoutName ==selectedText) {//设置系统默认选中输入法

InputLanguage.CurrentInputLanguage =lang;

}

}

}else{

MessageBox.Show("未选中输入法,请选择!");

}

}///

///打开搜狗输入法的手写板///

///

///

private void btnOpenHand_Click(objectsender, EventArgs e)

{try{//获取手写板按钮的值

string handText = this.btnOpenHand.Text;if (handText == "打开手写板")

{//启动手写程序

System.Diagnostics.Process.Start(@"C:\Program Files (x86)\SogouInput\Components\HandInput\1.1.0.282\HandInput.exe");}

}catch(Exception)

{

MessageBox.Show("未安装搜狗输入法的手写板,无法打开!");return;

}

}///

///打开搜狗输入法程序///

///

///

private void btnOpenInput_Click(objectsender, EventArgs e)

{try{//获取输入法按钮的值

string inputText = this.btnOpenInput.Text;if (inputText == "打开输入法")

{//启动输入法工具

System.Diagnostics.Process.Start(@"C:\Program Files (x86)\SogouInput\8.4.0.1039\SGTool.exe");

}

}catch(Exception)

{

MessageBox.Show("未找到特定版本的搜狗输入法,无法打开!");return;

}

}

}

}

3、界面演示

1)获取本机安装的所有输入法

2)设置默认输入法为输出语言(选中输入法)

设置输入法后,显示效果

3、打开手写板功能

点击按钮,打开搜狗输入法程序

4、打开输入法工具栏

这种情况是输入法的工具栏找不到,可以通过这个打开

点击按钮后,打开输入法工具栏

c# 检测中英输入法_C# Winform 中如何获取本机安装输入法 并设置为默认输出语言 如何打开搜狗输入法和手写板...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。