Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Они уже зарабатывают с помощью сервиса Фриланс. Зарабатывай и ты!
Forex Trader
114375
Forex Trader 2006.05.07 21:26 
Собственно сабж
тут читал "MT и сообщения"
но скорее всего затык с первым параметром
int FindWindowA(string lpClassName ,string lpWindowName);
Как туда Null передать?
Forex Trader
114375
Forex Trader 2006.05.08 12:00  
Попробуйте передать неинициализированную строку
   string null_string;
   int handle=FindWindowA(null_string,"window name");
Forex Trader
114375
Forex Trader 2006.05.08 18:59  
Попробуйте передать неинициализированную строку
   string null_string;
   int handle=FindWindowA(null_string,"window name");



пробывал - не помогает
если конечно null_string не зарезервированное слово с особыми параметрами.
я так думаю что данная функция проверяет наличие имени класса и если он есть то ищет по нему.
Но мне не удается ее убедить что мне нужно искать по имени окна. ИМХO.
Конечно легко решается другими путями, но все же.
Forex Trader
114375
Forex Trader 2006.05.09 10:16  
Покажите Ваш код. Я проверю
Forex Trader
114375
Forex Trader 2006.05.09 14:00  
#import "user32.dll"
int FindWindowA(string lpClassName ,string lpWindowName);
int init()
  {
   int hwnd;
   string null_string;
   string str;
   str="My Computer";
   Comment ("1");
   hwnd=FindWindowA(null_string,str);
   Comment (hwnd);
   return(0);
  }



Первый коомент печатается до второго не доходим.
Судя по всему выходим по ошибке.

Forex Trader
114375
Forex Trader 2006.05.09 14:11  
Судя по MSDN первый параметр не может быть NULL
===
lpClassName
[in] Pointer to a null-terminated string that specifies the class name or a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The atom must be in the low-order word of lpClassName; the high-order word must be zero.
If lpClassName is a string, it specifies the window class name. The class name can be any name registered with RegisterClass or RegisterClassEx, or any of the predefined control-class names.
===
а вот второй параметр - может быть
===
lpWindowName
[in] Pointer to a null-terminated string that specifies the window name (the window's title). If this parameter is NULL, all window names match.
===

если функция ничего не нашла, то возвращается 0.
Второй коммент благополучно выводится. И именно 0.

И вообще, для таких целей лучше использовать не Comment, а Print - следы в логе остаются
Forex Trader
114375
Forex Trader 2006.05.09 22:47  
А лог файл вроде бы записывается при закрытии терминала?
По крайней мере я только так добился обновления лога.
Но вопрос все равно открыт.
Попробуйте найти хоть одно окно пожалуйста.
Forex Trader
114375
Forex Trader 2006.05.10 00:18  
А лог файл вроде бы записывается при закрытии терминала?
Правой кнопкой на любой строке лога -> Открыть ;)
Forex Trader
114375
Forex Trader 2006.05.10 01:03  
Теперь понял
А я делаю сделку - открываю лог вручную - а там нет ничего.
Выхожу из терминала - все ок
А выясняется что сбрасывание данных происходит через попу.

Вопрос с FindWindowA остается открытым.
Forex Trader
114375
Forex Trader 2006.05.10 10:00  
Из контекстного меню вкладки Experts (там, где экспертные логи) выберите пункт "Открыть" (Open). Тогда лог сбросится на диск
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий