我正在尝试为我的Windows窗体获取全局按键,而不会覆盖全局。我已尝试设置Keypress = true
,但只有在表单处于活动状态时才会按下键,我还尝试使用
[DllImport("user32.dll")]
private static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers, uint vk);
[DllImport("user32.dll")]
private static extern bool UnregisterHotKey(IntPtr hWnd, int id);
但是这会覆盖我不想做的关键。在某些地方,我可以在全球范围内检测到按键而不会覆盖它吗?
由于
答案 0 :(得分:0)
您可以尝试在表单上使用ProcessCmdKey
。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
MessageBox.Show(keyData.ToString());
return base.ProcessCmdKey(ref msg, keyData);
}