我试图让我的应用程序将焦点更改为鼠标悬停的任何其他窗口。我正在尝试实现一些拖放功能,而似乎缺少的只是当鼠标将我的应用程序移动到另一个时焦点的改变。
这是我当前的测试功能(我现在在主回调过程中的 WM_MOUSEMOVE 上执行此操作以供笑)
case WM_MOUSEMOVE:
{
POINT pt;
GetCursorPos(&pt);
HWND newHwnd = WindowFromPoint(pt);
if (newHwnd != g_hSelectedWindow)
{
cout << "changing windows" << endl;
cout << SetWindowPos(newHwnd, HWND_TOP, 0,0,0,0, SWP_NOMOVE|SWP_NOSIZE) << endl;
g_hSelectedWindow = newHwnd;
}
CallWindowProc(listproc, hwnd,message,wParam,lParam);
break;
}
我尝试使用 AllowSetForegroundWindow 但它帮助它在给定范围内找不到它,但我已经包含了 .
任何帮助或建议将不胜感激。