基本上我想編寫一個應用程序來顯示當前語言作爲托盤圖標。主要是我可以編寫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