sendmessage i mysz

0

Witam

Lecimy. Chce uzyskac klikniecie myszka, ale tak zeby nie wywolywac aplikacji. Tak zeby wszystko dzialo sie w tle.
niebardzo moge poradzic sobie z wysylaniem komunikatow. szukalem na msdn i na google ale nie bardzo chce to wszystko dzialac.

Tutaj log z Spy++: http://www.paste.to/ODQzOQ==

Prosze o pomoc.

dodane:
takie cos mi sie o zrobic ale niestety nie dziala :(


var  p:TPoint;
    bHandle:HWND;
    i:integer;
begin
  p.x:=445;
  p.y := 126;
  Sleep(4000);
  //SendMessage(arhwnd[id].handle, WM_NCHITTEST, 0, MakeLparam(p.x,p.y));
  if ( sendMessage(arhwnd[id].handle, WM_SetCursor, arhwnd[id].handle,  MakeLparam(HTCLIENT,WM_MOUSEMOVE) ) = 1 ) then
  PostMessage(arhwnd[id].handle, WM_MouseMove, 0, MakeLparam(p.x,p.y));
  Sleep( 300 );
  //SendMessage(arhwnd[id].handle, WM_NCHITTEST, 0, MakeLparam(p.x,p.y));
  if ( sendMessage(arhwnd[id].handle, WM_SetCursor, arhwnd[id].handle,  MakeLparam(HTCLIENT,WM_LBUTTONDOWN) ) = 1 ) then
  PostMessage(arhwnd[id].handle, WM_LBUTTONDOWN, MK_LBUTTON,  MakeLparam(p.x,p.y));
    Sleep( 300 );
  //SendMessage(arhwnd[id].handle, WM_NCHITTEST, 0, MakeLparam(p.x,p.y));
  if ( sendMessage(arhwnd[id].handle, WM_SetCursor, arhwnd[id].handle,  MakeLparam(HTCLIENT,WM_LBUTTONUP) ) = 1 ) then
  PostMessage(arhwnd[id].handle, WM_LBUTTONUP, 0,  MakeLparam(p.x,p.y));
end;

<00001> 00260864 S WM_SETCURSOR hwnd:00260864 nHittest:HTCLIENT wMouseMsg:WM_MOUSEMOVE
<00002> 00260864 R WM_SETCURSOR fHaltProcessing:True
<00003> 00260864 P WM_MOUSEMOVE fwKeys:0000 xPos:445 yPos:126
<00004> 00260864 S WM_SETCURSOR hwnd:00260864 nHittest:HTCLIENT wMouseMsg:WM_LBUTTONDOWN
<00005> 00260864 R WM_SETCURSOR fHaltProcessing:True
<00006> 00260864 P WM_LBUTTONDOWN fwKeys:MK_LBUTTON xPos:445 yPos:126
<00007> 00260864 S WM_SETCURSOR hwnd:00260864 nHittest:HTCLIENT wMouseMsg:WM_LBUTTONUP
<00008> 00260864 R WM_SETCURSOR fHaltProcessing:True
<00009> 00260864 P WM_LBUTTONUP fwKeys:0000 xPos:445 yPos:126

po odkomentowaniu WM_NCHITTEST nic nie daje. Czy za malo cos wysylam ?

0

ktoś coś wie ? albo przynajmniej naprowadzić mnie może ? :D ponad 70 osób oglądnęło i nic ?

0

Bo tak naprawdę to chyba nikt nie rozumie o co Ci chodzi. Chcesz zasymulować kliknięcie np. na button w oknie którego nie widać?

0

tak dokładnie chce zrobić. Chcę kliknąć w punkt w innym programie. ale tak zeby go nie wywolywac wiec mouse_event odpada.

0

Spróbuj pobrać uchwyt tego przycisku i wtedy SendMessage(BN_CLICKED, ..) albo SendMessage(WM_COMMAND, ..) z odpowiednimi parametrami.
http://msdn.microsoft.com/en-us/library/ms647591(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/ms647591(v=vs.85).aspx
Nie wiem czy o to chodzi, ale może się przyda.

0

tylko ze to nie jest przycisk. Jest to gra i nie ma przycisków.

0

No nareszcie napisałeś, że chodzi o grę... to zmienia postać rzeczy.

Jeśli chcesz napisać kolejny TibiaBot to ...dobrze trafiłeś ;]

0

nie nie, nie do Tibii. Ale no bot'a bot'a bardziej po to aby nauczyć się czegoś niż grać. Nie mam zamiaru go nigdzie udostępniać tak dla siebie go robię.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0