在另一个应用程序中打开一个Application .exe窗口

时间:2012-03-23 21:11:46

标签: c# wpf c#-4.0 process

我在WPF运行中有一个应用程序。我想,当在这个应用程序中单击一个按钮时,另一个应用程序打开,其窗口最大化。但是,我不希望我的第一个应用程序停止并等待。我希望两者都独立开放和运行。

再次单击该按钮时,如果应用程序最小化,应用程序将最大化。如果不是,它会再次打开。

如何使用C#?我尝试过以下方法:

Process process = Process.GetProcesses().FirstOrDefault(f => f.ProcessName.Contains("Analysis"));

ShowWindow((process ?? Process.Start("..\\..\\..\\MS Analysis\\bin\\Debug\\Chemtech.RT.MS.Analysis.exe")).MainWindowHandle.ToInt32(), SW_MAXIMIZE);

但是窗口没有打开,即使进程确实开始了。

1 个答案:

答案 0 :(得分:0)

var hwnd = ..;
ShowWindow(hwnd, SW_MAXIMIZE);
BringWindowToTop(hwnd);

[DllImport("user32.dll", SetLastError=true)]
static extern bool BringWindowToTop(IntPtr hWnd)