VB.net-使用Shell()运行java应用程序并设置其appdata文件夹。多个命令?
好了,伙计们,我有一个minecraft的副本,它是由minecraft.exe启动的java程序 在同一个文件夹中是我的程序(我们称之为launcher.exe),我正在VB.net中编程,还有一个名为LocalAppData的文件夹 如果我将快捷方式放置在与Minecraft.exe相同的文件夹中,请清除“开始位置”字段并将其放置在目标字段中: C:\Windows\System32\cmd.exe/C start cd LocalAppData&&set APPDATA=%cd%\LocalAppData&&javaw-Xms4096M-Xmx4096M-cp LocalAppData\Minecraft.exe net.Minecraft.LauncherFrame 然后,minecraft从LocalAppData文件夹中启动,其中包含我的自定义内存分配。还将显示两个命令窗口。当minecraft关闭时,一个关闭,但另一个不关闭,需要用户关闭 我的问题是:如何在VB.net中实现相同的结果,而不是使用windows快捷方式,以及是否有方法停止命令窗口的显示或将它们都设置为自动关闭 我的目标是从子文件夹启动minecraft,因此本地文件路径比全局文件路径更可取,但在运行时确定应用程序的位置并从子文件夹工作也可以 我原以为我可以在Shell()命令中使用相同的代码来产生相同的效果,但似乎不是这样 理想情况下,我想创建一个运行minecraft的程序,其中包括:VB.net-使用Shell()运行java应用程序并设置其appdata文件夹。多个命令?,vb.net,process,command-line-arguments,appdata,Vb.net,Process,Command Line Arguments,Appdata,好了,伙计们,我有一个minecraft的副本,它是由minecraft.exe启动的java程序 在同一个文件夹中是我的程序(我们称之为launcher.exe),我正在VB.net中编程,还有一个名为LocalAppData的文件夹 如果我将快捷方式放置在与Minecraft.exe相同的文件夹中,请清除“开始位置”字段并将其放置在目标字段中: C:\Windows\System32\cmd.exe/C start cd LocalAppData&&set APPDATA=%cd%\Loca
- 自定义内存分配
- 本地文件路径,以便可移植地运行
- appdata文件夹已更改为子文件夹,以便可移植地运行
- 这些命令窗口要么消失,要么最小化,然后在用户关闭minecraft时自动关闭
Dim startInfo As ProcessStartInfo = new ProcessStartInfo()
startInfo.FileName = "javaw.exe" 'That's the name of your executable
startInfo.Arguments = "your argument line"
startInfo.UseShellExecute = true 'Needed to open a command window
Process.Start(startInfo)
好的,这就是我到目前为止所做的:啊,对不起,帖子太长了。到目前为止,代码已经在问题的描述中了。您将启动两个进程,一个用于设置一些环境变量,另一个用于启动java。你确定你的修改是持久的吗?如果它们是第一道工序的本地产品,我不会感到惊讶。如果这就是问题所在,解决方法之一是使用vb.Net生成一个同时执行这两项操作的批处理(dos)文件,然后使用vb.Net启动批处理
Dim startInfo As ProcessStartInfo = new ProcessStartInfo()
startInfo.FileName = "javaw.exe" 'That's the name of your executable
startInfo.Arguments = "your argument line"
startInfo.UseShellExecute = true 'Needed to open a command window
Process.Start(startInfo)