Flytte markøren i aktivt vindu?

Tags:    delphi

Hvordan kan jeg flytte markøren kun i det aktive vinduet?
Dette flytter markøren i området rundt hele skjermen:

procedure MouseMoveActiveWindow(x, y: Integer);
var
Pt : TPoint;
begin
Pt.x := Round(x * 65535 / Screen.Width);
Pt.y := Round(y * 65535 / Screen.Height);
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, Pt.x, Pt.y, 0, 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
MouseMoveActiveWindow(250, 250);
end;

DiZpel



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Det jeg mener er at:

Hvis jeg bruker

procedure TForm1.Button1Click(Sender: TObject);
begin
MouseMoveActiveWindow(250, 250);
end;

så vil jeg at musemarkøren skal flyttes til 250(x), 250(y) i det aktive vinduet (eks "IExplorer" eller "Notepad").

Håper at du forstår...

DiZpel


en simpel mulighed ville være, at du adderer left og top til x og y-værdierne.
hvis du fx vil ha cursoren 10,10 inde paa en pågældende form, og formens skærmkoordinater er givet ved left, top (se objekt inspec.) kan du få cursoren derhen ved at sige: x := left + 10 og y := top + 10. hvis der er tale om fremmede programmers koordinater, saa maa du have fat i nogle api-funktioner. se dertil i delphis windows api-hjælpefil.
mvh: jakob wilm

[Redigeret d. 05/08-03 23:08:22 af Jakob Wilm]



Hvordan kan jeg flytte markøren kun i det aktive vinduet?
Dette flytter markøren i området rundt hele skjermen:

procedure MouseMoveActiveWindow(x, y: Integer);
var
Pt : TPoint;
begin
Pt.x := Round(x * 65535 / Screen.Width);
Pt.y := Round(y * 65535 / Screen.Height);
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, Pt.x, Pt.y, 0, 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
MouseMoveActiveWindow(250, 250);
end;
DiZpel


Hvad mener du? Hvilken slags markør er der tale om? Er det i et tekst vindue eller hvad???
***************************************
***************** nife ******************
***************************************



Hvordan kan jeg flytte markøren kun i det aktive vinduet?
Dette flytter markøren i området rundt hele skjermen:

procedure MouseMoveActiveWindow(x, y: Integer);
var
Pt : TPoint;
begin
Pt.x := Round(x * 65535 / Screen.Width);
Pt.y := Round(y * 65535 / Screen.Height);
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, Pt.x, Pt.y, 0, 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
MouseMoveActiveWindow(250, 250);
end;
DiZpel

Hvad mener du? Hvilken slags markør er der tale om? Er det i et tekst vindue eller hvad???
***************************************
***************** nife ******************
***************************************


Det jeg mener er at:

Hvis jeg bruker

procedure TForm1.Button1Click(Sender: TObject);
begin
MouseMoveActiveWindow(250, 250);
end;

så vil jeg at musemarkøren skal flyttes til 250(x), 250(y) i det aktive vinduet (eks "IExplorer" eller "Notepad").

Håper at du forstår...

DiZpel



Fant ut av det.

DiZpel



t