Библиотека InputSimulator в игре

182
24 ноября 2018, 20:50

В игру не передает нажатие клавиш, несмотря на то, что окно активно.

[DllImport("user32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
private void button1_Click(object sender, EventArgs e)
{
    IntPtr DialogHandle = FindWindow(null, "окно игры");
    if (DialogHandle == IntPtr.Zero)
    {
        MessageBox.Show("Window is not running.");
        return;
    }
    SetForegroundWindow(DialogHandle);
    InputSimulator sim = new InputSimulator();
    sim.Keyboard.KeyPress((VirtualKeyCode)0x28);
}

Воспользовавшись поиском, я понял что это из-за защиты в самой игре, но углубившись в эту проблему, многие ссылаются на то, что SendInput - прекрасно справляется с заданной задачей, а в этой библиотеке как раз он и используется, но увы, не работает :(

Подтолкните, пожалуйста, на путь истинный.

READ ALSO
Unity поиск элементов UI через Ray

Unity поиск элементов UI через Ray

Можно ли через Ray найти UIPanel и узнать что написано в UI

139
Включение и отключение объекта в коде С# Unity 2d

Включение и отключение объекта в коде С# Unity 2d

При нажатии на кнопку "K" объект должен появлятся обратно, но он не появляется (в консоле ошибок нету)

138
с# объединение списков

с# объединение списков

Правильно ли я объединил списки или можно по другому сделать?

139
Scroll в MasterDetailPage Xamarin

Scroll в MasterDetailPage Xamarin

Есть такой код:

143