隐藏和显示由Systems.Diagnostics.Process启动的程序

时间:2012-08-10 15:12:25

标签: c# .net process

以下代码是我启动程序的方式:

System.Diagnostics.Process fooProgram;
fooProgram = System.Diagnostics.Process.Start("foo.exe");

现在我知道你可以设置StartInfo参数让程序运行隐藏,但有一些方法可以隐藏它并在处理过程中将其恢复,因为我只想向用户显示某些屏幕然后我想要它信息显示后自动隐藏自身。我希望有一些像fooProgram.Show()和fooProgram.Hide()这样简单的东西,但看起来它并不那么简单。

只需将其发送到其他程序后面并将其重新关注也是足够的,但这似乎也不在可用操作列表中。

正在推出的程序是.NET 4格式。

1 个答案:

答案 0 :(得分:0)

我认为你不能在.NET中做到这一点 - 你需要使用互操作。

查看以下功能:

因此,您将使用FindWindow()来获取窗口句柄,然后您将在该句柄上执行其他函数。关于将这些功能暴露给C#,请查看这个令人敬畏的互操作网站:pinvoke.net

此外,代替HWND使用IntPtr