Скрыть свою программу до закрытия другой - 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
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы