Tôi đang làm việc trên phần mềm của riêng mình để vận hành chuột trên máy tính của tôi bằng cách sử dụng C# và kinect SDK. Tôi thực sự muốn thử sử dụng nó để chơi một trò chơi như Red Alert, hoặc một số loại RTS, hoặc thậm chí chỉ để điều hướng chung.Mô phỏng chuột trong một chương trình khác
Sự cố mà tôi thấy là khi sử dụng chương trình có chuột khác, như cảnh báo màu đỏ hoặc đi vào máy ảo nơi tích hợp chuột không được hỗ trợ, chương trình sẽ không nhận cuộc gọi Chương trình C# đang thực hiện các cuộc gọi System.Windows.Forms.Cursor, hãy để một mình các cuộc gọi mouse_event. Tôi mới để giao tiếp với các cửa sổ và những gì đang xảy ra ở đây, ai đó có thể giải thích/đặt ra một giải pháp?
--UPDATE-- Là bản cập nhật, tôi vẫn chưa hoàn toàn chắc chắn điều gì đang xảy ra, nhưng dường như tôi đã tìm thấy giải pháp cho cảnh báo màu đỏ nói riêng;
Vì cảnh báo màu đỏ là một chương trình đồ họa khá thấp nên việc chạy nó trong máy ảo dành riêng cho tôi, máy trạm vmware với máy khách XP là điều không quan trọng. Nếu bạn sử dụng mã mouse_event nó hoạt động tốt, BAO GIỜ, một cái gì đó mà tôi phải vật lộn với việc tìm kiếm mã chính xác để biểu diễn chuyển động của chuột. Dường như cờ MOVE di chuyển chuột tương đối, mà tôi không muốn, và thẻ tuyệt đối không di chuyển chuột. Đó là, trên thực tế, OR trong số họ sản xuất phong trào tuyệt đối trên màn hình, do đó, mã của tôi cho di chuyển chuột và thi đua nhấn kết thúc tìm kiếm như thế này:
mouse_event((int)0x00000002, cursor.X, cursor.Y, 0, 0);
cho cách nhấn và
mouse_event((int)(0x00000001 | 0x00008000), x, y, 0 0);
cho di chuyển chuột, trong đó x và y là tọa độ mới trong số 65535 (phạm vi tuyệt đối). Nó có hoàn hảo không? Nah. Nhưng nó hoạt động ngay bây giờ. Tôi nghĩ rằng có một cái gì đó để làm với các cửa sổ cách bỏ qua các chương trình nhất định khi nó chạy ra, có lẽ vì chế độ tương thích? Tôi không có một trò chơi khác để kiểm tra nó ngay bây giờ, nhưng tôi sẽ đăng kết quả bằng một chế độ không tương thích trong tương lai.
- Pete
(Nó sẽ không cho phép tôi gửi như một câu trả lời cho hai giờ khác và tôi phải ngủ để bắt một chuyến bay vào buổi sáng!)
Tôi khuyên bạn nên sử dụng chức năng 'SendInput' trên chức năng' mouse_event' không dùng nữa. –