【发布时间】:2014-05-11 21:03:14
【问题描述】:
我有一个使用黑色 Windows 控制台打开的 C# 控制台应用程序 (A)。有时在启动时它会从另一个需要焦点的程序 (B) 中窃取焦点。
问题:如何将焦点从A.exe 重新分配给B.exe?
A -> Focus -> B
详情:
- 程序 B 不是我的,我对此无能为力。它有一个 GUI、多个窗口,其中 1 个需要焦点(它可能是一个模态对话框窗口)。
- 程序 A 不需要任何焦点,也不会以任何方式与程序 B 交互。
- 程序 A 通过启动快捷方式启动并基本上在后台运行(它已发布但仍在开发中,这就是控制台窗口的原因)
- 我有几分钟/最多几分钟的时间来检查并重新集中注意力。
【问题讨论】:
-
一个程序如果不集中注意力就不能正常运行是……坏的。不是你的错,我知道。最简单的解决方案:在另一个完成之前不要运行你的应用,或者根本不给你的应用提供任何界面。
-
你的控制台程序如何知道你什么时候想要专注于它?如果您有需要检查的内容,则无需关注控制台应用程序。
-
@Tarec 我记得可以通过 .NET Framework、WinApi 或两者兼而有之地以各种方式操作控制台窗口。
标签: c# winapi user-interface console focus