2017-04-07 82 views
0

我有一個問題,使我的窗口成爲「點擊」窗口。 我已經嘗試了一些我在網上找到的windowsAPI方法,但沒有運氣,鼠標不會通過創建的窗口。如何將OpenCV窗口設置爲點擊窗口?

我的操作系統是Windows 10.

任何解決方案? 謝謝。

回答

1

好的,終於找到了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); 
相關問題