簡體   English   中英

C# 代碼未啟動 .exe 出現錯誤找不到文件名

[英]C# code not starting .exe getting error cannot find file name

我真的不知道為什么這段代碼不起作用。 每次我收到錯誤無法啟動進程,因為沒有提供文件名。 即使我提供了 EXE 所在的路徑並對其進行了驗證。

using System;
using System.Diagnostics;
using System.Diagnostics.Contracts;

namespace ProcessExitSample
{
    class testsandboxprogram
    {
        static void Main(string[] args)
        {
            Contract.Requires(args != null);
            try
            {
                var firstProc = new Process();
                Process.Start(@"PATH TO EXE I WANT TO LAUNCH");
                firstProc.EnableRaisingEvents = true;

                firstProc.Start();

                firstProc.WaitForExit();

                //so upon exit should run the second program here
                Console.WriteLine("First process exited: " + firstProc.ExitCode);

                var secondProc = new Process();
                Process.Start(@"PATH TO PROGRAM I WANT TO LAUNCH");
                secondProc.Start();

            }
            catch (Exception ex)
            {
                Console.WriteLine("Something went wrong sorry :(: " + ex.Message);
                return;
            }
        }
    }
}
String myexepath = @"C:\Program Files (x86)\Steam\steamapps\common\BattleBlock Theater\BattleBlockTheater.exe"

由於此路徑包含,在雙引號之間用空格將其括起來:

Process.Start("\""+myexepath+"\"");
            var firstProc = new Process();
            // Process.Start(@"PATH TO EXE I WANT TO LAUNCH");
            firstProc.EnableRaisingEvents = true;
            firstProc.Start();

沒有提供流程開始的路徑。 我注釋掉了不相關的代碼,因為它與firstProc變量無關。

你可能想要:

 firstProc.StartInfo.FileName = @"\Path\To\Exe";

最明顯的是嘗試在命令行環境中運行你的PATH TO EXE I WANT TO LAUNCH ,看看你是否得到一個不言自明的錯誤。

如果您的路徑包含空格,您將看到您正在嘗試執行一些有問題的空格,然后您可以使用 Graffito 給出的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM