C# InputSimulator: выбор ключа из поля со списком
У меня есть массив, заполненный именами ключей из InputSimulator.
readonly string[] keys = new string[119]
{
"",
"TAB",
"RETURN",
"SHIFT",
"CONTROL",
...
}
После этого я заполняю выпадающие списки этими строками. Есть 3 комбинированных списка.
Итак, я бы хотел использовать такую функцию:
sim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_V);
Можно ли заполнить аргументы этой функции именами клавиш, которые были выбраны в выпадающих списках?
Для меня было очевидным, как это сделать с помощью функции SendKeys, потому что она использовала строку в качестве аргумента, но теперь мне нужно сделать это с помощью InputSimulator.
1 ответ
У вас может быть массив, содержащий все ключи в том порядке, в котором они находятся на 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);