我想为我的 jar 程序制作一个“启动器”,基本上我的 exe 文件本身不做任何事情,它只是用于启动我的 jar 程序。
我的 jar 程序可以打开一个文件,据我所知(请注意这一点,因为这可能是问题所在)操作系统通过将命令行参数传递给包含文件路径的程序来打开一个文件,对吗?
如果我使用 Visual Studio 中的播放按钮执行我的程序,它可以正常工作,我将参数放在 Properties->Debug->Command line arguments 中,它会启动我的 jar 并打开我的文件
如果我从 CMD 执行我的程序,并通过 cmd 传递参数,它工作正常,并再次打开 mi 文件
但是,如果我右键单击要打开的文件,然后“打开方式”...我得到 System.ComponentModel.Win32Exception
我想,也许程序需要安装,所以我创建了一个 innoSetup 安装程序,但是如果我右键单击->打开方式...我得到 Win32Exception
我究竟做错了什么?
我的代码:
class Program
{
static void Main(string[] args)
{
var programa = new System.Diagnostics.Process();
programa.StartInfo.UseShellExecute = true;
programa.StartInfo.FileName = "Personas.jar";
String archivo ;
try
{
archivo = args[0];
}catch(System.IndexOutOfRangeException e)
{
archivo = null;
}
if(archivo != null)
{
programa.StartInfo.Arguments = archivo;
}
try
{
programa.Start();
}catch(Exception err)
{
}
}
}
我不会放 Java 代码,因为问题显然出在 C# 中