Чтобы запустить приложение из моей программы C#, я попробовал решения, перечисленные в теме по следующей ссылке: Запуск приложения (.EXE) из C#? .
Я сталкиваюсь с загадочной ситуацией: во время работы моей программы новое окно не отображается, поэтому я открыл список процессов в надежде получить больше информации. Вот что происходит: когда я дважды щелкаю свой исполняемый файл (случай 1: не использую код для запуска приложения), вызываются 5 разных процессов с одинаковыми именами, но разными PID, и если я закрываю приложение, все они тоже закрываются поэтому здесь я предполагаю, что все это должно работать для корректного запуска моего приложения; с другой стороны, всякий раз, когда я использую программу для запуска приложения, запускается только один процесс, и окно не отображается (это не вопрос ProcessStartInfo , так как я убедился, что изменил параметры так, чтобы новое окно отображается при необходимости). Любая идея относительно того, почему есть два различных поведения в зависимости от того, "я дважды щелкаю" вручную или запускаю с помощью инструкции C#? Если это «вопрос аргументов», есть ли способ получить больше информации об аргументах, которые неявно используются, когда я дважды щелкаю (и пока не предоставляю свой сценарий)?
Спасибо!
Приложение:
C# код:
using System;
using System.Diagnostics;
using System.IO;
namespace GradeBook
{
class Program
{
static void Main(string[] args)
{
ProcessStartInfo start = new ProcessStartInfo();
start.Arguments = "";
Directory.SetCurrentDirectory("C:\\Users\\sthg\\AppData\\Local\\Programs\\sthg");
start.FileName = "myApp.exe";
start.WindowStyle = ProcessWindowStyle.Normal;
start.CreateNoWindow = false;
int exitCode;
using (Process proc = Process.Start(start))
{
proc.WaitForExit();
exitCode = proc.ExitCode;
}
}
}
}