wpf 如何将焦点集中到一个过程?

flmtquvp  于 2023-02-16  发布在  其他
关注(0)|答案(1)|浏览(118)

我有一个名为_program的系统.诊断.过程变量。
我明白并不是每个进程都有用户界面,所以它永远不会有焦点(我认为)。
但是,假设这个进程有一个接口,是否可以将焦点设置到它上面呢?也许我需要使用Process.StandardInput。

js81xvg6

js81xvg61#

使用PInvoke调用本机函数以设置前台窗口:

using System.Diagnostics;
using System.Runtime.InteropServices;

[DllImport("User32.dll")]
private static extern Int32 SetForegroundWindow(nint hWnd);

void YourMethod()
{
  Process p = ... // However you create your process
  SetForegroundWindow(p.MainWindowHandle);  // Set this process's main window as the foreground window
}

相关问题