Консольное приложение не может автоматически, программно переключать раскладку клавиатуры. 
    
    
Приложение Windows Forms так же не может автоматически, программно переключать раскладку клавиатуры. Повторяю, автоматически! Что бы приложению переключить не автоматически, а с помощью, например, нажатия кнопки, нужно подключить функцию WINAPI, такую как ActivateKeyboardLayout().
    
Только приложение WPF, с помощью класса InputLanguageManager может автоматически, программно переключить раскладку клавиатуры.
    
В данном примере, приложение показывает культуру и регион по умолчанию.
 
   Приложение Windows Forms так же не может автоматически, программно переключать раскладку клавиатуры. Повторяю, автоматически! Что бы приложению переключить не автоматически, а с помощью, например, нажатия кнопки, нужно подключить функцию WINAPI, такую как ActivateKeyboardLayout().
Только приложение WPF, с помощью класса InputLanguageManager может автоматически, программно переключить раскладку клавиатуры.
В данном примере, приложение показывает культуру и регион по умолчанию.
   
    Раскладку клавиатуры по умолчанию. 
   
   
   
    Дальше, пользователь попадает в поле "Раскладка клавиатуры русская", поле ввода становится активным, приложение автоматически изменяет раскладку клавиатуры на русскую. 
    
А если пользователь попадает в поле "Раскладка клавиатуры английская", поле ввода становится активным, приложение автоматически изменяет раскладку клавиатуры на английскую.
Изменение раскладки клавиатуры можно увидеть в системном трее и в поле ввода "Раскладка клавиатуры текущая".
    
Создайте WPF приложение и назовите его WpfLoadLanguage. Замените код. Скомпилируйте и запустите на выполнение.
   А если пользователь попадает в поле "Раскладка клавиатуры английская", поле ввода становится активным, приложение автоматически изменяет раскладку клавиатуры на английскую.
Изменение раскладки клавиатуры можно увидеть в системном трее и в поле ввода "Раскладка клавиатуры текущая".
Создайте WPF приложение и назовите его WpfLoadLanguage. Замените код. Скомпилируйте и запустите на выполнение.
  MainWindow.xaml  
     
<Windowx:Class="WpfLoadLanguage.MainWindow"-   
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" -   
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" -   
Title="MainWindow" -   
Height="500" -   
Width="700"> -  
<Gridx:Name="FormMain"Margin="0,0,0,-2"RenderTransformOrigin="0.5,0.5"UseLayoutRounding="False"Loaded="FormMain_Loaded"> -   
<!--коллекция рядов--> -   
<Grid.RowDefinitions> -    
<RowDefinition></RowDefinition> -    
<RowDefinition></RowDefinition> -    
<RowDefinition></RowDefinition> -    
<RowDefinition></RowDefinition> -    
<RowDefinition></RowDefinition> -   
</Grid.RowDefinitions> -   
<!--коллекция колонок--> -   
<Grid.ColumnDefinitions> -    
<ColumnDefinition></ColumnDefinition> -    
<ColumnDefinition></ColumnDefinition> -   
</Grid.ColumnDefinitions> -   
<LabelName="Label1"Grid.Row="0"Grid.Column="0"Content="Культура и регион по умолчанию"VerticalAlignment="Center"Margin="50,0,0,0"FontSize="14"FontWeight="Bold"></Label> -   
<TextBoxName="TextBox1"Grid.Row="0"Grid.Column="1"Text=""HorizontalAlignment="Center"VerticalAlignment="Center"Margin="25,0,0,0"FontSize="14"Width="200"HorizontalContentAlignment="Center"VerticalContentAlignment="Center"FontWeight="Bold"Foreground="Red"Background="White"Height="25"Padding="0,1"IsReadOnly="True"> -    
<TextBox.Effect> -     
<DropShadowEffect/> -    
</TextBox.Effect> -   
</TextBox> -   
<Labelx:Name="Label2"Content="Раскладка клавиатуры по умолчанию"Margin="50,0,0,0"Grid.Row="1"VerticalAlignment="Center"BorderThickness="0"FontSize="14"FontWeight="Bold"RenderTransformOrigin="0.5,0.5"Background="Transparent"></Label> -   
<TextBoxx:Name="TextBox2"Grid.Column="1"HorizontalAlignment="Center"Height="25"Margin="25,0,0,0"Grid.Row="1"TextWrapping="Wrap"VerticalAlignment="Center"Width="200"Foreground="Blue"FontSize="14"FontWeight="Bold"TextAlignment="Center"Padding="0,1"IsReadOnly="True"> -    
<TextBox.Effect> -     
<DropShadowEffect/> -    
</TextBox.Effect> -   
</TextBox> -   
<Labelx:Name="Label3"Content="Раскладка клавиатуры текущая"Margin="50,0,0,0"Grid.Row="2"VerticalAlignment="Center"FontWeight="Bold"FontSize="14"></Label> -   
<TextBoxx:Name="TextBox3"Grid.Column="1"HorizontalAlignment="Center"Height="25"Margin="25,0,0,0"Grid.Row="2"TextWrapping="Wrap"VerticalAlignment="Center"Width="200"Foreground="Red"FontWeight="Bold"FontSize="14"TextAlignment="Center"Padding="0,1"IsReadOnly="True"> -    
<TextBox.Effect> -     
<DropShadowEffect/> -    
</TextBox.Effect> -   
</TextBox> -   
<Labelx:Name="Label4"Content="Раскладка клавиатуры русская"Margin="50,0,0,0"Grid.Row="3"VerticalAlignment="Center"FontWeight="Bold"FontSize="14"></Label> -   
<TextBoxx:Name="TextBox4"Grid.Column="1"HorizontalAlignment="Center"Height="25"Margin="25,0,0,0"Grid.Row="3"TextWrapping="Wrap"VerticalAlignment="Center"Width="200"Foreground="Red"FontSize="14"Padding="5,1,0,1"GotFocus="TextBox4_GotFocus"> -    
<TextBox.Effect> -     
<DropShadowEffect/> -    
</TextBox.Effect> -   
</TextBox> -   
<Labelx:Name="Label5"Content="Раскладка клавиатуры английская"Margin="50,0,0,0"Grid.Row="4"VerticalAlignment="Center"FontWeight="Bold"FontSize="14"></Label> -   
<TextBoxx:Name="TextBox5"Grid.Column="1"HorizontalAlignment="Center"Height="25"Margin="25,0,0,0"Grid.Row="4"TextWrapping="Wrap"VerticalAlignment="Center"Width="200"Foreground="Blue"Padding="5,1,0,1"FontSize="14"GotFocus="TextBox5_GotFocus"> -    
<TextBox.Effect> -     
<DropShadowEffect/> -    
</TextBox.Effect> -   
</TextBox> -  
</Grid> </Window>
<Windowx:Class="WpfLoadLanguage.MainWindow"-   
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" -   
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" -   
Title="MainWindow" -   
Height="500" -   
Width="700"> -  
<Gridx:Name="FormMain"Margin="0,0,0,-2"RenderTransformOrigin="0.5,0.5"UseLayoutRounding="False"Loaded="FormMain_Loaded"> -   
<!--коллекция рядов--> -   
<Grid.RowDefinitions> -    
<RowDefinition></RowDefinition> -    
<RowDefinition></RowDefinition> -    
<RowDefinition></RowDefinition> -    
<RowDefinition></RowDefinition> -    
<RowDefinition></RowDefinition> -   
</Grid.RowDefinitions> -   
<!--коллекция колонок--> -   
<Grid.ColumnDefinitions> -    
<ColumnDefinition></ColumnDefinition> -    
<ColumnDefinition></ColumnDefinition> -   
</Grid.ColumnDefinitions> -   
<LabelName="Label1"Grid.Row="0"Grid.Column="0"Content="Культура и регион по умолчанию"VerticalAlignment="Center"Margin="50,0,0,0"FontSize="14"FontWeight="Bold"></Label> -   
<TextBoxName="TextBox1"Grid.Row="0"Grid.Column="1"Text=""HorizontalAlignment="Center"VerticalAlignment="Center"Margin="25,0,0,0"FontSize="14"Width="200"HorizontalContentAlignment="Center"VerticalContentAlignment="Center"FontWeight="Bold"Foreground="Red"Background="White"Height="25"Padding="0,1"IsReadOnly="True"> -    
<TextBox.Effect> -     
<DropShadowEffect/> -    
</TextBox.Effect> -   
</TextBox> -   
<Labelx:Name="Label2"Content="Раскладка клавиатуры по умолчанию"Margin="50,0,0,0"Grid.Row="1"VerticalAlignment="Center"BorderThickness="0"FontSize="14"FontWeight="Bold"RenderTransformOrigin="0.5,0.5"Background="Transparent"></Label> -   
<TextBoxx:Name="TextBox2"Grid.Column="1"HorizontalAlignment="Center"Height="25"Margin="25,0,0,0"Grid.Row="1"TextWrapping="Wrap"VerticalAlignment="Center"Width="200"Foreground="Blue"FontSize="14"FontWeight="Bold"TextAlignment="Center"Padding="0,1"IsReadOnly="True"> -    
<TextBox.Effect> -     
<DropShadowEffect/> -    
</TextBox.Effect> -   
</TextBox> -   
<Labelx:Name="Label3"Content="Раскладка клавиатуры текущая"Margin="50,0,0,0"Grid.Row="2"VerticalAlignment="Center"FontWeight="Bold"FontSize="14"></Label> -   
<TextBoxx:Name="TextBox3"Grid.Column="1"HorizontalAlignment="Center"Height="25"Margin="25,0,0,0"Grid.Row="2"TextWrapping="Wrap"VerticalAlignment="Center"Width="200"Foreground="Red"FontWeight="Bold"FontSize="14"TextAlignment="Center"Padding="0,1"IsReadOnly="True"> -    
<TextBox.Effect> -     
<DropShadowEffect/> -    
</TextBox.Effect> -   
</TextBox> -   
<Labelx:Name="Label4"Content="Раскладка клавиатуры русская"Margin="50,0,0,0"Grid.Row="3"VerticalAlignment="Center"FontWeight="Bold"FontSize="14"></Label> -   
<TextBoxx:Name="TextBox4"Grid.Column="1"HorizontalAlignment="Center"Height="25"Margin="25,0,0,0"Grid.Row="3"TextWrapping="Wrap"VerticalAlignment="Center"Width="200"Foreground="Red"FontSize="14"Padding="5,1,0,1"GotFocus="TextBox4_GotFocus"> -    
<TextBox.Effect> -     
<DropShadowEffect/> -    
</TextBox.Effect> -   
</TextBox> -   
<Labelx:Name="Label5"Content="Раскладка клавиатуры английская"Margin="50,0,0,0"Grid.Row="4"VerticalAlignment="Center"FontWeight="Bold"FontSize="14"></Label> -   
<TextBoxx:Name="TextBox5"Grid.Column="1"HorizontalAlignment="Center"Height="25"Margin="25,0,0,0"Grid.Row="4"TextWrapping="Wrap"VerticalAlignment="Center"Width="200"Foreground="Blue"Padding="5,1,0,1"FontSize="14"GotFocus="TextBox5_GotFocus"> -    
<TextBox.Effect> -     
<DropShadowEffect/> -    
</TextBox.Effect> -   
</TextBox> -  
</Grid> </Window>
  MainWindow.xaml.cs  
     
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows;usingSystem.Windows.Controls;usingSystem.Windows.Data;usingSystem.Windows.Documents;usingSystem.Windows.Input;usingSystem.Windows.Media;usingSystem.Windows.Media.Imaging;usingSystem.Windows.Navigation;usingSystem.Windows.Shapes;//подключить пространство именusingSystem.Globalization;//добавить ссылку на System.Windows.Forms//подключить пространство именusingSystem.Windows.Forms;namespaceWpfLoadLanguage {-  
/// <summary> -  
/// Interaction logic for MainWindow.xaml -  
/// </summary> -  
publicpartialclassMainWindow : Window { -   
publicMainWindow() { -    
InitializeComponent(); -   
} -   
privatevoidFormMain_Loaded(objectsender, RoutedEventArgs e) { -    
//культура и регион установленные в системе по умолчанию -    
TextBox1.Text = CultureInfo.InstalledUICulture.ToString(); -    
//раскладка клавиатуры по умолчанию -    
TextBox2.Text = InputLanguage.DefaultInputLanguage.Culture.ToString(); -    
//для поля ввода TextBox4 устанавливаем раскладку клавиатуры на русскую -    
InputLanguageManager.SetInputLanguage(TextBox4,newCultureInfo("ru-RU")); -    
//для поля ввода TextBox5 устанавливаем раскладку клавиатуры на английскую -    
InputLanguageManager.SetInputLanguage(TextBox5,newCultureInfo("en-US")); -   
} -   
privatevoidTextBox4_GotFocus(objectsender, RoutedEventArgs e) { -    
/*как только поле ввода TextBox4 станет активным, в поле -    
ввода TextBox3 отобразится текущая раскладка клавиатуры*/ -    
TextBox3.Text = InputLanguageManager.Current.CurrentInputLanguage.ToString(); -   
} -   
privatevoidTextBox5_GotFocus(objectsender, RoutedEventArgs e) { -    
/*как только поле ввода TextBox5 станет активным, в поле -    
ввода TextBox3 отобразится текущая раскладка клавиатуры*/ -    
TextBox3.Text = InputLanguageManager.Current.CurrentInputLanguage.ToString(); -   
} -  
} }
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows;usingSystem.Windows.Controls;usingSystem.Windows.Data;usingSystem.Windows.Documents;usingSystem.Windows.Input;usingSystem.Windows.Media;usingSystem.Windows.Media.Imaging;usingSystem.Windows.Navigation;usingSystem.Windows.Shapes;//подключить пространство именusingSystem.Globalization;//добавить ссылку на System.Windows.Forms//подключить пространство именusingSystem.Windows.Forms;namespaceWpfLoadLanguage {-  
/// <summary> -  
/// Interaction logic for MainWindow.xaml -  
/// </summary> -  
publicpartialclassMainWindow : Window { -   
publicMainWindow() { -    
InitializeComponent(); -   
} -   
privatevoidFormMain_Loaded(objectsender, RoutedEventArgs e) { -    
//культура и регион установленные в системе по умолчанию -    
TextBox1.Text = CultureInfo.InstalledUICulture.ToString(); -    
//раскладка клавиатуры по умолчанию -    
TextBox2.Text = InputLanguage.DefaultInputLanguage.Culture.ToString(); -    
//для поля ввода TextBox4 устанавливаем раскладку клавиатуры на русскую -    
InputLanguageManager.SetInputLanguage(TextBox4,newCultureInfo("ru-RU")); -    
//для поля ввода TextBox5 устанавливаем раскладку клавиатуры на английскую -    
InputLanguageManager.SetInputLanguage(TextBox5,newCultureInfo("en-US")); -   
} -   
privatevoidTextBox4_GotFocus(objectsender, RoutedEventArgs e) { -    
/*как только поле ввода TextBox4 станет активным, в поле -    
ввода TextBox3 отобразится текущая раскладка клавиатуры*/ -    
TextBox3.Text = InputLanguageManager.Current.CurrentInputLanguage.ToString(); -   
} -   
privatevoidTextBox5_GotFocus(objectsender, RoutedEventArgs e) { -    
/*как только поле ввода TextBox5 станет активным, в поле -    
ввода TextBox3 отобразится текущая раскладка клавиатуры*/ -    
TextBox3.Text = InputLanguageManager.Current.CurrentInputLanguage.ToString(); -   
} -  
} }