۱۲-دى-۱۳۹۰, ۰۴:۰۹:۱۷
۱۲-دى-۱۳۹۰, ۰۶:۲۱:۵۳
کد:
Private Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long
Private Const LOCALE_SISO639LANGNAME As Long = &H59
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Private Function pvGetUserLocaleInfo(ByVal dwLocaleID As Long, ByVal dwLCType As Long) As String
Dim sReturn As String
Dim nSize As Long
nSize = GetLocaleInfo(dwLocaleID, dwLCType, sReturn, Len(sReturn))
If nSize > 0 Then
sReturn = Space$(nSize)
nSize = GetLocaleInfo(dwLocaleID, dwLCType, sReturn, Len(sReturn))
If nSize > 0 Then
pvGetUserLocaleInfo = Left$(sReturn, nSize - 1)
End If
End If
End Function
Private Sub Command1_Click()
MsgBox pvGetUserLocaleInfo(GetKeyboardLayout(0&) And &HFFFF&, LOCALE_SISO639LANGNAME)
End Sub
۱۲-دى-۱۳۹۰, ۱۶:۳۴:۲۰
مرسی HamedFaa جان
۱۲-دى-۱۳۹۰, ۱۷:۳۲:۴۲
حالا کی میتونه به من بگه که چطوری وقتی زبان صفخه کلید Change شد تشخیصش بدیم؟
مثلا به محض اینکه زبان رو تغییر دادیم یه msg بیاد که زبان تغییر داده شد؟
مثلا به محض اینکه زبان رو تغییر دادیم یه msg بیاد که زبان تغییر داده شد؟
۱۳-دى-۱۳۹۰, ۰۷:۱۴:۴۲
http://s1.picofile.com/file/7233786020/k...d.zip.html
کد:
Private Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long
Private Const LOCALE_SISO639LANGNAME As Long = &H59
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Dim strChangeLanguage, strCurrentLanguage As String
Private Function pvGetUserLocaleInfo(ByVal dwLocaleID As Long, ByVal dwLCType As Long) As String
Dim sReturn As String
Dim nSize As Long
nSize = GetLocaleInfo(dwLocaleID, dwLCType, sReturn, Len(sReturn))
If nSize > 0 Then
sReturn = Space$(nSize)
nSize = GetLocaleInfo(dwLocaleID, dwLCType, sReturn, Len(sReturn))
If nSize > 0 Then
pvGetUserLocaleInfo = Left$(sReturn, nSize - 1)
End If
End If
End Function
Private Function GetKeyName() As String
GetKeyName = pvGetUserLocaleInfo(GetKeyboardLayout(0&) And &HFFFF&, LOCALE_SISO639LANGNAME)
End Function
Private Sub Form_Load()
strCurrentLanguage = GetKeyName
End Sub
Private Sub Timer1_Timer()
strChangeLanguage = GetKeyName
If strChangeLanguage <> strCurrentLanguage Then
MsgBox "Keyboard language change to '" & GetKeyName & "'", vbInformation + vbOKOnly, "Keyboard"
strCurrentLanguage = GetKeyName
End If
End Sub
۱۳-دى-۱۳۹۰, ۱۴:۴۹:۳۲
hamed faa خیلی گلی دمت گرم
۱۴-دى-۱۳۹۰, ۱۵:۴۸:۳۳
hamed faa خیلی عالی بود ممنون،
حالا چیکار کنیم زمانی که فوکوس روی فرم نیست، تشخیص بده که زبان صفحه کلید change شده؟
حالا چیکار کنیم زمانی که فوکوس روی فرم نیست، تشخیص بده که زبان صفحه کلید change شده؟
۰۲-بهمن-۱۳۹۰, ۱۳:۱۱:۱۴
HamedFaa ی عزیز ممنون از پاسختون
از دوستان گرامی هرکس که میدونه
میشه بگید چیکار کنیم که زمانی که فوکوس روی فرم نیست،
(یعنی مثلا فرم ویزیبلش فالسه و فوکوس نداره)
برنامه تشخیص بده که زبان صفحه کلید change شده؟
از دوستان گرامی هرکس که میدونه
میشه بگید چیکار کنیم که زمانی که فوکوس روی فرم نیست،
(یعنی مثلا فرم ویزیبلش فالسه و فوکوس نداره)
برنامه تشخیص بده که زبان صفحه کلید change شده؟