带有按钮和鼠标点击拦截的自动化。 - 页 2

 
Avals >> :

同一库中的 "int GetLastKeyLP() "和 "int GetLastMouseLP() "函数应该会有帮助。并在函数中使用结果int SendMessageA (int hWnd, int Msg, int wParam, int lParam); int PostMessageA (int hWnd, int Msg, int wParam, int lParam)

我的终端在被调用时总是崩溃。


int hwnd = WindowHandle(Symbol(),Period())。
SendMessageA(hwnd, WM_COMMAND, 514, 0)。


и


int hwnd = WindowHandle(Symbol(),Period())。
PostMessageA(hwnd, WM_COMMAND, 514, 0)。


尽管当我按下工具栏上的策略测试器按钮时,运行中的脚本会输出这样的代码


2008.11.14 15:26:58 shablon EURUSD,Weekly: Mouse Code=513 from window EURUSD,Weekly

 

514是什么?

#import "user32.dll"
   int GetParent (int hWnd);
   int PostMessageA (int hWnd, int Msg, int wParam, int lParam);
#import
//+------------------------------------------------------------------+

   int hwnd = WindowHandle(Symbol(), NULL);

   while (!IsStopped())   {
     hwnd = GetParent( hwnd);
     if ( hwnd==0) break;
     int hwnd_parent = hwnd;   }

   PostMessageA( hwnd_parent, WM_COMMAND,33315,0)


像这样的事情,试试吧。

 
sabluk >> :

514是什么?


由shablon脚本返回的代码。

继续这个主题,现在如何按下启动按钮。

只有当你不能准确地按下它的代码,但我想知道这个值是如何拉出来的原理。

 

我给了你一个命令列表的链接

你可以自己用Winspector Spy这样的程序来捕捉它。

 
HIDDEN >> :

由shablon脚本返回的代码。

继续这个主题,现在如何按下启动按钮。

只有当你无法用代码准确地推送,但又想知道这个值是如何拉出来的原理时,才可以。

我推荐Spy++ 工具,它是Visual Studio发行版的一部分。

 
Ilnur >> :

我推荐你使用Spy++ 工具,它是Visual Studio发行套件的一部分。

我把程序打开,试了一下,什么都不懂。我已经对有已知代码的按钮进行了检查,程序没有显示。

或者我做错了什么。如果你有使用该程序的经验,请对它如何从终端输出代码按钮进行截图。我找不到代码了。


例如,这些是如何在一个程序的帮助下出去的代码


33018 - 切换到 "酒吧 "视图
33019 - 切换到 "蜡烛图 "视图。
33022 - 改用 "线 "表示

 

更正后的脚本是这样工作的

#import "user32.dll"
   int GetParent (int hWnd);
   int PostMessageA (int hWnd, int Msg, int wParam, int lParam);
#import
#define WM_COMMAND       0x0111
//+------------------------------------------------------------------+
int start()
{
   int hwnd = WindowHandle(Symbol(), NULL);

   while (!IsStopped())   {
     hwnd = GetParent( hwnd);
     if ( hwnd==0) break;
     int hwnd_parent = hwnd;   }

   PostMessageA( hwnd_parent, WM_COMMAND,33315,0);
   return(0);
}
//+------------------------------------------------------------------+
 
试试该分支中的其他代码,而不是33315。
 
sabluk >> :
试试支部列表中的其他代码,而不是33315。

我对检查代码不感兴趣,但对如何查出代码感兴趣。我需要打电话给测试器,按测试器上的开始按钮,然后按按钮。为了按下所有这些,我需要了解如何找出这些代码。


>>和你给我的代码,我自己修好了。

 

只是我从那条线上不太清楚如何切换到测试器窗口。也就是说,找出窗口的Handle,然后运行这个循环。但问题是,这种方法不是很好,终端经常崩溃。