Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在一个进程中启动windows中的多个文件?_Java_Windows_Single Instance - Fatal编程技术网

Java 如何在一个进程中启动windows中的多个文件?

Java 如何在一个进程中启动windows中的多个文件?,java,windows,single-instance,Java,Windows,Single Instance,我有一个带有exe启动器的java音频播放器,我用launch4j制作了它,并用inno setup创建了一个安装程序。在windows中,当我选择多个文件并打开它们时,每个文件都会在不同的进程中打开,但我想要的是在一个进程中打开所有文件 在inno设置中- Root: HKA; Subkey: "Software\Classes\.mp3\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKe

我有一个带有exe启动器的java音频播放器,我用launch4j制作了它,并用inno setup创建了一个安装程序。在windows中,当我选择多个文件并打开它们时,每个文件都会在不同的进程中打开,但我想要的是在一个进程中打开所有文件

在inno设置中-

Root: HKA; Subkey: "Software\Classes\.mp3\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKeyMP3}"; ValueData: ""; Flags: uninsdeletevalue
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKeyMP3}"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocName}"; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKeyMP3}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0"
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKeyMP3}\shell\open"; ValueType: string; ValueName: "MultiSelectModel"; ValueData: ""
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKeyMP3}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""
我必须在inno设置中更改open命令吗?如果是,正确的命令是什么


谢谢。

这不是一个真正的Inno设置问题。没有注册表设置可以为您实现这一点

您需要将其编码到应用程序中。当应用程序开始打开文件/文档/媒体时,它需要检查自身是否有另一个实例。如果有,它将告诉现有实例打开该文件。然后新实例将以静默方式退出

如果您的应用程序启动成本很高,您可能需要为此实现一个小型引导程序应用程序(可能不是Java)