2012-05-19 21 views
1

環境 - C#,.NET 4.0,WPF,VS2010需要.NET解決方案,以檢測是否 「東亞語言」 被安裝在Windows XP

我有支持多種文化/語言的一個簡單的Windows應用程序。當用戶選擇日文,韓文,中文(簡體)或中文(繁體)時,Windows XP將在字形位置顯示有趣的「正方形」或「塊」字符。在Windows Vista 7或8上不會發生此問題。

作爲解決方案,我建議您轉到「控制面板|區域和語言選項」,選擇「語言」選項卡,然後選中「爲東亞語言安裝文件「。

這確實解決了我的機器的問題。現在我明白,選擇「日本人」的日本用戶很可能已經安裝了必要的資源,他們很可能不會遇到這個問題。

但是......我需要檢測東亞語言是否已安裝運行我的應用程序在任何Windows XP計算機上的能力。在這種情況下,我將能夠顯示一個消息框,通知他們安裝語言......或者我可能會決定隱藏日文,韓文,中文(簡體)和中文(繁體)文化/語言選擇。

因此......如何檢測Windows XP是否安裝了必要的東亞語言文件?我更喜歡.NET解決方案,但我願意在必要時進行API調用。

JP

回答

0

你可以重複這樣的:

 foreach (System.Windows.Forms.InputLanguage p in System.Windows.Forms.InputLanguage.InstalledInputLanguages) 
      Console.WriteLine(p.Culture.EnglishName); 

它會顯示你在找什麼。

+1

這會告訴你,如果* INPUT *被支持,即使輸入不支持,顯示器也可能被支持。這個Windows XP實例安裝了字體,但沒有相應的輸入法 - 我希望能夠以中文顯示電子郵件,我的妻子將通過電話回答,因此不需要輸入編輯器。 –

+0

不可以。不要使用Windows.Forms,因爲它完全在.NET 4.5中被刪除 –

+0

@ColeJohnson,誰說的?所有WinForms的東西仍然可以在.NET 4.5中使用。如果微軟做出這樣的決定,那將是愚蠢的。 –

0

我還沒有試過,但我的傾向是簡單地去嘗試 - 在東亞語言畫點什麼,並檢查結果。你有盒子嗎?

編輯:顯然,有些人並沒有意識到我的意思是繪製文本,然後有代碼檢查結果。我不是指人眼球測試!

+0

他想以編程方式確定它們是否已安裝。 –

+0

@科爾約翰遜:我知道。 –