نمایش نتایج: از شماره 1 تا 3 , از مجموع 3

موضوع: سئوال

  1. #1


    آخرین بازدید
    2021/12/05
    تاریخ عضویت
    February 2010
    محل سکونت
    بوشهر
    نوشته ها
    940
    امتیاز
    718
    سپاس
    29
    سپاس شده
    863 در 365 پست
    تعیین سطح نشده است

    shamsololama به Yahoo ارسال پیام

    سئوال

    با درود فراوان
    از دوستان کسی می دونه با چه کدی میشه زبان فعال کی بورد رو شناسایی کنیم
    کدی که از طیق اکسل بشه این زبان رو تغییر بدم پیدا کردم ولی کدی که نشون بده چه زبانی فعال است هنوز پیدا نکردم کسی میدونه ممنون میشم راهنمایی کنه

    توضیح بیشتر:
    وقتی چند تکس باکس داریم که در تعدادی از آنها باید فارسی تایپ کنیم و در چند تا هم انگلیسی می خواهم زمانی که مکان نما درون هر تکس باکس قرار میگیره بسته به نیاز زبان رو تغییر داده به انگلیسی و یا فارسی حالا این که با چه کدی این زبان را به فارسی یا انگلیسی تغییر بده می دونم ولی اول نیاز هست که بدونیم زبان فعال چیه که اگر در تکس باکس زبان فارسی نیاز داشتین ببینه اگه زبان فعال فارسی هست تغییر نده و اگر انگلیسی بود به فارسی تغییر بده تا به زبان مورد نظر در آن تکس باکس برسیم.

    سپاس گزارم
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.

  2.  

  3. #2


    آخرین بازدید
    2022/06/28
    تاریخ عضویت
    May 2010
    محل سکونت
    بلژیک
    نوشته ها
    174
    امتیاز
    108
    سپاس
    0
    سپاس شده
    119 در 53 پست
    تعیین سطح نشده است

    RE: سئوال

    با سلام
    در مورد فراخوانی و تعویض زبان نوشتاری سیستم عامل در زبان های VB کتابخانه هایی وجود داره که می شه از آن ها استفاده کرد. به کد زیر توجه کنید. دو تابع در آنها وجود داره که فکر می کنم سوال شما رو پاسخ بده:

    کد:
    Option Explicit
    
    Private Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long
    
    Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
    
    Const KLF_ACTIVATE = &H1
    
    Private Const LANG_ENGLISH As String = "00000409"
    Private Const LANG_Persian As String = "00000429"
    
    Private Const LANG_FRENCH As String = "0000040C"
    Private Const LANG_GREEK As String = "00000408"
    Private Const LANG_ITALIAN As String = "00000400"
    Private Const LANG_GERMAN As String = "00000407"
    
    
    
    Private Function SwitchKeyboardLang(ByVal strLangID As String) As Boolean
    Dim strRet As String
       On Error Resume Next
        strRet = String(9, 0)
      GetKeyboardLayoutName strRet
    If strRet = (strLangID & Chr(0)) Then
        SwitchKeyboardLang = True
        Exit Function
    Else
        strRet = String(9, 0)
        strRet = LoadKeyboardLayout((strLangID & Chr(0)), KLF_ACTIVATE)
    End If
    
    GetKeyboardLayoutName strRet
    If strRet = (strLangID) Then
        SwitchKeyboardLang = True
    End If
    End Function
    
    Private Sub TextBox1_Enter()
    SwitchKeyboardLang (LANG_ENGLISH)
    End Sub
    
    Private Sub TextBox2_Enter()
    SwitchKeyboardLang (LANG_Persian)
    End Sub
    در كى بالا تابع GetKeyboardLayoutName strRet موردی است که شما می خواهید.
    برای دریافت کد های زبان های دیگر نیز می توانید از رجیستری کامپیوتر استفاده کنید. آدرس زیر را در Regedit دنبال کنید به می توانید کد همه زبان ها را داشته باشید.

    HKEY_LOCAL_MACHINE
    System
    CurrentControlSet
    Control
    Keyboard Layout
    DosKeybCodes
    -------
    http://md6712.com
    جامعه ایده پردازان: http://idekadeh.com

  4. سپاس ها (1)


  5. #3


    آخرین بازدید
    2021/12/05
    تاریخ عضویت
    February 2010
    محل سکونت
    بوشهر
    نوشته ها
    940
    امتیاز
    718
    سپاس
    29
    سپاس شده
    863 در 365 پست
    تعیین سطح نشده است

    shamsololama به Yahoo ارسال پیام

    RE: سئوال

    با درود فراوان
    از شما بخاطر پاسخ بسیار خوب و کاملی که داده بودید بینهایت سپاسگزارم


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

استفاده از تابع getkeyboardlayoutname

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است
با ما در تماس باشيد