Привет всем, прошу помощи, не могу разобраться с командой GetSubChild.
Пишу прогу для автоматизации игрового процесса в одной онлайн флеш-игрушке. Запускается она через браузер, но не получается отправить клик мыши через postmessage в веббраузер.
За основу взял код из
этой темы, там теже самые задачи решал человек:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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);
wnd:=frmMain . WebBrowser1 . Handle;
wnd:=frmMain . GetSubChild(wnd);
wnd:=frmMain . GetSubChild(wnd);
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;
|
Код подрезал, у меня он в таком варианте:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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 ;
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'..
Подскажите плз, где чего дописать/прописать нужно, чтобы заработали, без них почему-то клик не выполняется( .