基本上我想编写一个应用程序来显示当前语言作为托盘图标。主要是我可以编写C++和C#。猜猜谷歌会帮助我,但我想先问这里,因为社区,这里的知识是我信任的东西。在托盘栏中显示当前的语言布局
(决不系统的这些部分到目前为止发生了口角。所以这就是为什么我想问一下社会。)
好感谢你的帮助,我好不容易才发现的两种方式。在C#中使用DllImport
(导入user32.dll
)和InputLanguage
。
实测值的代码段:
public void SetNewCurrentLanguage() {
// Gets the default, and current languages.
InputLanguage myDefaultLanguage = InputLanguage.DefaultInputLanguage;
InputLanguage myCurrentLanguage = InputLanguage.CurrentInputLanguage;
textBox1.Text = "Current input language is: " + myCurrentLanguage.Culture.EnglishName + '\n';
textBox1.Text += "Default input language is: " + myDefaultLanguage.Culture.EnglishName + '\n';
// Changes the current input language to the default, and prints the new current language.
InputLanguage.CurrentInputLanguage = myDefaultLanguage;
textBox1.Text += "Current input language is now: " + myDefaultLanguage.Culture.EnglishName;
}
我应用这个类似如下:
InputLanguage myCurrentLanguage = InputLanguage.CurrentInputLanguage;
notifyIcon.Text = myCurrentLanguage.LayoutName + '\n' + myCurrentLanguage.Culture.DisplayName;
这将显示它,如果将鼠标悬停它上面的图标。但是,它不会在开关上进行更新,也不会将布局显示为托盘区域中的文本。为此,我找到了一个“Drawing in VB.NET”文章,也许这会帮助我解决这个问题。关于开关检测,这是一个很好的问题。
好的,如果给出“-1”,请考虑告诉我如何改进问题。这个问题也困扰着其他人。谢谢。 – Shiki 2010-06-22 06:41:01
如何谷歌第一,并尝试编写这样一个程序,当你遇到一个特定的问题,你不能解决然后问这里的问题。 – Gary 2010-06-22 06:42:34
因为Google上的答案通常是由未知人员撰写的。我希望得到一个值得信任,可以编码的人,以及谁知道他在做什么的“开始帮助”。 (无论如何,我的Google-fu越来越差,我猜是因为我找不到解决方案。) – Shiki 2010-06-22 06:44:26