PDA

View Full Version : سوال: مشکل تغییر زبان در ویستا



f.nabavi
شنبه 20 تیر 1388, 12:08 عصر
سلام. من برای تغییر زبان کیبرد از کد زیر استفاده میکنم که از همین سایت گرفتم. ولی روی ویندورهای ویستا عمل نمیکنه. چی کار باید بکنم؟


If InputLanguage.CurrentInputLanguage.LayoutName = "US" Then
Dim farsi As New Globalization.CultureInfo("fa-IR")
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(farsi)
Else
Dim en As New Globalization.CultureInfo("en-US")
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(en)
End If

Mani_rf
شنبه 20 تیر 1388, 14:26 عصر
دوست عزیز تو Vista زبان فارسی با نام Persian شناخته می شود. شما برای تغییر زبان در Vista باید به جای "FA-IR" از Persian استفاده کنید.

sari-1369
شنبه 20 تیر 1388, 14:58 عصر
من از این کد استفاده می کنم ، تو ویستا هم جواب داده .



InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(New System.Globalization.CultureInfo("Fa"))

f.nabavi
شنبه 20 تیر 1388, 16:47 عصر
آقای Mani ممنون از راهنمایی شما. ولی حالا سوالی که پیش میاد اینه که راهی وجود داره که بشه فهمید برنامه در xp اجرا میشه یا ویستا؟

Mani_rf
شنبه 20 تیر 1388, 17:00 عصر
بله راه دارد.

My.Computer.Info.OSFullName

نام سیستم عامل را برای شما بر می گرداند.

mortezamhd
دوشنبه 22 تیر 1388, 02:25 صبح
سلام خدمت دوستان
من از Api استفاده میکنم آیا این روش درستههه ؟



Public Class Form1
Private Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Call ActivateKeyboardLayout(1, 1)
End Sub


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Call ActivateKeyboardLayout(0, 1)
End Sub
End Class