FUNCTION SetKeyboard(lcKeyboardCode) IF VARTYPE(lcKeyboardCode)!='C' RETURN ENDIF IF EMPTY(lcKeyboardCode) RETURN ENDIF LOCAL pwszKLID pwszKLID = SPACE(8) DECLARE INTEGER GetKeyboardLayoutName IN user32.DLL STRING @pwszKLID GetKeyboardLayoutName(@pwszKLID) DECLARE INTEGER ActivateKeyboardLayout IN user32.DLL INTEGER HKL , INTEGER flags IF ATC(lcKeyboardCode,pwszKLID) = 0 ActivateKeyboardLayout(1,0) ENDIF RETURNTo use it in the application
SET PROCEDURE TO arfunc.prg additive setkeyboard('401') && for Arabic keyboard setkeyboard('409') && for English keyboadWith best regards,