В 2009 можно при помощи .Net API:
X++:
static void changeKeybordLayout(Args _args)
{
#IsoCountryRegionCodes
System.Windows.Forms.InputLanguage tempLanguage = System.Windows.Forms.InputLanguage::get_CurrentInputLanguage();
System.Windows.Forms.InputLanguage ruLanguage = System.Windows.Forms.InputLanguage::FromCulture(New System.Globalization.CultureInfo(#isoRU));
;
System.Windows.Forms.InputLanguage::set_CurrentInputLanguage(ruLanguage);
//теперь раскладка русская
//..
//восстанавливаем исходную раскладку
System.Windows.Forms.InputLanguage::set_CurrentInputLanguage(tempLanguage);
}