내 애플리케이션이 포커스를 다른 창으로 변경하려고 할 때 마우스 오버가 발생합니다. 일부 끌어서 놓기 기능을 구현하려고하는데 마우스가 내 응용 프로그램을 다른 응용 프로그램으로 옮길 때 초점이 바뀐 것 같습니다.다른 프로그램으로 포커스 변경 Windows API
가 여기에 내가 AllowSetForegroundWindow를 사용하여 시도
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;
}
(나는 웃음을 위해 현재 주요 콜백 prcedure에 WM_MOUSEMOVE에 그것을 할) 내 현재 테스트 기능입니다하지만 그것은 주어진 범위에서 그것을 찾을 수 없습니다 도움이, 그러나 나는 포함했다.
도움이나 의견을 보내 주시면 감사하겠습니다.
나는 또한 그것을 시도했다. 작동하지 않았다 : ( – user1853098
당신이 직면하고있는 문제는 전경 (예 : 최상위 윈도우의 하위 창)이 될 수없는 창을 WindowFromPoint가 반환 할 수 있다는 것입니다. 사용자가 할 수있는 한 쌍의 기능으로 내 게시물을 업데이트했습니다. –
감사합니다, 닉! 오늘 시도해 보겠습니다. D – user1853098