需要全局捕捉鼠标点击。
使用API函数或着SharpDirectX库的DirectInput都可以。
///
/// GetAsyncKeyState函数返回的是指定虚拟键瞬时的状态值,它有四种返回值:
///
///
///
///
///
///
///
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern int GetAsyncKeyState ( int vKey );
///
/// 获取鼠标指针位置
///
///
///
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern int GetCursorPos (ref MOUSEPOINT lpPoint );
//鼠标按键的虚拟码
None = 0,
鼠标左键 = 1, LButton = 0x1,
鼠标右键 = 2, RButton = 0x2,
取消 = 3, Cancel = 0x3,
鼠标中键 = 4, MButton = 0x4,
鼠标侧键1 = 5, XButton1 = 0x5,
鼠标侧键2 = 6, XButton2 = 0x6,
说白点击桌面任何位置也是可以弹出窗口的,这个是允许的。
可以调用API,监听鼠标输入消息链。解码消息后就可以获得当前点击位置
监听鼠标消息c#