Referent wrote:
Уважаемый Слава!
А можно такую функцию добавить в Вашу разработку:
возвращать название активного окна без нажатия клавиши или
мыши,
то есть в к5аждый момент времени знать какое окно активное.
Можно, но ничего добавлять не нужно - только изменить скрипт
обработчик:
#property copyright "Viatcheslav Suvorov"
#property show_inputs
#include <WinUser32.mqh>
#import "IdleLib.dll"
int GetLastKeyWP();
int GetLastMouseWP();
int IdleLibInit();
int IdleLibUnInit();
string GetActiveWndName();
#import
int start()
{
IdleLibInit();
bool NeedLoop=true;
string predwnd='';
while(NeedLoop){
string lastwnd=GetActiveWndName();
if ((predwnd!=lastwnd) && lastwnd!="") {
Print("Активное окно ",lastwnd);
predwnd=lastwnd;
} else {
}
Sleep(100);
}
return(0);
}
void deinit()
{
IdleLibUnInit();
}
Будет выодить имя окна когда изменилось активное. В блок
} else {
}
можно добавить обработку если активное окно осталось тем же.
Т.е. в любой момент имеем имя окна.
Можно так же добавить обработку случая когда не одно окно MetaTrader
не имеет фокуса (т.е. пользователь переключился на другое приложение):
if (lastwnd="") {
}