gpt4 book ai didi

c# - C# 中新启动进程的窗口显示在我当前打开的窗口后面

转载 作者:太空宇宙 更新时间:2023-11-03 14:34:17 27 4
gpt4 key购买 nike

我有一些相当简单的代码来使用 Process 对象打开文件:

        var proc = new Process();
proc.StartInfo.FileName = attachmentPath;
proc.StartInfo.UseShellExecute = true;
proc.Start();

每隔一段时间,从这个过程中打开的窗口开始在我当前打开的所有窗口后面打开。我没有看到为什么会发生这种情况的任何模式或一致性。有谁知道为什么会发生这种情况,或者我该如何解决?谢谢!

最佳答案

Windows 暂时不鼓励应用程序窃取焦点;围绕它的规则并没有真正记录下来,大概是为了防止应用程序绕过它们工作。

但是,您可以尝试一下:

    var proc = new Process();
proc.StartInfo.FileName = attachmentPath;
proc.StartInfo.UseShellExecute = true;
proc.Start();

//Wait for window to spin up
proc.WaitForInputIdle();
BringWindowToTop(proc.MainWindowHandle);

定义BringWindowToTopp/invoke .

关于c# - C# 中新启动进程的窗口显示在我当前打开的窗口后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1678211/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com