C# InputSimulator:从组合框中选择键
C# InputSimulator: choosing key from combobox
我有一个数组,里面填满了来自 InputSimulator 的键名。
readonly string[] keys = new string[119]
{
"",
"TAB",
"RETURN",
"SHIFT",
"CONTROL",
...
}
之后我用这个字符串填充组合框。
有 3 个组合框。
所以,我想使用这样一个功能:
sim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_V);
是否可以使用在组合框中选择的键名来填充此函数的参数?
我很清楚如何使用 SendKeys 函数执行此操作,因为它使用字符串作为参数,但现在我需要使用 InputSimulator 来执行此操作。
您可以让数组按照它们在 VirtualKeyCode
枚举中的顺序包含所有键。然后你只要用 ModifiedKeyStroke
.
就把它转换成 VirtualKeyCode
像这样
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);
我有一个数组,里面填满了来自 InputSimulator 的键名。
readonly string[] keys = new string[119]
{
"",
"TAB",
"RETURN",
"SHIFT",
"CONTROL",
...
}
之后我用这个字符串填充组合框。 有 3 个组合框。
所以,我想使用这样一个功能:
sim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_V);
是否可以使用在组合框中选择的键名来填充此函数的参数?
我很清楚如何使用 SendKeys 函数执行此操作,因为它使用字符串作为参数,但现在我需要使用 InputSimulator 来执行此操作。
您可以让数组按照它们在 VirtualKeyCode
枚举中的顺序包含所有键。然后你只要用 ModifiedKeyStroke
.
VirtualKeyCode
像这样
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);