如何通过C#程序打开程序并给予该程序关注

如何通过C#程序打开程序并给予该程序关注,c#,.net,focus,C#,.net,Focus,如何通过C#程序(Windows Mobile)打开程序,并将此程序作为重点 MarkJ编辑:Gold感谢您的过程。开始建议,但由于某些原因,该程序仍然没有得到关注 提前感谢,, GoldProcess.Start()??Process.Start()??您可以通过调用来启动程序,如下所示: Process.Start(programPath); 您还可以传入一个文件(例如Word文档),甚至是一个网站,它将自动在用户机器上该文件类型的默认程序中启动 当您调用Process.Start时,程序

如何通过C#程序(Windows Mobile)打开程序,并将此程序作为重点

MarkJ编辑:Gold感谢您的过程。开始建议,但由于某些原因,该程序仍然没有得到关注

提前感谢,,
Gold

Process.Start()
??

Process.Start()
??

您可以通过调用来启动程序,如下所示:

Process.Start(programPath);
您还可以传入一个文件(例如Word文档),甚至是一个网站,它将自动在用户机器上该文件类型的默认程序中启动


当您调用
Process.Start
时,程序应自动接收焦点。

您可以通过调用来启动程序,如下所示:

Process.Start(programPath);
您还可以传入一个文件(例如Word文档),甚至是一个网站,它将自动在用户机器上该文件类型的默认程序中启动


调用
Process.Start
时,程序应自动接收焦点。

您可以使用
Process.Start()
启动您的流程,然后:

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);

public static bool BringWindowToTop(string windowName, bool wait)
{
      int hWnd = FindWindow(windowName, wait);
      if (hWnd != 0)
      {
           return SetForegroundWindow((IntPtr)hWnd);
      }
      return false;
}

要查找窗口并将其置于前端,可以使用
Process.Start()
启动您的流程,然后:

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);

public static bool BringWindowToTop(string windowName, bool wait)
{
      int hWnd = FindWindow(windowName, wait);
      if (hWnd != 0)
      {
           return SetForegroundWindow((IntPtr)hWnd);
      }
      return false;
}

要找到窗口并将其置于前面,使用下面的代码应自动将窗口置于顶部

Process.Start("path");

使用下面的代码会自动将窗口置于顶部

Process.Start("path");

“给予此程序焦点”是指您的程序还是您刚刚启动的程序?您是否已将原始应用程序中表单的最顶端属性设置为true?如果是,您启动的程序将不可见。所谓“给予此程序焦点”是指您的程序还是您刚刚启动的程序?您是否已将原始应用程序中窗体的最顶端属性设置为true?如果是这样,你启动的程序将不可见。Gold说程序启动了,但没有获得焦点。(在另一个问题中,这个问题现在已经作为一个副本被关闭)Gold说该计划开始了,但没有得到关注。(在另一个问题中,该问题现已作为副本关闭)