不太清楚如何以清晰的方式进行解释。基本上,事情是我正在寻找一种方法来更改当前的 Activity 窗口(自行生成的定义,希望它可以被理解)-窗口,现在直接在其中键入文本。 Whooh。

我已经发现的所有东西都是msdn help和SetFocus()或SetActiveWindow(),但是它并不能解决我的问题(或者,也有可能,我只是在以错误的方式使用它)。

只是:

HWND Dest = GetFocus();
... //Some moving around on the 'alt-tab level' :-|
SetFocus(Dest);

不再将“目标”窗口设置为 Activity 状态。
请为新手问题辩解,希望您不会花费太多时间。谢谢!

最佳答案

SetFocus()不会将窗口移到顶部。它只是设置键盘焦点。

另一方面,SetActiveWindow()将特定窗口置于顶部,但前提是调用它的应用程序也是拥有它的应用程序。 (根据文档)。

当您说您尝试了SetActiveWindow()时,是什么意思?它是怎么失败的?它产生了什么结果?

您可以尝试使用的另一个功能是SetForegroundWindow(),以防您想要激活属于另一个应用程序的窗口,但这有其问题,如您从下面看到的(直接从文档中看到):

08-26 16:59