Pracuję nad aplikacją formularza Windows w języku C#, Framework 4 (32-bitowe).Przenoszenie myszy na pozycję i kliknięcie lewym przyciskiem myszy
Mam listę, która zawiera symbole myszy i mogę je przechwycić. Jak na razie dobrze.
Ale w pewnym momencie chcę przejść do tych współrzędnych i kliknąć lewym przyciskiem myszy.
Jak to wygląda teraz:
for (int i = 0; i < coordsX.Count; i++)
{
Cursor.Position = new Point(coordsX[i], coordsY[i]);
Application.DoEvents();
Clicking.SendClick();
}
a klasa Kliknięcie:
class Clicking
{
private const UInt32 MOUSEEVENTF_LEFTDOWN = 0x0002;
private const UInt32 MOUSEEVENTF_LEFTUP = 0x0004;
private static extern void mouse_event(
UInt32 dwFlags, // motion and click options
UInt32 dx, // horizontal position or change
UInt32 dy, // vertical position or change
UInt32 dwData, // wheel movement
IntPtr dwExtraInfo // application-defined information
);
// public static void SendClick(Point location)
public static void SendClick()
{
// Cursor.Position = location;
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, new System.IntPtr());
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, new System.IntPtr());
}
}
Ale ja dostaję ten błąd:
Could not load type 'program.Clicking' from assembly 'program, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' because the method 'mouse_event' has no implementation (no RVA).
a ja naprawdę nie rozumiem, na czym polega problem ... Czy wiecie, na czym polega problem? czy znasz lepszy sposób na robienie tego, co próbuję zrobić?
Wstawiłem ten wiersz do klasy kliknięcia, ale wciąż ten sam błąd – Mathlight
Czy usunąłeś swoją deklaminację 'mouse_event'? upewnij się, że to robisz i zastąp to tym. – Serdalis
A w jaki sposób ten sposób wysyłania danych będzie pasował do mojego pytania? ponieważ jestem bardzo nowy i nie wiem czy potrzebuję całego kodu z linku ... – Mathlight