خب دوستان ! من چند وقت پیش یه سوالی رو مطرح کردم که دیدم کسی جواب نداد ! گفتم حالا که به جوابش رسیدم شاید برای کسایی که نتونستن جواب سوال منو بدن و احتیاج به این قضیه دارن این تاپیک جالب و مفید باشه !
1-
اول می خوایم بدونیم آیا زبان کامپیوتر کاربر هدف فارسی هست یا نیست !
من اولش این مسئله رو بررسی نمی کردم و صاف می رفتم مرحله 2 اما دیدم نافرمه چون اگه قرار باشه با هربار باز شدن برنامه اون فایل exe اجرا بشه و بعد پیغام درخواست ریست بدیم اعصاب کاربر خورد میشه !
بنابراین میایم یه تابع توی ماژول ( تاکید می کنم فقط توی ماژول )تعریف می کنیم به این صورت :
کد:
Public Declare Function GetSystemDefaultLCID Lib "kernel32" Alias "GetSystemDefaultLCID" () As Long
بعد میایم خروجی این تابع یعنی GetSystemDefaultLCID رو داخل یه متغییر می ریزیم ! حالا این قسمتش که مربوط به ما ایرانی ها میشه ! عبارتست از این که کدی که تابع بر می گردونه اگه فارسی باشه 1065 , و اگه عربی باشه 1025 است ! نگران گ چ پ ژ هم نباشید توی عربی هم این کاراکتر ها قابل خوندن هستند !
پس اگه خروجی تابع برابر یکی از این دوتا عدد بود که برنامه شما شتر دیدی ندیدی ! کاربر وارد برنامه میشه و دیگه پشت سرشم نگاه نمی کنه !
اما اگه خروجی چیز دیگه ای بود می ریم مرحله 2
2- با دستور shell یه فایل exe رو اجرا می کنید و به کاربر msgbox میدید که لطفا برای اجرای صحیح برنامه رایانه خود را ریستارت کنید ! به همین راحتی !
دستور shell :
فایل exe کار راه انداز :
تنها اعضای سایت میتوانند لینک ها رو ببینند.