在dll中,如何获得当前鼠标信息?如坐标、左右键等

来源:百度知道 编辑:UC知道 时间:2024/09/28 17:26:20
主要是因为在dll中,不能打开那个classWizard,所以,我就不知道怎么捕捉这个消息了~!
我已经在Dll中创建了基于CWnd的窗口了。
就是不知道怎么添加消息响应

我在.h里加入了 afx_msg void onLButtonUp(UINT nFlags, CPoint pt);
在.cpp中是void CImageWnd::onLButtonUp(UINT nFlags, CPoint pt)
{
//显示鼠标的坐标点
CPoint ptCursor;
GetCursorPos(&ptCursor);
ScreenToClient(&ptCursor);
}
但是加了断点,发现根本就不会进到这个函数中来啊~!

GetCursorPos 可以得到当前鼠标所在位置。
GetKeyState 可以得到当前按键(键盘、鼠标键)的状态。 GetAsyncKeyState 类似,更底层。

不需要窗口句柄支持

你需要先有个窗体,这个消息是窗体来接收的,创建窗体,然后创建这个窗体的类,之后就可以添加消息响应了

先想办法获取DLL的窗体句柄,之后API函数之

添加ON_WM_LBUTTONDOWN、ON_WM_LBUTTONUP等
消息映射宏,或者重载CWnd::PreTranslateMessage,在这个函数中处理你要想的消息。