winform 添加热键

 
  
// 如果函数执行成功,返回值不为0。
// 如果函数执行失败,返回值为0。要得到扩展错误信息,调用GetLastError。
[DllImport( " user32.dll " , SetLastError = true )]
public static extern bool RegisterHotKey(
IntPtr hWnd,
// 要定义热键的窗口的句柄
int id, // 定义热键ID(不能与其它ID重复)
KeyModifiers fsModifiers, // 标识热键是否在按Alt、Ctrl、Shift、Windows等键时才会生效
Keys vk // 定义热键的内容
);
[DllImport(
" user32.dll " , SetLastError = true )]
public static extern bool UnregisterHotKey(
IntPtr hWnd,
// 要取消热键的窗口的句柄
int id // 要取消热键的ID
);

  调用api

 
  
// 撤销热键
HotKey.UnregisterHotKey(Handle, 10091 );
HotKey.UnregisterHotKey(Handle,
10092 );


// 注册热键
HotKey.RegisterHotKey(Handle, 10091 , HotKey.KeyModifiers.Ctrl, Keys.Z); // 撤销快捷键
HotKey.RegisterHotKey(Handle, 10092 , HotKey.KeyModifiers.Ctrl, Keys.Y); // 前进快捷键

调用

 
  
protected override void WndProc( ref Message m)
{
// 按快捷键
switch (m.Msg)
{
case 0x0312 :
switch (m.WParam.ToInt32())
{
case 10091 :
// ctrl+Z
break ;
case 10092 :
// ctrl+Y
break ;
}
break ;
}
base .WndProc( ref m);
}

转载于:https://www.cnblogs.com/zyx_blog/articles/2045681.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值