Вопрос

Как бы я приступил к созданию небольшой программы, которая продолжает перемещать мышь вверх?


Для тех, кто хотел бы знать, tt - это крошечная одноразовая штучка.Я играю в Star Wars The Force Unleashed.В консольных версиях вы бы держали правую ручку вверх.В плохой консольный порт на ПК, вы используете мышь.Может быть, вы сможете понять мое разочарование.

Это было полезно?

Решение

SetCursorPos сделаем это в неуправляемом коде.Я не уверен, существует ли .NET-метод для выполнения того же, но вы всегда можете использовать com-взаимодействие.Это в User32.dll

[DllImport("user32.dll")]
static extern bool SetCursorPos(int X, int Y);

небольшой Google выдает это как Эквивалент SetCursorPos для .net

System.Windows.Form.Cursor.Position

Другие советы

Это проблема механического программирования, а не CSharp.

  • Вам нужно подключить вторую мышь, и приобрести дешевую проводную дрель с регулируемой скоростью вращения .
  • Установите шлифовальный барабан на дрель оберните его полосатой бумагой и установите на самую низкую скорость.
  • Затем наденьте скобу на невращающийся корпус дрели, которая будет удерживать мышь с датчиком рядом с вращающейся полосатой бумагой.
  • Убедитесь, что мышь направлена в правильном направлении, чтобы имитировать движение вверх.

Чтобы выполнить программу, поверните выключатель питания на шнуре питания, к которому подключена дрель.

Редактировать:если вам нужен более переносимый код, используйте беспроводную дрель.Батарейки в комплект не входят.

Я не знаю игру, но внутренне Windows отправляет сообщения при перемещении мыши.Они отправлены SendMessage() Вызов API для приложения.В C # вам пришлось бы либо использовать тот же Win32 API напрямую, либо, возможно, путем создания / отправки события?Однако не уверен, как отправить событие в другое запущенное приложение.

Вызов SendMessage() Win32 API, определенный в C #, будет выглядеть следующим образом:

[DllImport("user32.dll")]
        public static extern int SendMessage(
              int hWnd,     // handle to destination window
              uint Msg,     // message
              long wParam,  // first message parameter
              long lParam   // second message parameter
              );

Вы пробовали использовать контроллер или джойстик?

http://www.merconnet.com/product_info.php?products_id=44

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top