А в 2009 можно и без них обойтись

, раскладку можно просто определить при помощи .Net API
X++:
static void currentKeyBoardLayout(Args _args)
{
System.Windows.Forms.InputLanguage currentLanguage = System.Windows.Forms.InputLanguage::get_CurrentInputLanguage();
System.Globalization.CultureInfo cultInfo;
;
cultInfo = currentLanguage.get_Culture();
info(cultInfo.get_TwoLetterISOLanguageName());
}