Скрыть свою программу до закрытия другой - C#
Формулировка задачи:
Привет всем, не подскажете, мне нужно запустить из своего приложения игру Minecraft, при этом скрыв его да закрытия игры. Скрыть - чтобы она висела в процессах. Как только Minecraft закроется нужно вернуть приложение на место. Заранее спасибо
Решение задачи: «Скрыть свою программу до закрытия другой»
textual
Листинг программы
using System;
using System.Diagnostics;
using System.Threading;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public sealed class Launcher : IDisposable
{
private readonly Form _form;
private readonly Process _process;
public Launcher(ProcessStartInfo startInfo, Form form = null)
{
_form = form;
_process = new Process();
_process.StartInfo = startInfo;
}
public void ProcessStart()
{
TryHideForm();
ThreadPool.QueueUserWorkItem(
unused =>
{
_process.Start();
if (_form != null)
{
_process.WaitForExit();
TryShowForm(null);
}
});
}
private void TryHideForm()
{
if (_form != null)
_form.Hide();
}
private void TryShowForm(object unused)
{
if (_form.InvokeRequired)
_form.Invoke((Action<object>)TryShowForm, unused);
else
_form.Show();
}
#region IDisposable Members
public void Dispose()
{
_process.Dispose();
}
#endregion
}
}