C # InputSimulator: выбор ключа из выпадающего списка - PullRequest
0 голосов
/ 01 декабря 2019

У меня есть массив, заполненный именами ключей из InputSimulator.

readonly string[] keys = new string[119] 
    {   
        "",
        "TAB",
        "RETURN",
        "SHIFT",
        "CONTROL", 
        ...
    }

После этого я заполняю комбинированные списки этой строкой. Есть 3 выпадающих списка.

Итак, я хотел бы использовать такую ​​функцию:

sim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_V);

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

Для меня было очевидным, как это сделать с помощью функции SendKeys, потому что она использовала строку в качестве аргумента, но теперь мне нужно сделать это с InputSimulator.

1 Ответ

1 голос
/ 01 декабря 2019

Массив может содержать все ключи в том порядке, в котором они перечислены в перечислении VirtualKeyCode. Затем вы просто разыгрываете его в VirtualKeyCode, как только используете ModifiedKeyStroke.

, например,

sim.Keyboard.ModifiedKeyStroke((VirtualKeyCode)combobox1.SelectedIndex, (VirtualKeyCode)combobox2.SelectedIndex);

РЕДАКТИРОВАТЬ:

Еще лучше то, что вы можете использовать Enum.Parse(typeof(VirtualKeyCode), comboboxvalue), чтобы получить желаемое перечисление на основе значения строки в выпадающем списке и использовать его в функции.

Примерно так:

sim.Keyboard.ModifiedKeyStroke((VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), combobox1value), (VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), combobox2value);
...