Показать сообщение отдельно
  #1  
Старый 05.05.2011, 19:10
ИльяК ИльяК вне форума
Прохожий
 
Регистрация: 04.05.2011
Адрес: Краснодар
Сообщения: 11
Репутация: 10
По умолчанию Вопрос по GetSubChild ам

Привет всем, прошу помощи, не могу разобраться с командой GetSubChild.
Пишу прогу для автоматизации игрового процесса в одной онлайн флеш-игрушке. Запускается она через браузер, но не получается отправить клик мыши через postmessage в веббраузер.

За основу взял код из этой темы, там теже самые задачи решал человек:

Код:
procedure TfrmMain.ClickToPage(const left: integer; const top: integer);
var
  Pt: TPoint;
  var wnd: HWND;

  begin
  Application.ProcessMessages;
  Pt.x := WebBrowser1.Left + left;
  Pt.y := WebBrowser1.Top + top;
  Pt := ClientToScreen(Pt);
//{Преобразуем Pt к "mickeys" (аболютным координатам курсора мышки}
//Pt.x := Round(Pt.x * (65535 / Screen.Width));
// Pt.y := Round(Pt.y * (65535 / Screen.Height));


  wnd:=frmMain.WebBrowser1.Handle;
  wnd:=frmMain.GetSubChild(wnd);
  wnd:=frmMain.GetSubChild(wnd);
  //ShowMessage(inttostr(wnd)); // выдаст в десятичной то что WinSpy видит в HEX

postmessage(wnd,WM_MOVE,0,(Pt.x shl 16)+ Pt.y);
postmessage(wnd,WM_LBUTTONDOWN,0,(Pt.x shl 16)+ Pt.y);
postmessage(wnd,WM_LBUTTONUP,0,(Pt.x shl 16)+ Pt.y);
Application.ProcessMessages;

Код подрезал, у меня он в таком варианте:
Код:
procedure TForm1.btn5Click(Sender: TObject);
var
  Pt: TPoint;
  var wnd: HWND;
begin
wnd:=form1.wb1.Handle;
wnd:=form1.GetSubChild(wnd); (ругается)
wnd:=form1.GetSubChild(wnd); (ругается)
Pt.x := wb1.Left + 75;
Pt.y := wb1.Top + 442;
  //ShowMessage(inttostr(wnd)); // ?????? ? ?????????? ?? ??? WinSpy ????? ? HEX

postmessage(wnd,WM_MOVE,0,(Pt.x shl 16)+ Pt.y);
postmessage(wnd,WM_LBUTTONDOWN,0,(Pt.x shl 16)+ Pt.y);
postmessage(wnd,WM_LBUTTONUP,0,(Pt.x shl 16)+ Pt.y);
end;
Но ругается на гетсабчильды((. Ошибки: Undeclared identifier: 'GetSubChild'..
Подскажите плз, где чего дописать/прописать нужно, чтобы заработали, без них почему-то клик не выполняется( .
Ответить с цитированием