我正在使用System.Diagnostics.Process.Start来启动另一个域机器上的远程应用程序。
不幸的是,如果远程进程已经在远程机器的桌面背景中运行,Process.Start无法使应用程序获得焦点。
问题1:是否有其他API或机制可以强制远程应用程序获得焦点或闪烁以引起用户的注意?
我注意到的另一个问题是,如果远程进程已经在运行,则可能会执行新实例,而不是重用现有进程资源。这违反了MSDN文档中的规定:
"如果进程已经在运行,则不会启动任何其他进程资源。相反,将重用现有进程资源,并且不会创建新的Process组件。在这种情况下,Start返回null而不是返回新的Process组件。"
问题2:有人找到了一种方法,在这种情况下防止应用程序启动第二个实例吗?对于远程启动应用程序,WMI是否是更好的选择?