gpt4 book ai didi

c# - 在 C# 中设置应用程序范围的热键

转载 作者:太空狗 更新时间:2023-10-29 20:25:41 24 4
gpt4 key购买 nike

有帖子在C#中设置系统范围的全局热键 here

我想设置应用程序范围的热键,这样如果用户在应用程序的任何子窗口上按下热键,特定窗口将接收并处理它。

谢谢。

最佳答案

您可以为您的应用程序创建一个基本表单并将 keypreview 属性设置为 true 并处理 keydown 事件,这样您的所有表单都将具有相同的键定义。

您也可以使用以下例程为您的表单注册热键,但在这种方法中,您需要在每个表单的加载事件上调用相同的方法。

protected override bool ProcessCmdKey(ref Message message, Keys keys)
{
switch (keys)
{
case Keys.F2 | Keys.Control:
//Process action here.
return false;
}

return false;
}

您还可以使用 user32.dll 中的以下非托管方法,但我当然不建议这样做。

static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers, uint virtualKey);
private static extern bool UnregisterHotKey(IntPtr hWnd, int id);

关于c# - 在 C# 中设置应用程序范围的热键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4377565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com