gpt4 book ai didi

c# - 使用 Win32 API 在 C# 中将窗口置于最前面

转载 作者:IT王子 更新时间:2023-10-29 03:57:47 27 4
gpt4 key购买 nike

我正在编写一个应用程序,它需要将外部应用程序的窗口带到前台,并且不一定要窃取焦点(用户可以通过设置来切换窃取/不窃取焦点)。

使用 win32 API 解决此问题的最佳方法是什么?我已经尝试过 SetForeground(),但它总是抢走焦点并且不能始终如一地工作。

解决此问题的最佳方法是什么?有什么想法吗?

最佳答案

SetForegroundWindow 应该窃取焦点,但在某些情况下它会失败。

The SetForegroundWindow function puts the thread that created the specified window into the foreground and activates the window. Keyboard input is directed to the window

尝试使用 SetCapture 捕捉焦点在调用电话之前。还要研究将窗口置于最前面的不同方法:SetForeGroundWindow、SetActiveWindow,甚至模拟鼠标单击也可以做到这一点。

关于c# - 使用 Win32 API 在 C# 中将窗口置于最前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2987/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com