为什么可以';我不能用这个代码在c#中制作一个地雷发射器吗?

为什么可以';我不能用这个代码在c#中制作一个地雷发射器吗?,c#,C#,我到处都找遍了,想知道如何制作一个定制的地雷发射器。我成功地创建了这段代码,它应该可以工作,但遗憾的是它没有。我登录,但它从来没有开始,但有一秒钟我得到了我的鼠标旁边的加载环。这是我的代码: ProcessStartInfo start = new ProcessStartInfo(); // Enter in the command line arguments, everything you would enter after the executable name itself start

我到处都找遍了,想知道如何制作一个定制的地雷发射器。我成功地创建了这段代码,它应该可以工作,但遗憾的是它没有。我登录,但它从来没有开始,但有一秒钟我得到了我的鼠标旁边的加载环。这是我的代码:

ProcessStartInfo start = new ProcessStartInfo();
// Enter in the command line arguments, everything you would enter after the executable name itself
start.Arguments = @"-Xmx1G -Djava.library.path=%APPDATA%\.minecraft\versions\1.6.2\1.6.2-natives -cp %APPDATA%\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;%APPDATA%\.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;%APPDATA%\.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;%APPDATA%\.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;%APPDATA%\.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;%APPDATA%\.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;%APPDATA%\.minecraft\libraries\argo\argo\2.25_fixed\argo-2.25_fixed.jar;%APPDATA%\.minecraft\libraries\org\bouncycastle\bcprov-jdk15on\1.47\bcprov-jdk15on-1.47.jar;%APPDATA%\.minecraft\libraries\com\google\guava\guava\14.0\guava-14.0.jar;%APPDATA%\.minecraft\libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;%APPDATA%\.minecraft\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;%APPDATA%\.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;%APPDATA%\.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;%APPDATA%\.minecraft\libraries\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;%APPDATA%\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar;%APPDATA%\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar;%APPDATA%\.minecraft\versions\1.6.2\1.6.2.jar net.minecraft.client.main.Main --username playername --session token:"+ words[3] + @":" + words[4]+ @" --version 1.6.2 --gameDir %APPDATA%\.minecraft --assetsDir %APPDATA%\.minecraft\assets";
start.FileName = @"c:\Program Files (x86)\java\jre7\bin\javaw.exe";
// Do you want to show a console window?
start.CreateNoWindow = true;
System.Diagnostics.Process.Start(start);

这只是做了一秒钟的鼠标加载环,然后什么也没有打开。没有日志、崩溃、错误,没有任何错误。这是Visual c#在Visual Studio 2012上编译的。

您给出的参数中有一个环境变量-
%APPDATA%

默认情况下,命令行将展开此项,但.net库不会展开


请参见Pete Kirkham提到的,您需要设置环境变量。 您可以在启动流程之前进行设置,如:

var appDataPath = "your path";
start.EnvironmentVariables.Add("APPDATA", appDataPath);

为了可读性:您可以将每个参数放入
列表中,然后使用
字符串.Join()
将其与空格字符组合作为分隔符。您确定命令和参数正确吗?你试过从命令行运行它吗?安东尼奥:我还没试过。我现在就要尝试了。安东尼奥:我签入了命令行,命令就可以运行了。那么我该如何检查用户的AppData路径呢?好的。发现了,但我得到了一个错误:mscorlib.dll中发生了类型为“System.ArgumentException”的未处理异常。其他信息:已添加项。字典中的键:“正在添加的APPDATA”键:“APPDATA”