我在将我的窗口设置为“点击进入”窗口时遇到了问题。 我已经尝试了一些在网上找到的适用于 windowsAPI 的方法,但没有成功,鼠标无法通过创建的窗口。
我的操作系统是 Windows 10。
有什么解决办法吗? 谢谢。
最佳答案
好的,终于找到windows API函数的问题了。传递给他们的句柄是错误的,opencv cvGetWindowHandle() 返回错误的句柄,使用从 FindWindow() 返回的句柄我能够使我的窗口点击。
//-Init an opencv window
cv::namedWindow("foo");
HWND hwnd = FindWindow(NULL,"foo"); //-Work!
HWND hwnd = (HWND)cvGetWindowHandle("foo");//-Doesn't Work.
//-Set window to be click-through.
LONG lExStyle = GetWindowLong(hwnd, GWL_EXSTYLE);
lExStyle |= WS_EX_TRANSPARENT | WS_EX_LAYERED;
SetWindowLong(hwnd, GWL_EXSTYLE, lExStyle);
//-Set the window to always be on top.
SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
关于c++ - 如何将 OpenCV 窗口设置为点击窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43288554/