| 
			
			 
			
				20.10.2010, 09:06
			
			
			
		 | 
	| 
		
			
			| Начинающий |  | 
					Регистрация: 05.10.2010 Сообщения: 112
 Репутация: 1227     |  | 
	| 
				  
 Перекопал кучу русскоязычных форумов - отправился за материалом в буржунет. Решение существует. Дело в том, что нужно передавать хэндл дочернего окна. А проблема - получается такая "матрёшка" что до нужного хэндла нужно докопаться.  
Вот приблизительный код:
 
	Цитата: 
	
		| procedure TfrmMain.Button3Click(Sender: TObject); var
 Pt: TPoint;
 left, top:integer;
 Wnd:HWnd;
 
 begin
 left:=strtoint(Edit31.Text);
 top:=strtoint(Edit32.Text);
 {Позволим кнопке перерисоваться}
 Application.ProcessMessages;
 {Найдем координаты центра button 1}
 Pt.x := WebBrowser1.Left + left;
 Pt.y := WebBrowser1.Top + top + 25; //костыль в 25 от верхней границы (PageBox)
 
 Pt := ClientToScreen(Pt);
 Pt.x := Round(Pt.x * (65535 / Screen.Width));
 Pt.y := Round(Pt.y * (65535 / Screen.Height));
 
 
 Wnd:=FindWindow('TfrmMain',nil);
 Wnd:=FindWindowEx(Wnd,0,'TPageContol',nil);
 Wnd:=FindWindowEx(Wnd,0,'Shell Embedding',nil);
 Wnd:=FindWindowEx(Wnd,0,'Shell DocObject View',nil);
 Wnd:=FindWindowEx(Wnd,0,'Internet Explorer_Server',nil);
 Wnd:=FindWindowEx(Wnd,0,'MacromediaFlashPlayerActi  veX',nil);
 
 
 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;
 
 |  
Меня смущает TPageContol - там вкладки две. Как на нужную вывести? Кто сможет объяснить как добраться до нужного хэндла? Вот вывод Spy++:
			
			
			
			
				  |