我正在创建一个.exe
运行 .jar,它可以工作,唯一的问题是它会CMD
在几毫秒内显示一个 popup(),有没有办法让这种情况不发生?
这是我运行的代码.bat
:
using System;
namespace Launch
{
class MainClass
{
public static void Main(string[] args)
{
System.Diagnostics.Process.Start("start.bat");
}
}
}
这是我的.bat
:
@echo off
cd "C:\Program Files (x86)\START"
"C:\Program Files (x86)\START\jre8\bin\javaw.exe" -jar -XX:+UseConcMarkSweepGC -Xmx1024M -Xms1024M START.jar
我尝试的另一种方法是做所有事情C#
(但得到相同的结果):
using System.Diagnostics;
namespace Launch
{
class MainClass
{
public static void Main(string[] args)
{
ProcessStartInfo psi = new ProcessStartInfo();
psi.Arguments = "-jar -XX:+UseConcMarkSweepGC -Xmx1024M -Xms1024M START.jar";
psi.CreateNoWindow = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.FileName = "jre8\\bin\\javaw.exe";
Process.Start(psi);
}
}
}
您需要将 shell(
UseShellExecute
) 的使用设置为 false,这是您的代码以及缺少的行:您可以:
任何一个
任何一个