امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
تشخیص وضعیت زبان جاری صفحه کلید
نویسنده پیام
RAMA2009 آفلاین
Banned

ارسال‌ها: 131
موضوع‌ها: 38
تاریخ عضویت: اسفند ۱۳۸۹

تشکرها : 43
( 59 تشکر در 51 ارسال )
ارسال: #1
تشخیص وضعیت زبان جاری صفحه کلید
سلام دوستان،
چگونه تشخیص بدیم، که زبان جاری صفحه کلید چیست؟
کد عوض کردن زبان صفحه کلید رو بلدم اما تشخیص زبان جاری صفحه کلید رو چگونه انجام بدم؟
۱۲-دى-۱۳۹۰, ۰۴:۰۹:۱۷
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
HamedFaa آفلاین
كاربر دو ستاره
**

ارسال‌ها: 117
موضوع‌ها: 16
تاریخ عضویت: اسفند ۱۳۸۹

تشکرها : 15
( 61 تشکر در 47 ارسال )
ارسال: #2
RE: تشخیص وضعیت زبان جاری صفحه کلید
کد:
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
۱۲-دى-۱۳۹۰, ۰۶:۲۱:۵۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : RAMA2009
RAMA2009 آفلاین
Banned

ارسال‌ها: 131
موضوع‌ها: 38
تاریخ عضویت: اسفند ۱۳۸۹

تشکرها : 43
( 59 تشکر در 51 ارسال )
ارسال: #3
RE: تشخیص وضعیت زبان جاری صفحه کلید
مرسی HamedFaa جان
۱۲-دى-۱۳۹۰, ۱۶:۳۴:۲۰
ارسال‌ها
پاسخ
تشکر شده توسط : HamedFaa, mahdi321
mabus آفلاین
Banned

ارسال‌ها: 30
موضوع‌ها: 10
تاریخ عضویت: دى ۱۳۹۰

تشکرها : 20
( 21 تشکر در 16 ارسال )
ارسال: #4
RE: تشخیص وضعیت زبان جاری صفحه کلید
حالا کی میتونه به من بگه که چطوری وقتی زبان صفخه کلید Change شد تشخیصش بدیم؟
مثلا به محض اینکه زبان رو تغییر دادیم یه msg بیاد که زبان تغییر داده شد؟
۱۲-دى-۱۳۹۰, ۱۷:۳۲:۴۲
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
HamedFaa آفلاین
كاربر دو ستاره
**

ارسال‌ها: 117
موضوع‌ها: 16
تاریخ عضویت: اسفند ۱۳۸۹

تشکرها : 15
( 61 تشکر در 47 ارسال )
ارسال: #5
RE: تشخیص وضعیت زبان جاری صفحه کلید
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
(آخرین ویرایش در این ارسال: ۱۳-دى-۱۳۹۰, ۰۷:۱۷:۴۷، توسط HamedFaa.)
۱۳-دى-۱۳۹۰, ۰۷:۱۴:۴۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : RAMA2009, mabus, mahdi321
RAMA2009 آفلاین
Banned

ارسال‌ها: 131
موضوع‌ها: 38
تاریخ عضویت: اسفند ۱۳۸۹

تشکرها : 43
( 59 تشکر در 51 ارسال )
ارسال: #6
RE: تشخیص وضعیت زبان جاری صفحه کلید
hamed faa خیلی گلی دمت گرم
۱۳-دى-۱۳۹۰, ۱۴:۴۹:۳۲
ارسال‌ها
پاسخ
تشکر شده توسط : HamedFaa, mahdi321
mabus آفلاین
Banned

ارسال‌ها: 30
موضوع‌ها: 10
تاریخ عضویت: دى ۱۳۹۰

تشکرها : 20
( 21 تشکر در 16 ارسال )
ارسال: #7
RE: تشخیص وضعیت زبان جاری صفحه کلید
hamed faa خیلی عالی بود ممنون،
حالا چیکار کنیم زمانی که فوکوس روی فرم نیست، تشخیص بده که زبان صفحه کلید change شده؟
۱۴-دى-۱۳۹۰, ۱۵:۴۸:۳۳
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
RAMA2009 آفلاین
Banned

ارسال‌ها: 131
موضوع‌ها: 38
تاریخ عضویت: اسفند ۱۳۸۹

تشکرها : 43
( 59 تشکر در 51 ارسال )
ارسال: #8
RE: تشخیص وضعیت زبان جاری صفحه کلید
HamedFaa ی عزیز ممنون از پاسختون
از دوستان گرامی هرکس که میدونه
میشه بگید چیکار کنیم که زمانی که فوکوس روی فرم نیست،
(یعنی مثلا فرم ویزیبلش فالسه و فوکوس نداره)
برنامه تشخیص بده که زبان صفحه کلید change شده؟
۰۲-بهمن-۱۳۹۰, ۱۳:۱۱:۱۴
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] فانکشن برای تشخیص زبان عبارت متنی eppagh 0 1,726 ۱۳-شهریور-۱۳۹۳, ۱۰:۲۵:۲۵
آخرین ارسال: eppagh
Exclamation ویروس New Folder به زبان VB! [Moosa] 1 4,550 ۰۳-فروردین-۱۳۹۳, ۲۳:۲۷:۰۸
آخرین ارسال: vistaweb
  معادل کلید Enter صفحه کلید sepahbod 2 2,926 ۲۴-اسفند-۱۳۹۲, ۱۰:۲۵:۳۲
آخرین ارسال: tiktak990
  سوال در رابطه با دور زدن کد تشخیص وب بروزر sevdaboy 5 4,378 ۱۶-تير-۱۳۹۲, ۱۹:۴۸:۱۶
آخرین ارسال: sevdaboy
  ارسال کلید به WebBrowser aleas 0 2,220 ۲۰-دى-۱۳۹۱, ۲۱:۲۱:۲۷
آخرین ارسال: aleas
  تشخیص اولین کاراکتر در هر خط RAMA2009 9 7,577 ۱۹-دى-۱۳۹۱, ۰۳:۰۴:۵۰
آخرین ارسال: mahmoodgh
  برنامه ضبط صفحه کلید(جاسوس) RAMA2009 3 4,653 ۳۱-مرداد-۱۳۹۱, ۰۵:۱۵:۵۴
آخرین ارسال: raha290
Rolleyes کمک برای ignore کردن یک کلید کیبورد (مثل Remapping) sadra0 3 3,638 ۲۵-اردیبهشت-۱۳۹۱, ۱۴:۵۳:۰۳
آخرین ارسال: Ghoghnus
  [سوال] دروخواست سورس کلید میانبر A.EM4D.M 3 4,067 ۲۲-اردیبهشت-۱۳۹۱, ۱۵:۵۶:۳۹
آخرین ارسال: RAMA2009
Sad تشخیص ( پلاک خودرو ) و ( چهره انسان ) kopolezerang 8 13,178 ۲۶-فروردین-۱۳۹۱, ۱۵:۵۴:۰۶
آخرین ارسال: megatron

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS