نمایش نتایج 1 تا 17 از 17

نام تاپیک: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

  1. #1

    تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    با سلام
    برای تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی در سایت های داخلی و خارجی خیلی جستجو کردم ولی به موردی بر نخوردم . آیا بنظر اساتید تغییر این آیتم از طریق کدنویسی امکان پذیر است ؟
    با تشکر
    عکس های ضمیمه عکس های ضمیمه

  2. #2
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    سن
    58
    پست
    1,057

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    نقل قول نوشته شده توسط atf1379 مشاهده تاپیک
    با سلام
    برای تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی در سایت های داخلی و خارجی خیلی جستجو کردم ولی به موردی بر نخوردم . آیا بنظر اساتید تغییر این آیتم از طریق کدنویسی امکان پذیر است ؟
    با تشکر
    با سلام
    بنده هم قبلا جستجو کرده ام ولی موردی رو پیدا نکردم

  3. #3
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    72
    پست
    3,578

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    سلام و روز خوش
    دلیلش اینه که مطلقا هیچ api پابلیک و مستند شده ای واسه این کار نیست!
    فقط و فقط باید از کنترل پنل انجام بشه و اتفاقا کار درست همینه.

    اگر برای نمایش پیام هست که اون راهکار دیگه ای داره.

  4. #4

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    سلام و روز خوش
    دلیلش اینه که مطلقا هیچ api پابلیک و مستند شده ای واسه این کار نیست!
    فقط و فقط باید از کنترل پنل انجام بشه و اتفاقا کار درست همینه.

    اگر برای نمایش پیام هست که اون راهکار دیگه ای داره.
    سلام و عرض ادب خدمت استاد mazoolagh
    ممنون از راهنمائی های مفیدتون

  5. #5
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    سن
    58
    پست
    1,057

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک

    فقط و فقط باید از کنترل پنل انجام بشه و اتفاقا کار درست همینه.

    اگر برای نمایش پیام هست که اون راهکار دیگه ای داره.
    با سلام
    در تائید فرمایش استاد mazoolagh عزیز ، بر اساس تجربه ای که حقیر دارم برای تغییر Current System Locale از طریق کنترل پنل انجام بشه خیلی بهتره

  6. #6
    کاربر دائمی آواتار ARData
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    Karaj
    سن
    41
    پست
    438

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    Sub ChangeSystemLocaleToPersian()
    Dim regPath As String
    Dim shell As Object

    ' مسیر رجیستری برای تغییر locale
    regPath = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contr ol\Nls\Locale"

    ' ایجاد شیء Shell
    Set shell = CreateObject("WScript.Shell")

    ' تغییر مقدار Locale به 00000429 (فارسی)
    shell.RegWrite regPath & "Locale", "00000429", "REG_SZ"

    ' تغییر مقادیر ACP، MACCP و OEMCP به 1256 (کد صفحه‌ی فارسی)
    regPath = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contr ol\Nls\CodePage"
    shell.RegWrite regPath & "ACP", "1256", "REG_SZ"
    shell.RegWrite regPath & "MACCP", "1256", "REG_SZ"
    shell.RegWrite regPath & "OEMCP", "1256", "REG_SZ"

    MsgBox "Current System Locale has been changed to Persian (فارسی). Please restart your computer."
    End Sub

  7. #7

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    نقل قول نوشته شده توسط eb_1345 مشاهده تاپیک
    با سلام
    در تائید فرمایش استاد mazoolagh عزیز ، بر اساس تجربه ای که حقیر دارم برای تغییر Current System Locale از طریق کنترل پنل انجام بشه خیلی بهتره
    با سلام متقابل
    سپاسگزارم

  8. #8

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    نقل قول نوشته شده توسط ARData مشاهده تاپیک
    Sub ChangeSystemLocaleToPersian()
    Dim regPath As String
    Dim shell As Object

    ' مسیر رجیستری برای تغییر locale
    regPath = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contr ol\Nls\Locale"

    ' ایجاد شیء Shell
    Set shell = CreateObject("WScript.Shell")

    ' تغییر مقدار Locale به 00000429 (فارسی)
    shell.RegWrite regPath & "Locale", "00000429", "REG_SZ"

    ' تغییر مقادیر ACP، MACCP و OEMCP به 1256 (کد صفحه‌ی فارسی)
    regPath = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contr ol\Nls\CodePage"
    shell.RegWrite regPath & "ACP", "1256", "REG_SZ"
    shell.RegWrite regPath & "MACCP", "1256", "REG_SZ"
    shell.RegWrite regPath & "OEMCP", "1256", "REG_SZ"

    MsgBox "Current System Locale has been changed to Persian (فارسی). Please restart your computer."
    End Sub
    بر روی سیستم من خطای زیر صادر میشود:
    عکس های ضمیمه عکس های ضمیمه

  9. #9
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    72
    پست
    3,578

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    این کدی رو که هوش ساختگی پیشنهاد داده (پست شماره 6)
    اینجا در تگ مناسب میذارم که دست کم خوانا باشه (بگذریم که کد ایراد آشکار داره!)
    Sub ChangeSystemLocaleToPersian()
    Dim regPath As String
    Dim shell As Object

    ' مسیر رجیستری برای تغییر locale
    regPath = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\C ontr ol\Nls\Locale"

    ' ایجاد شیء Shell
    Set shell = CreateObject("WScript.Shell")

    ' تغییر مقدار Locale به 00000429 (فارسی)
    shell.RegWrite regPath & "Locale", "00000429", "REG_SZ"

    ' تغییر مقادیر ACP، MACCP و OEMCP به 1256 (کد صفحه‌ی فارسی)
    regPath = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\C ontr ol\Nls\CodePage"
    shell.RegWrite regPath & "ACP", "1256", "REG_SZ"
    shell.RegWrite regPath & "MACCP", "1256", "REG_SZ"
    shell.RegWrite regPath & "OEMCP", "1256", "REG_SZ"

    MsgBox "Current System Locale has been changed to Persian (فارسی). Please restart your computer."
    End Sub


    بر روی سیستم من خطای زیر صادر میشود:
    1- این کد ایراد داره
    2- بعد از رفع ایراد هم گارانتی این که در همه شرایط کار کنه نیست
    3- از همه اینها، و بفرض درست بودن همه چیز، باز هم کاربر باید ریستارت کنه،
    یعنی عملا بی ارزشه (منظور فقط این نیست - هر کدی)
    4- اینکه برای یک کار ساده که خنگ ترین کاربر هم میتونه در یک دقیقه انجام بده،
    بیاییم در رجیستری و اون هم یک جای حساس دستکاری کنیم (حالا انجام درستش بماند)
    کلا کار نادرستیه - اگر منطقی بود مایکروسافت خودش api مناسب مستند شده میداد.
    5- ایراد دیگه کدهای اینجوری (هوش ساختگی) اینه که نه اعتباری به درست بودنشون هست،
    نه این که تست شدن (همه شرایط)،
    نه این که اگر مشکلی داشته باشه میتونین بپرسین!

  10. #10
    کاربر دائمی آواتار ARData
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    Karaj
    سن
    41
    پست
    438

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    اگه ویندوز شما 7 هست اینو امتحان کنید دیگه آخرین راهه :
    Private Sub Command1_Click()
    Dim WshShell As Object
    Dim Command As String
    Command = "control.exe intl.cpl,,3"
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run Command, 1, True
    SendKeys "{TAB}"
    SendKeys "{TAB}"
    SendKeys "{Enter}"
    SendKeys "{P}"
    SendKeys "{Enter}"
    SendKeys "{ESC}"
    SendKeys "%{F4}"
    End Sub

    اگه روی ویندوز های دیگه کار نکرد اعلام کنید

  11. #11
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    72
    پست
    3,578

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    خب،
    با این حساب تکلیف کد پست شماره 6 مشخص شد.

    اما این پست شماره 10:
    یکم این که کد نیست و کدنما است!
    دویم این که بسیار hacky و unstable و شکننده است!
    سیم این که بستگی به security policy داره (خیلی جاها که ادمین درست و حسابی داره دسترسی کاربر به خیلی چیزا بسته یا محدوده)

  12. #12
    کاربر دائمی آواتار ARData
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    Karaj
    سن
    41
    پست
    438

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    برای اینکه بخواهیم موقتا اختیارات کاربر را از نوع administrator کنیم و پس از اعمال تغییرات آن را به حالت قبلی برگردانیم نیاز هست از یک اسکریپت استفاده کنیم
    Option Explicit

    Public Sub RunPowerShellScript()
    Dim strScriptPath As String
    Dim strCommand As String
    Dim shell As Object

    ' مسیر کامل به اسکریپت PowerShell
    strScriptPath = "C:\Path\To\TemporaryAdmin.ps1"

    ' دستور PowerShell برای اجرای اسکریپت
    strCommand = "powershell.exe -ExecutionPolicy Bypass -File """ & strScriptPath & """"

    ' ایجاد شیء Shell برای اجرای دستور
    Set shell = CreateObject("WScript.Shell")
    shell.Run strCommand, 1, True

    ' پیام موفقیت
    MsgBox "PowerShell script executed successfully!", vbInformation
    End Sub

    این کد بدون استفاده از sendkeys System Locate را به Persian بر می گرداند فقط کافی فایل ضمیمه را از حالت زیپ دربیارید و در درایو مثلا c کپیش کنید .
    فایل های ضمیمه فایل های ضمیمه

  13. #13

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    نقل قول نوشته شده توسط ARData مشاهده تاپیک
    این کد بدون استفاده از sendkeys System Locate را به Persian بر می گرداند فقط کافی فایل ضمیمه را از حالت زیپ دربیارید و در درایو مثلا c کپیش کنید .
    فایل رو از حالت زیپ خارج و در درایو C کپی کردم ولی غیر از باز شدن فایل و نمایش کدها اتفاق خاص دیگری نیفتاد .

  14. #14
    کاربر دائمی آواتار ARData
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    Karaj
    سن
    41
    پست
    438

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    یکم یه کوچولو تلاش میکردی به نتیجه می رسیدی !!! واقعا متاسفم
    آخرین ویرایش به وسیله ARData : چهارشنبه 24 بهمن 1403 در 19:37 عصر

  15. #15

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    نقل قول نوشته شده توسط ARData مشاهده تاپیک
    یکم یه کوچولو تلاش میکردی به نتیجه می رسیدی !!! واقعا متاسفم
    بیشتر از ی کوچولو تلاش شد !
    بعد از خارج کردن فایل از حالت زیپ اون رو در درایو C کپی کردم
    با راست کلیک بر روی فایل مطابق تصویر زیر سه گزینه در ابتدای منوی شناور نمایش داده میشود :


    Script.png

    نتیجه انتخاب گزینه اول ، دوم و سوم مطابق تصاویر ضمیمه:
    در حالت دوم با درج حرف Y و بعد ENTER باید در کنترل پنل زبان به فارسی تبدیل میشد که تغییر حاصل نشد حتی بعد از ریستارت کردن کامپیوتر
    در واقع علت عدم تغییر در تصویر شماره 3 بصورت سیستمی توضیح داده شده
    عکس های ضمیمه عکس های ضمیمه

  16. #16
    کاربر دائمی آواتار ARData
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    Karaj
    سن
    41
    پست
    438

    Arrow نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    نقل قول نوشته شده توسط atf1379 مشاهده تاپیک
    بیشتر از ی کوچولو تلاش شد !
    بعد از خارج کردن فایل از حالت زیپ اون رو در درایو C کپی کردم
    با راست کلیک بر روی فایل مطابق تصویر زیر سه گزینه در ابتدای منوی شناور نمایش داده میشود :


    Script.png

    نتیجه انتخاب گزینه اول ، دوم و سوم مطابق تصاویر ضمیمه:
    در حالت دوم با درج حرف Y و بعد ENTER باید در کنترل پنل زبان به فارسی تبدیل میشد که تغییر حاصل نشد حتی بعد از ریستارت کردن کامپیوتر
    در واقع علت عدم تغییر در تصویر شماره 3 بصورت سیستمی توضیح داده شده
    قرار نیست از این فایل استفاده مستقیم بشه
    شما کافیه از این کد در اکسس استفاده کنید :
    Option Explicit

    Public Sub RunPowerShellScript()
    Dim strScriptPath As String
    Dim strCommand As String
    Dim shell As Object

    ' مسیر کامل به اسکریپت PowerShell
    strScriptPath = "C:\Path\To\TemporaryAdmin.ps1"

    ' دستور PowerShell برای اجرای اسکریپت
    strCommand = "powershell.exe -ExecutionPolicy Bypass -File """ & strScriptPath & """"

    ' ایجاد شیء Shell برای اجرای دستور
    Set shell = CreateObject("WScript.Shell")
    shell.Run strCommand, 1, True

    ' پیام موفقیت
    MsgBox "PowerShell script executed successfully!", vbInformation
    End Sub



  17. #17

    نقل قول: تغییر آیتم Current System Locale در قسمت Region از طریق کد نویسی

    نقل قول نوشته شده توسط ARData مشاهده تاپیک
    قرار نیست از این فایل استفاده مستقیم بشه
    شما کافیه از این کد در اکسس استفاده کنید :
    در کل هیچ فرقی نمیکنه کدهای فوق باعث تغییر Current System Locale در قسمت Region نمیشه( چه مستقیم چه غیر مستقیم)
    شاید هم بخاطر اینکه ویندوز سیستم بنده ویندوز 10 میباشه این تغییر صورت نمی گیره
    فایل های ضمیمه فایل های ضمیمه

تاپیک های مشابه

  1. سوال: برنامه ای برای تغییر خودکار system locale به فارسی
    نوشته شده توسط atagah در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: پنج شنبه 11 شهریور 1395, 15:31 عصر
  2. سوال: get and set non-unicode system locale for windows os
    نوشته شده توسط kiadata در بخش C#‎‎
    پاسخ: 2
    آخرین پست: دوشنبه 25 اسفند 1393, 09:08 صبح
  3. به هم ریختن متن فارسی در سیستم هایی که زبان system locale انگلیسی هست
    نوشته شده توسط MSROTOK در بخش برنامه نویسی در 6 VB
    پاسخ: 7
    آخرین پست: دوشنبه 25 فروردین 1393, 13:57 عصر
  4. سوال: چگونگی استفاده از "Invalidate(System.Drawing.Region region)"
    نوشته شده توسط leilamansouri در بخش C#‎‎
    پاسخ: 1
    آخرین پست: جمعه 10 آذر 1391, 13:27 عصر
  5. پاسخ: 0
    آخرین پست: دوشنبه 29 آبان 1391, 21:17 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •