ну ты как спросишь, так спросишь... а зачем оно вам?
(как определить не знаю)...
Смотри:
Вариант 1 (реальная ситуация). Выполнял я заказ, и чел. попросил приделать (дополнительно) еще следующее: при некоторых условиях сначала появляется окошко алерта, затем проигрывается некоторая мелодия до тех пор, пока он (заказчик) не закроет окошко с алертом. Я реализовал следующим обазом:
#import "user32.dll"
int FindWindowA (string lpClassName, string lpWindowName);
int IsWindowVisible(int hWnd);
#import
if(Some_Condition) {
Alert("Some text <img src='http://fxgeneral.com/forum/public/style_emoticons/<#EMO_DIR#>/smile.gif' class='bbc_emoticon' alt=':)' />");
if(!IsDllsAllowed()) {
Alert("DLLs are not allowed!");
return(0);
}
int hndl;
bool ret=true;
while (ret) {
PlaySound("SomeWavFile.wav");
Sleep(1100);
hndl=FindWindowA("#32770","Alert");
ret=IsWindowVisible(hndl);
}
}
Тут проблема в том, что строчка
hndl=FindWindowA("#32770","Alert");
по разному должна быть написана на разных языках, т.е. для терминала на русском будет так (я проверял утилитой Spy++):
hndl=FindWindowA("#32770","Сигнал");
По другому - не выйдешь из цикла. Я то знаю, что у него терминал на английском, а если бы был на каком-нить другом языке?
Варинт №2 (пока нереальная ситуация
). Есть некоторый комплекс советников и индикаторов под MT4, каждый из которых перевед на несколько языков. Знаешь как удобно, если сразу в ините загрузится именно язык терминала
. А если нету такого языкового файла - тогда уже ставим язык по-умолчанию.
Каждый сам кузнец своей судьбы.