Tôi đang làm việc trên Ứng dụng biểu mẫu Windows trong C#, Khung 4 (32 bit).Di chuyển chuột đến vị trí và nhấp chuột trái
Tôi có một danh sách chứa coords của chuột và tôi có thể chụp chúng. Càng xa càng tốt.
Nhưng tại một thời điểm nào đó, tôi muốn đi đến các hợp âm đó và nhấp chuột trái vào nó.
Đây là cách có vẻ như ngay bây giờ:
for (int i = 0; i < coordsX.Count; i++)
{
Cursor.Position = new Point(coordsX[i], coordsY[i]);
Application.DoEvents();
Clicking.SendClick();
}
Và lớp Nhấp:
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());
}
}
Nhưng tôi nhận được lỗi này:
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).
Và tôi thực sự không hiểu vấn đề là gì ... Các bạn có biết vấn đề là gì không? hoặc bạn có biết cách tốt hơn để làm những gì tôi đang cố gắng làm không?
Tôi đã chèn dòng đó vào lớp nhấp chuột, nhưng vẫn lỗi tương tự – Mathlight
Bạn có xóa quá trình giải mã của bạn về 'mouse_event' không? chắc chắn rằng bạn làm điều đó và thay thế nó bằng cách này. – Serdalis
Và làm thế nào mà sendinput sẽ làm việc cụ thể cho câu hỏi của tôi? bởi vì tôi mới biết điều này, và tôi không biết nếu tôi cần tất cả các mã từ các liên kết ... – Mathlight