Lit*_*ton 7 c# winforms-interop
有一个岗位设置全系统的全局热键在C# 在这里
我想设置应用程序范围的热键,这样如果用户在应用程序的任何子窗口上按下热键,特定窗口将接收并处理它.
谢谢.
小智 6
您可以为应用程序创建基本表单,并将keypreview属性设置为true并处理keydown事件,以便所有表单都具有相同的键定义.
您还可以使用以下例程为表单注册热键,但在此方法中,您需要在每个表单的load事件上调用相同的方法.
protected override bool ProcessCmdKey(ref Message message, Keys keys)
{
switch (keys)
{
case Keys.F2 | Keys.Control:
//Process action here.
return false;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
您也可以使用user32.dll中的以下非托管方法,但我当然不建议这样做.
static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers, uint virtualKey);
private static extern bool UnregisterHotKey(IntPtr hWnd, int id);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2103 次 |
| 最近记录: |