0

タイトルはほとんどそれをすべて言います。namedWindow()でウィンドウを作成し、それをマトリックスで埋めました。次に、cvGetWindowHandle()を使用してHWNDに割り当て、Windows関数SetWindowPos()を使用できるようにします。これを使用して、フラグHWND_TOPMOST、SWP_NOMOVE、およびSWP_NOSIZEを設定して、背後のウィンドウをクリックしても他のすべてのウィンドウの上に保持できるようにする必要があります。

私はここで何かを読み間違えて間違った考えを持っているか、問題は私がWindows 8にアップグレードし、この機能などを廃止したという事実である可能性があると信じています。これについて別の方法はありますか?

4

1 に答える 1

0

これをc++で試すための設定はありませんが、Pythonで同様のことをしたかったので、最終的にpythonwin32ライブラリを使用しました。次の呼び出しを組み合わせて(c ++のwin32で見つけることができると思います)、私は常に画面を一番上に表示することができました。しかし、それはそこにとどまりませんでした。欲しかったときに育てなければなりませんでした。

win32gui.SetForegroundWindow(hwnd)  # I use just this. apparently it can trigger permission error but I never had a problem with it
win32gui.SetFocus(hwnd)  # apparently doesn't trigger error without permission like setforegroundwindow
win32gui.BringWindowToTop(hwnd)  # not sure if this helps any
win32gui.SetActiveWindow(hwnd) #not sure if this helps any
于 2013-03-12T18:37:24.440 に答える