类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们的问题的解决方法 续集
接上文
今天突然发现键盘控制不行了,结果还是那个问题搞的鬼,原以为解决了,但是紧接着问题又来了,汗颜啊,将钩子封装成dll
前台调用实例如下
CHW.HookHelper hook; //钩子
<span style="font-family:Microsoft YaHei;font-size:18px;"><span style="font-family:Microsoft YaHei;font-size:18px;">private void MainForm_Activated(object sender, EventArgs e)
{
//注册事件
hook = new CHW.HookHelper();
hook.SetHook();
hook.OnKeyDownEvent += new KeyEventHandler(hook_OnKeyDownEvent);
hook.OnKeyUpEvent += new KeyEventHandler(hook_OnKeyUpEvent);
}</span></span>
<span style="font-family:Microsoft YaHei;font-size:18px;"><pre name="code" class="csharp">private void MainForm_Leave(object sender, EventArgs e)
{
//注销钩子事件
hook.UnHook();
}
void hook_OnKeyUpEvent(object sender, KeyEventArgs e)
{
if (chkbAllowKeyboard.Checked)
{