neste caso estou tirando print da tela toda, do desktop ! eu tiro a print com o client e envio pro serve e ele exibe pra min no meu image. já esta fazendo isso, porem eu quero enviar o meu click do serve para o client em determinada regiao,... EX: quero clica em uma uma pasta para abrir ela e ele esta clicando na pasta de baixo, como se tivesse desalinhado na resolucao... ou enviando o click com alguma diferenca... ~ SERVIDOR : procedure TfrmOperador.Image1DblClick(Sender: TObject); begin If (recConfig.MOUSE = True) Then Begin // SServer.Socket.Connections[0].SendText('<|MouseDC|>'); sserver.Socket.Connections[0].SendText('<|MouseDC|>'+intToStr(posx)+'<|>'+intToStr(posy)+'<<|'); End; end; no meu client esta do seguinte modo o click e o duplo click, no caso é apenas um procedure... ~ CLIENT procedure TForm1.CSRead(Sender: TObject; Socket: TCustomWinSocket); var sMSG: String; iPosicao, iPosicao2, iPosicao3: Integer; Pt: TPoint; PosX, PosY: String; begin sMSG := Socket.ReceiveText; // COMANDO PARA ENVIAR / RECEBER A FOTO iPosicao := Pos('<IMAGEM>', sMSG); If (iPosicao > 0) Then Begin ImagemStream:=TMemoryStream.Create; CapturaTela(ExtractFilePath(Application.ExeName)+'Tela.JPEG', StrToInt(Copy(sMSG, 09, 02))); ImagemStream.Position:=0; Socket.SendText(inttostr(ImagemStream.Size) + '<|TAMANHO_FOTO|>'); Sleep(100); Socket.SendStream(ImagemStream); end; iPosicao := Pos('<CLICK>', sMSG); If (iPosicao > 0) Then Begin iPosicao2 := Pos('><', sMSG); iPosicao3 := Pos('>[', sMSG); PosX := Copy(sMSG, iPosicao2+2, iPosicao3-iPosicao2-2); PosY := Copy(sMSG, iPosicao3+2, Length(sMSG)-1); PosY := StringReplace(PosY, ']', '', []); Pt := ClientToScreen(Pt); Pt.x := Round(StrToInt(PosX) * (65535 / Screen.Width)); Pt.y := Round(StrToInt(PosY) * (65535 / Screen.Height)); {Move o mouse} Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, Pt.x, Pt.y, 0, 0); {Simula o pressionamento do botãoesquerdo do mouse} Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pt.x, Pt.y, 0, 0); { Simula soltando o botãoesquerdo do mouse } Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, Pt.x, Pt.y, 0, 0); End; iPosicao := Pos('<|MouseDC|>', sMSG); If (iPosicao > 0) Then Begin mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); Sleep(10); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); Sleep(10); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); Sleep(10); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); End; end;