【发布时间】:2014-04-07 16:22:58
【问题描述】:
当我知道它的进程 ID 时,如何切换到另一个在 Windows 7 和 C++ 中运行的应用程序?
我只有进程 ID。可能有多个具有相同名称的应用程序,因此使用窗口标题不起作用。我也没有可靠的 HWND 可以使用。
我希望应用程序处于活动状态、可见并准备好输入,就像我使用 alt-tab 切换到它一样。
【问题讨论】:
-
你试过明显的
c++ windows switch to application搜索吗? -
只需枚举所有顶级窗口,直到找到属于具有
WS_EX_APPWINDOW样式集的PID 的窗口。将该窗口置于 z 顺序的前面并为其提供输入焦点。 -
这并不能真正可靠地工作,因为不是每个应用程序都有 WS_EX_APPWINDOW 样式集。
-
如果应用程序出现在任务栏或任务切换窗口中,则它具有
WS_EX_APPWINDOW样式。如果没有,请选择让您尽可能接近的标准。 -
在我试过的 6 个任务栏上的应用程序中,只有 1 个设置了 WS_EX_APPWINDOW 样式。简单地选择可能无法可靠运行的标准听起来很草率。