>Is there any way to change the keyboard Language in VB, like if you have to keyboard languages installed in windows English & Arabic, to switch to Arabic I have to click Alt+Shit the right side of the keyboard then the keyboard typing will be change to Arabic.
>
>I want to make this in a VB code and put it in the application.
>
You'll need to implement the ActivateKeyboardLayout() API call; I don't have code to give you to do this, but it's documented in the MSDN, and is not that complex to implement; ensure that the deired keyboard layouts are loaded into the system using the LoadKeyboardLayout() call before you might need any given layout, you retrieve an array of available Keyboard Layout handles using GetKeyboardLayoutList, spin through the resulting array of handles and retrieve the name of each layout available using GetKeyboardLayoutName(), and once you have the list associated with the handles, you can switch keyboard layouts by calling ActivateKeyboardLayout() with the hKL of the keyboard layout you want to have active at the moment. The Keyboard Layout assignment is associated with the current execution thread; it does not change the apparent layout for other processes running on the system.
The APIs related to these functions are discussed in detail in Chapter 9 of "Windows NT Win32 API SuperBible" by Richard Simon; it assumes a fair degree of knowledge of C/C++, sice all the sample code is provided in VC++.