C# 输入模拟器:从组合框中选择键



>我有来自InputSimulator的键名填充的数组。

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

之后,我用这个字符串填充组合框。 有3个组合框。

所以,我想使用这样的函数:

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

是否可以用组合框中选择的键名称填充此函数的参数?

这对我来说是无知的,如何使用 SendKeys 函数来做到这一点,因为它使用字符串作为参数,但现在我需要使用 InputSimulator 来做到这一点。

您可以让数组按照它们在VirtualKeyCode枚举中的顺序包含所有键。然后,您只需在使用它后立即将其转换为VirtualKeyCodeModifiedKeyStroke.

这样

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);

最新更新