原文链接 -> 传送门
函数功能:
SetCapture 函数在属于当前线程的指定窗口中设置鼠标捕获。当鼠标悬停在捕获窗口之上,或者当鼠标按钮被按下并且鼠标悬停在捕获窗口之上,鼠标键一直被按下时,SetCapture 函数都会捕获鼠标输入。同一时刻只能有一个窗口可以捕获鼠标。
如果鼠标光标悬停在另一个线程创建的窗口之上,则只有当鼠标键被按下时系统才会将鼠标输入指引到指定的窗口。
API 函数原型:
注释:_In_ 说明该参数是输入的。
HWND WINAPI SetCapture( _In_ HWND hWnd );
参数解析:
|
参数 |
含义 |
|
hWnd |
指向当前线程中将要捕获鼠标的窗口的句柄 |
返回值:
1. 返回值是之前捕获鼠标的窗口的句柄;
2. 如果不存在这样的窗口,则返回值为 NULL。
备注:
1. 只有前台窗口才能够捕获鼠标。当一个后台窗口试图捕获鼠标时,该窗口仅接收光标热点在该窗口可见部份的鼠标事件产生的消息。另外,即使前台窗口已经捕获了鼠标,用户仍可点击另一个窗口,将它调入前台。
2. 当一个窗口不再需求所有的鼠标输入时,创建该窗口的线程应当调用 ReleaseCapture 函数来释放鼠标。
3. 该函数不能用来捕获针对其他进程的鼠标输入。
4. 当鼠标被捕获时,菜单热键和其他键盘加速键失效。
需求:
|
Minimum supported client |
Windows 2000 专业版 [仅桌面应用程序] |
|
Minimum supported server |
Windows 2000 服务器版 [仅桌面应用程序] |
|
Header |
Winuser.h (包含于 Windows.h) |
|
Library |
User32.lib |
|
DLL |
User32.dll |




