它是一个ac#winform应用程序。 我已经将ShowInTaskbar prop设置为false,因为我不希望程序出现在任务栏中,但是像这样的SetForegroundWindow或ShowWindowAsync不起作用。
Raymond Chen在他的经典文章中解释了在Windows环境下管理规则的前景激活许可就像爱情:你不能偷它,它必须给你 。 粗略地说,你不能使用像SetForegroundWindow
这样的调用来窃取前台激活,你需要从已经具有前台激活的进程中给出它。
在你的情况下,当你在任务栏集合中显示时,任务栏能够给你的应用程序前台激活,因为当你点击窗口的任务栏图标时,这将(简要地)给激活任务栏。 如果您没有在任务栏中显示的激活,则需要找到一种方法让应用程序提供给您。 明确允许的一种方法是使用通知窗口(托盘)图标。