itsalikis Ответов: 1

Индикатор выполнения C# во время загрузки процесса приложения


частная статической силы основных()
{
var oApp = процесс.GetProcessesByName("Имя Приложения");
if(oApp.Length == 0)
{
Процесс.Старт(@"C:\......\App.exe");
// Нужен Индикатор Выполнения Во Время Загрузки Процесса
}
}

Что я уже пробовал:

Нужен Индикатор Выполнения Во Время Загрузки Процесса

1 Ответов

Рейтинг:
5

Afzaal Ahmad Zeeshan

Вы можете использовать асинхронный подход к Process.Start (по умолчанию он является синхронным и не ждет запуска процесса, а возвращается до этого) и показывать индикатор выполнения до тех пор, пока Task объект завершается.

Смотрите эту тему для этого, c# - существует ли какой-либо асинхронный эквивалент процесса.Начать? - переполнение стека[^].

Цитата:
Нужен Индикатор Выполнения Во Время Загрузки Процесса
Это зависит от фреймворка, который вы используете. Используете ли вы WPF, WinForms или любой другой интерфейсный фреймворк для визуализации элементов управления? Вам нужно будет показать индикатор выполнения для этого конкретного фреймворка.

Класс ProgressBar (System.Окна.Элементы Управления) | Microsoft Docs[^]
Элемент Управления ProgressBar (Windows Forms) | Microsoft Docs[^]

Остальная часть шага - это просто асинхронное/ожидающее приложение перед запуском программы. Process.Start и вызов функции с применением await. Как только ожидание будет сделано, вы можете скрыть ProgressBar и продолжайте процесс, который только что начался.