猿问

使用c#调用的,但是我不会使用后面这个鼠标事件?请问该怎么办?

/// <summary>
/// 这个类可以让你得到一个在运行中程序的所有鼠标事件
/// 并且引发一个带MouseEventArgs参数的.NET鼠标事件以便你很容易使用这些信息
/// </summary>
public class MouseHook
{
private const int WM_MOUSEMOVE = 0x200;
private const int WM_LBUTTONDOWN = 0x201;
private const int WM_RBUTTONDOWN = 0x204;
private const int WM_MBUTTONDOWN = 0x207;
private const int WM_LBUTTONUP = 0x202;
private const int WM_RBUTTONUP = 0x205;
private const int WM_MBUTTONUP = 0x208;
private const int WM_LBUTTONDBLCLK = 0x203;
private const int WM_RBUTTONDBLCLK = 0x206;
private const int WM_MBUTTONDBLCLK = 0x209;
//全局的事件
public event MouseEventHandler OnMouseActivity;(就这个东西)
static int hMouseHook = 0; //鼠标钩子句柄
//鼠标常量
.......................................
........................中间省略很多
//从回调函数中得到鼠标的信息
MouseHookStruct MyMouseHookStruct = (MouseHookStruct)Marshal.PtrToStructure(lParam, typeof(MouseHookStruct));
MouseEventArgs e = new MouseEventArgs(button, clickCount, MyMouseHookStruct.pt.x, MyMouseHookStruct.pt.y, 0);
OnMouseActivity(this, e);(怎么使用这个onMouseActivity?)
}
return CallNextHookEx(hMouseHook, nCode, wParam, lParam);
}
}
}

潇潇雨雨
浏览 214回答 1
1回答

qq_笑_17

直接为OnMouseActivity事件注册响应方法就行了例如:MouseHook mh =new MouseHook();mh.OnMouseActivity += new MouseEventHandler(mh_OnMouseActivity);事件响应方法:private void mh_OnMouseActivity(object source, MouseEventArgs e){//操作}
随时随地看视频慕课网APP
我要回答