Düğme ve fare tıklamalarının durdurulmasıyla otomasyon. - sayfa 2

 
Avals >> :

Aynı kitaplıkta bulunan "int GetLastKeyLP()" ve "int GetLastMouseLP()" işlevleri yardımcı olacaktır. Ve sonucu int SendMessageA ( int hWnd , int Msg , int wParam , int lParam ) ; int PostMessageA ( int hWnd , int Mesaj , int wParam , int lParam ) ;

Bana bir şey, terminal bir çağrıda sürekli düşüyor.


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


ve


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


Komut dosyası çalışıyor olsa da, araç çubuğundaki strateji test cihazı düğmesine tıkladığınızda bu kodu görüntüler.


2008.11.14 15:26:58 shablon EURUSD,Haftalık: Fare kodu=513 EURUSD'den,Haftalık pencere

 

514 nedir?

 #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 )


böyle bir şey dene

 
sabluk >> :

514 nedir?


Shablon betiği tarafından döndürülen kod.

Konuya devam, şimdi start butonuna nasıl basılacağı.

Sadece bana tam olarak koda nasıl basacağımı söyleyemezseniz, ancak bu değerin nasıl çekildiğinin ilkesini bilmek istiyorum.

 

Orada bir komut listesi verdim

Winspector Spy gibi bir programla kendin yakalayabilirsin

 
HIDDEN >> :

Shablon betiği tarafından döndürülen kod.

Konuya devam, şimdi start butonuna nasıl basılacağı.

Sadece bana tam olarak koda nasıl basacağımı söyleyemezseniz, ancak bu değerin nasıl çekildiğinin ilkesini bilmek istiyorum.

Visual Studio dağıtımında bulunan Spy++ yardımcı programını öneririm.

 
Ilnur >> :

Visual Studio dağıtımında bulunan Spy++ yardımcı programını öneririm.

Prog'u kurdum, etrafını dürttüm ve bir nifiga anlamadım. Kodun bilindiği düğmeleri zaten kontrol ettim, program göstermiyor.

Yoksa yanlış bir şey mi yapıyorum. Programla ilgili deneyimi olanlar, terminalden düğme kodunun nasıl görüntülendiğini gösteren bir ekran yapın. ve açıklamalar küçük olsa da. Kodu bulamadım.


örneğin, bu kodlar programı kullanarak nasıl çıkarılacağıdır.


33018 - "çubuklar" görünümüne geçiş
33019 - "mumlar" görünümüne geç
33022 - "çizgi" görünümüne geç

 

betiği bu şekilde düzeltti

 #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 ) ;
}
//+------------------------------------------------------------------+
 
o daldaki listeden 33315 başka kod yerine deneyin
 
sabluk >> :
o daldaki listeden 33315 başka kod yerine deneyin

Kodları kontrol etmekle ilgilenmiyorum, ancak bu kodları nasıl bulacağım. Test cihazını aramam ve test cihazındaki Başlat düğmesine basmam ve ardından düğmeye daha fazla basmam gerekiyor. Ve tüm bunlara basmak için, bu kodları nasıl tanıyacağınızı anlamanız gerekir.


ve bana verdiğiniz kodu hemen düzelttim.

 

Sadece bu daldan, test penceresine nasıl geçeceğimi henüz tam olarak anlayamadım. onlar. Bir pencerenin tutamağını öğrenmek ve ardından bir tsykl'yi çıkarmak. Ancak sorun şu ki, bu yaklaşım çok iyi değil, terminal genellikle çöküyor.