【发布时间】:2018-09-20 14:42:15
【问题描述】:
我正在编写一个 WPF 应用程序,它允许用户按下键盘上的一个键,然后存储虚拟键代码以供以后执行 目前,我的代码只捕获 KeyChar
private void Window_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
System.Windows.MessageBox.Show("Key char : " + e.Key);
}
在稍后阶段,代码会以类似的方式执行...
else if(e.Result.Text.Equals("windows"))
{
//windows key down
keybd_event((byte)VK_LWIN, 0x5B, 0, 0);
//windows key up
keybd_event((byte)VK_LWIN, 0x5B, KEYEVENTF_KEYUP, 0);
}
keybd_event 方法使用虚拟键码来识别程序需要在系统上执行的键。
我可以轻松捕获并执行这些单独的变量
但是如何将 keyChar 转换为虚拟键代码以存储然后在单独的窗口中执行?
用户 32 DLL 方法.. https://www.pinvoke.net/default.aspx/user32.keybd_event
【问题讨论】:
标签: c# wpf pinvoke user-input user32