Просто нажать кнопку или миссия не выполнима.

 

Нужна помощь ребяты. Есть приложение написанное на С#. Там имеются кнопки. Нужно нажать программно из терминала.

Вот код из MetaEditor:

#include <WinAPI\winuser.mqh>
#include <WinAPI\windef.mqh>


CPositionInfo a_position;
CTrade a_trade;
CSymbolInfo a_symbol;

#define MOUSEEVENTF_MOVE              0x0001 // mouse move
#define MOUSEEVENTF_LEFTDOWN          0x0002 // left button down
#define MOUSEEVENTF_LEFTUP            0x0004 // left button up
#define MOUSEEVENTF_RIGHTDOWN         0x0008 // right button down
#define MOUSEEVENTF_RIGHTUP           0x0010 // right button up
#define MOUSEEVENTF_MIDDLEDOWN        0x0020 // middle button down
#define MOUSEEVENTF_MIDDLEUP          0x0040 // middle button up
#define MOUSEEVENTF_WHEEL             0x0800 // wheel button rolled
#define MOUSEEVENTF_ABSOLUTE          0x8000 // absolute move
#define SM_CXSCREEN                   0
#define SM_CYSCREEN                  1

#define WM_LBUTTONDOWN                  0x0201
#define WM_LBUTTONUP                    0x0202
#define WM_LBUTTONDBLCLK                0x0203
#define WM_SETCURSOR                    0x0020
#define WM_SETFOCUS                     0x0007
#define WM_NCLBUTTONDOWN                0x00A1
#define WM_NCLBUTTONUP                  0x00A2
#define WM_MOUSEACTIVATE                0x0021
#define WM_COMMAND                      0x0111
#define WM_MOUSEMOVE                    0x0200

#define ID_FIRSTCHILD  100 
#define ID_SECONDCHILD 101 
#define ID_THIRDCHILD  102 



//|                                                        Exper.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"



int han, 
x = 165,
y = 74;

int OnInit()
  {
//--- create timer
   EventSetTimer(10);
   
//---
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {

   EventKillTimer();
   
  }

void OnTick()
  {

  }

void OnTimer()
  {

   int find =  FindWindowW(NULL, "HelloBW");
  // int Find_Ex = FindWindowExW(find, 0, NULL , "Autoriz"); 
  
// SendMessageW(find, WM_MOUSEMOVE, NULL, MakeLParam(165,30));
  
//  SendMessageW(find, WM_SETCURSOR, find, MakeLParam(1, WM_LBUTTONDOWN));
 
 //SendMessageW(find, WM_SETFOCUS, 0, MakeLParam(165, 30));
 
 //SendMessageW(find, WM_MOUSEACTIVATE, 0x0201, MakeLParam(165, 74));
  
//   SendMessageW(find, WM_LBUTTONDBLCLK, 0, MakeLParam(165, 30));
   
   SendMessageW(find, WM_LBUTTONDOWN, 0x0001, MakeLParam(165, 30));
   
   SendMessageW(find, WM_LBUTTONUP, 0, MakeLParam(165, 30));

   int MakeLParam(int LoWord, int HiWord)
    {
      return ((HiWord << 16) | (LoWord & 0xffff));
    }

Handle главного окна находит хорошо, с этим проблем нет.

Хэндл кнопки выявить не могу. Прикол в том что я отправляю идентичные сообщения что и при нажатии мыши, кнопка загорается как будто на нее навели курсор, но самого нажатия не происходит. Закоменченные строки это те которые я пробовал , все четно. 

Хендл кнопки пишет 0. Не находит короче.

int Find_Ex = FindWindowExW(find, 0, NULL , "Autoriz");

Само приложение написано на C# по MVVM. На дизайн приложения не смотрите это тестовый вариант). Я так понимаю какой-то процесс перехватывает нажатие или я что-то не правильно делаю.

Картинку приложения добавил внизу в закрепе, так же добавил скрин Spy++ при нажатии кнопки мышкой вручную и какое сообщение передает МетаЕдитор.

Ну вообщем как-то так. Знатоки пожалуйста помогите, я уже устал 5 дней бьюсь, весь инет облазил.

 
Заметил что когда нажимаешь мышкой, отправляется Post, а я отправлял Send. Поменял на PostMessage, и сейчас результат не приходит, тоесть он ставит мои запросы в очередь, а они видимо не обрабатываются. Хэлп май брэйн)))