Получилось! Только спускать нужно было не до флешки, а до браузера. Навёл WinSpy++ на окно. Показало, что это браузер и уточнил его хэндл. Используя твою функцию и выводя промежуточные хэндлы "спустился" до нужного окна.
Код выглядит приблизительно так:
Код:
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;
Окно свёрнуто. Активным стать не пытается. Иногда правда что-то не попадаеть, но я думаю это из-за моего остального кода. У меня случайные координаты для клика в случайное место кнопки. Я его ещё не поправил.