我有一个数组,里面填满了来自InputSimulator的键名。
readonly string[] keys = new string[119]
{
"",
"TAB",
"RETURN",
"SHIFT",
"CONTROL",
...
}在那之后,我用这个字符串填充组合框。有3个组合框。
所以,我想使用这样一个函数:
sim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_V);是否可以用组合框中选择的键名填充此函数的参数?
我很清楚如何使用SendKeys函数,因为它使用字符串作为参数,但现在我需要使用InputSimulator。
发布于 2019-12-02 04:18:37
您可以让数组按键在VirtualKeyCode枚举中的顺序包含所有键。然后,只要使用ModifiedKeyStroke,就可以将其转换为VirtualKeyCode。
就像这样
sim.Keyboard.ModifiedKeyStroke((VirtualKeyCode)combobox1.SelectedIndex, (VirtualKeyCode)combobox2.SelectedIndex);
编辑:
更好的是,您可以使用Enum.Parse(typeof(VirtualKeyCode), comboboxvalue)根据combobox字符串值获取所需的枚举,并在函数中使用它。
如下所示:
sim.Keyboard.ModifiedKeyStroke((VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), combobox1value), (VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), combobox2value);https://stackoverflow.com/questions/59129436
复制相似问题