PDA

View Full Version : تغییر خودکار زبان کامپیوتر...



جان کلود
پنج شنبه 13 بهمن 1384, 18:53 عصر
سلام
من یک پروژه اکسس دارم که در اون لازمه زبان کامپیوتر بطور خودکار به فارسی و یا انگلیسی تغییر کنه ، لطفا من رو راهنمایی کنین.
مرسی

kmotavali
جمعه 14 بهمن 1384, 02:19 صبح
گزینه Keyboard Language زبانه Format رو باز کن زبانی رو که میخوای انتخاب کن
قبلش Text box رو که میخوای زبانشو تغییر بدی انتخاب کن

alinoori76
شنبه 08 آبان 1389, 14:28 عصر
لطفا کد مربوط به تغییر زبان کیبورد را دارید بگذارید مثلا با زدن یک کلید زبان کیبورد تغییر کند. با تشکر

alinoori76
دوشنبه 10 آبان 1389, 10:49 صبح
یعنی کسی کد تغییر زبان کیبورد رو نداره ........کمک کنین........

RESMAILY
دوشنبه 10 آبان 1389, 11:46 صبح
به نام خدا
با سلام. از اين كد مي توانيد استفاده كنيد و آن را در رويداد open فرم مورد نظر صدا بزنيد.
به اين صورت
Private Sub Form_Load()
SetKbLayout
End Sub


Public Const KLF_ACTIVATE = &H1
Public Const LANG_EN_US As String = "00000409" 'English
Public Const LANG_Ar_As As String = "00000401" 'Arabic
Public Const LANG_FARSI As String = "00000429" 'Farsi

Public Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long
Public Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long



Public Function SetKbLayout(Optional strId As String, VER_OS as String) As Boolean
Dim strLayoutId As String
'ÊÚííä ÓíÓÊã ÚÇãá
If strId <> "" Then GoTo 10
strOs = VER_OS
If strOs = "Windows ME" Or strOs = "Windows 98" Then
strId = LANG_Ar_As
ElseIf strOs = "Windows XP" Or strOs = "Windows 2K" Then
strId = LANG_FARSI
End If
10:
strLayoutId = String(KL_NAMELENGTH, 0)
'ÒÈÇä ÍÇÑí ÕÝÍå ßáíÏ íÓÊ
GetKeyboardLayoutName strLayoutId

If (strLayoutId = (strId & Chr(0))) Then
SetKbLayout = True
Else
strLayoutId = String(KL_NAMELENGTH, 0)
strLayoutId = LoadKeyboardLayout((strId & Chr(0)), KLF_ACTIVATE)

If IsNull(strLayoutId) Then
SetKbLayout = False
Else
strLayoutId = String(KL_NAMELENGTH, 0)
GetKeyboardLayoutName strLayoutId

If strLayoutId = (strId & Chr(0)) Then
SetKbLayout = True
Else
SetKbLayout = False
End If
End If
End If
End Function

amirzazadeh
سه شنبه 11 آبان 1389, 10:28 صبح
یعنی کسی کد تغییر زبان کیبورد رو نداره ........کمک کنین........
اگر منظور شما تغيير زبان با استفاده كدهاي vba بدون استفاده از توابع API هست ميتونيد از اين كد ساده در رويداد ON CLICKيك دكمه استفاده كنيد:

Private Sub Command1_Click()
SendKeys "%" & "+"
End Subكه در واقع كليد ALT +SHIFT رو ارسال ميكنه.
.............................
موفق باشيد