cmd.exe只能在Windows 8的顶部窗口后面启动我的WPF窗口

本文关键字:窗口 启动 WPF 我的 顶部 exe Windows cmd | 更新日期: 2023-09-27 17:50:39

我的WPF应用程序通过cmd文件启动。cmd文件执行多个步骤:

  1. 初始化一些变量
  2. 启动外部cmd文件初始化数据库(使用Start myfile.cmd)
  3. 启动Wpf应用程序(使用Start myWPFApp.exe)

在Windows 7上一切正常。然而,当我在Windows 8机器上运行完全相同的代码时,WPF窗口显示在顶部窗口的后面。这是一个问题,因为如果用户打开全屏窗口,他将不会注意到应用程序已经启动(除了任务栏中的图标)

这是我的(简化)代码:Run.cmd

timeout 1
START StartDatabase.cmd
START SimpleWPFWindow.exe

StartDatabase.cmd

exit

SimpleWPFWindow.exe

Use any WPF Application here (e.g. WPF Application Template with empty Window)

我到目前为止的发现:

  • 当我删除第一行运行。cmd(模拟某些逻辑的超时),应用程序正确启动
  • 当我从cmd文件中删除外部调用(上面的第2项)时,应用程序正确启动
  • 在我的代码中以编程方式将窗口拉到前面不是一个选项,因为我使用闪屏,同样的问题适用于闪屏(=它显示在顶部窗口后面)
  • 使用TopMost = true对窗口不起作用,因为在启动问题的情况下,应用程序会显示一个错误消息,如果TopMost为true,该消息将被覆盖并且不可见。

谁能给我解释一下为什么Win7和Win8有这样的区别?我能做些什么来避免这个问题?

非常感谢任何输入!

cmd.exe只能在Windows 8的顶部窗口后面启动我的WPF窗口

如果您不需要显示其中一个窗口,您可以以最小模式启动,或者分别使用start /min ...start /b ...根本不显示