Just nu i M3-nätverket
Gå till innehåll
dreamwax

självklickande mus

Rekommendera Poster

jag sitter och gör ett litet simpel macro där min mus ska göra vissa saker automatiskt.

 

Går det att göra så att musen klickar på en viss kordinat på skärmen ?(över alla programfönster som ligger uppe , dvs så den inte klickar på bara desktopfönstret om det skulle ligga ett annat fönster på den koordinaten)

 

 

jättebussigt om det är ngn som kan detta och vill dela med sig.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Använd dig av SetCursorPos för att klicka på en specifik kordinat.

 

 

[DllImport("user32.dll", SetLastError=true)]
[return:MarshalAs(UnmanagedType.Bool)]
public static extern bool SetCursorPos(int X, int Y);

 

 

eller av Cursor.Position

Exempelkod:

 

private void MoveCursor()
{
  if(!this.Cursor.Equals(Cursors.Default))
  {
  this.Cursor = new Cursor(Cursor.Current.Handle);
  Cursor.Position = new Point(Cursor.Position.X - 50, Cursor.Position.Y - 50);
  Cursor.Clip = new Rectangle(this.Location, this.Size);
  }
}

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Använd dig av SetCursorPos för att klicka på en specifik kordinat.

Förtydligande så att inte dreamwax tror att det verkligen genererar ett klick. SetCursorPos() klickar inte någonstans, den flyttar pilen till en kordinat.

 

Följande ur ett rent Win32-perspektiv, det finns med säkerhet lättare sätt att göra det "native" from C# (men C# är jag för ouppdaterad på så det får någon annan förklara isåfall).

Typiskt gör man ett klick genom att skicka en WM_LBUTTONUP följt av en WM_LBUTTONDOWN till det som råkar ligga på kordinaten ifråga. Principerna är dock desamma för att ropa på SendMessage som för att ropa på SetCursorPos().

För att hitta mottagaren för klicket så är det förmodligen enklast att använda WindowFromPoint().

 

Dokumentationslänkar:

SetCursorPos(): http://surl.se/algu

SendMessage(): http://surl.se/algv

WM_LBUTTONUP: http://surl.se/algx

WM_LBUTTONDOWN: http://surl.se/algy

WindowFromPoint(): http://surl.se/algz

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...