PDA

View Full Version : تغییر زبان سیستم در هنگام اجرا



Programmer.G
پنج شنبه 12 اردیبهشت 1387, 13:02 عصر
دوستان من می خوام کاری کنم تا وقتی برنامه اجرا شد زبان سیستم به طور خودکار به فارسی تغییر پیدا کنه. شما برای این کار چه روشی پیشنهاد می دهید؟

با سپاس

HjSoft
پنج شنبه 12 اردیبهشت 1387, 13:10 عصر
منظورتون رو بیشتر توضیح بدید اگه می خواید تایپ به حالت فارسی بشه اینه کدش :

Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
LoadKeyboardLayout "00000429", 1

Programmer.G
پنج شنبه 12 اردیبهشت 1387, 13:18 عصر
منظورتون رو بیشتر توضیح بدید اگه می خواید تایپ به حالت فارسی بشه اینه کدش :
[/code]

ممنون دوست عزیز. بله می خوام تایپ به زبان فارسی بشه.

H4i0 ACP
پنج شنبه 12 اردیبهشت 1387, 13:22 عصر
سلام

http://barnamenevis.org/forum/showthread.php?t=103089&page=14

مثال 008

maryamb
پنج شنبه 12 اردیبهشت 1387, 14:49 عصر
دوست عزیز کافیه کد زیر رو تو برنامتون قرار بدین



Const KL_NAMELENGTH = 9
Private Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long
'==============================
Private Const HKL_NEXT = 1
Private Const HKL_PREV = 0
Private Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal Flags As Long) As Long
Private Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long

Private Sub Form_Load()
Dim Buffer As String
Buffer = String(KL_NAMELENGTH, 0)
GetKeyboardLayoutName Buffer
If (Buffer = 409) Then
oldKB = GetKeyboardLayout(0)
ActivateKeyboardLayout HKL_NEXT, ByVal 0&
End If
End Sub

مهران رسا
پنج شنبه 12 اردیبهشت 1387, 14:52 عصر
دوست عزیز کافیه کد زیر رو تو برنامتون قرار بدین



Const KL_NAMELENGTH = 9
Private Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long
'==============================
Private Const HKL_NEXT = 1
Private Const HKL_PREV = 0
Private Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal Flags As Long) As Long
Private Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long

Private Sub Form_Load()
Dim Buffer As String
Buffer = String(KL_NAMELENGTH, 0)
GetKeyboardLayoutName Buffer
If (Buffer = 409) Then
oldKB = GetKeyboardLayout(0)
ActivateKeyboardLayout HKL_NEXT, ByVal 0&
End If
End Sub



وقتی فقط می خوایم زبان کیبورد فارسی بشه دیگه چه نیازی هست چک کنیم فارسی هست یا نه ؟