├── .classpath ├── .gitignore ├── .project ├── .settings ├── org.eclipse.core.resources.prefs ├── org.eclipse.core.runtime.prefs ├── org.eclipse.jdt.core.prefs └── org.eclipse.m2e.core.prefs ├── .vscode ├── c_cpp_properties.json └── tasks.json ├── LICENSE.txt ├── bin ├── .gitignore ├── COPYING ├── bin-linux │ ├── COPYING │ ├── ld │ └── windres ├── bin-linux64 │ ├── COPYING │ ├── ld │ └── windres ├── bin-macosx-x86 │ ├── COPYING │ ├── ld │ └── windres └── bin-win32 │ ├── COPYING │ ├── ld.exe │ └── windres.exe ├── build-private.xml ├── build.xml ├── demo ├── ConsoleApp │ ├── .gitignore │ ├── build.bat │ ├── build.xml │ ├── l4j │ │ └── ConsoleApp.ico │ ├── lib │ │ └── readme.txt │ ├── readme.txt │ └── src │ │ └── net │ │ └── sf │ │ └── launch4j │ │ └── example │ │ └── ConsoleApp.java ├── ExitCodeApp │ ├── .gitignore │ ├── build.bat │ ├── pom.xml │ └── src │ │ └── net │ │ └── sf │ │ └── launch4j │ │ └── example │ │ └── ExitCodeApp.java ├── LICENSE.txt ├── ModuleApp │ ├── build.bat │ ├── clean.bat │ ├── run.bat │ └── src │ │ └── net.sf.launch4j.example │ │ ├── module-info.java │ │ └── net │ │ └── sf │ │ └── launch4j │ │ └── example │ │ └── ModuleApp.java ├── SimpleApp │ ├── .gitignore │ ├── build.bat │ ├── build.xml │ ├── l4j │ │ ├── SimpleApp.ico │ │ ├── SimpleApp.xml │ │ └── splash.bmp │ ├── lib │ │ └── readme.txt │ ├── readme.txt │ └── src │ │ └── net │ │ └── sf │ │ └── launch4j │ │ └── example │ │ └── SimpleApp.java └── readme.txt ├── head ├── LICENSE.txt ├── consolehead.o ├── guihead.o └── head.o ├── head_jni_BETA ├── LICENSE.txt ├── head.o ├── jniconsolehead.o ├── jniguihead.o └── jnihead.o ├── head_src ├── LICENSE.txt ├── consolehead │ ├── .gitignore │ ├── Makefile.win │ ├── consolehead.c │ └── consolehead.dev ├── guihead │ ├── .gitignore │ ├── Makefile.win │ ├── guihead.c │ ├── guihead.dev │ └── guihead.h ├── head.c ├── head.h ├── jniconsolehead_BETA │ ├── .gitignore │ ├── Makefile.win │ ├── jniconsolehead.c │ └── jniconsolehead.dev ├── jniguihead_BETA │ ├── .gitignore │ ├── Makefile.win │ ├── jniguihead.c │ ├── jniguihead.dev │ └── jniguihead.h ├── jnihead.c ├── jnihead.h ├── makefile └── resource.h ├── l4j ├── checkVersions.bat ├── launch4j-use.odg ├── launch4j.xml ├── launch4jc.xml ├── nsis │ ├── launch4j-setup-license.txt │ └── launch4j.nsi └── web │ ├── bullet.gif │ ├── changelog.html │ ├── docs.html │ ├── footer.html │ ├── header.html │ ├── index.html │ ├── launch4j-use.gif │ ├── launch4j.gif │ ├── links.html │ └── style-13112022.css ├── launch4j ├── launch4j.jfpr ├── launch4jc ├── lib ├── JGoodies.Forms.LICENSE.txt ├── Nuvola.Icon.Theme.LICENSE.txt ├── XStream.LICENSE.txt ├── ant.LICENSE.txt ├── ant.jar ├── commons-beanutils.jar ├── commons-logging.jar ├── commons.LICENSE.txt ├── flatlaf.LICENSE.txt ├── flatlaf.jar ├── formsrt.jar ├── jgoodies-common.jar ├── jgoodies-forms.jar └── xstream.jar ├── manifest └── uac.exe.manifest ├── maven ├── .classpath ├── .project ├── .settings │ └── org.eclipse.m2e.core.prefs ├── assembly │ ├── assemble-dist.xml │ ├── assemble-linux.xml │ ├── assemble-linux64.xml │ ├── assemble-mac.xml │ ├── assemble-win32.xml │ └── src.xml ├── maven-readme.txt └── pom.xml ├── sign4j ├── Bouncy Castle.LICENSE.txt ├── create-key.bat ├── jsign-2.0.LICENSE.txt ├── jsign-2.0.jar ├── sign.bat ├── sign4j.README.txt ├── sign4j.c └── sign4j.exe ├── src ├── LICENSE.txt ├── images │ ├── asterix-o.gif │ ├── asterix.gif │ ├── build.png │ ├── button_ok.png │ ├── cancel16.png │ ├── down16.png │ ├── edit_add16.png │ ├── info.png │ ├── new.png │ ├── new16.png │ ├── ok16.png │ ├── open.png │ ├── open16.png │ ├── run.png │ ├── save.png │ └── up16.png ├── launch4j.properties └── net │ └── sf │ └── launch4j │ ├── Builder.java │ ├── BuilderException.java │ ├── ExecException.java │ ├── FileChooserFilter.java │ ├── KanjiEscapeOutputStream.java │ ├── Log.java │ ├── Main.java │ ├── Messages.java │ ├── RcBuilder.java │ ├── Util.java │ ├── ant │ ├── AntClassPath.java │ ├── AntConfig.java │ ├── AntJre.java │ ├── Launch4jTask.java │ ├── Messages.java │ ├── StringWrapper.java │ └── messages.properties │ ├── binding │ ├── Binding.java │ ├── BindingException.java │ ├── Bindings.java │ ├── IValidatable.java │ ├── InvariantViolationException.java │ ├── JComboBoxBinding.java │ ├── JListBinding.java │ ├── JRadioButtonBinding.java │ ├── JTextAreaBinding.java │ ├── JTextComponentBinding.java │ ├── JToggleButtonBinding.java │ ├── Messages.java │ ├── OptComponentBinding.java │ ├── OptJTextAreaBinding.java │ ├── Validator.java │ └── messages.properties │ ├── config │ ├── CharsetID.java │ ├── ClassPath.java │ ├── Config.java │ ├── ConfigPersister.java │ ├── ConfigPersisterException.java │ ├── Describable.java │ ├── Jre.java │ ├── JreVersion.java │ ├── LanguageID.java │ ├── LdDefaults.java │ ├── Messages.java │ ├── Msg.java │ ├── SingleInstance.java │ ├── Splash.java │ ├── VersionInfo.java │ └── messages.properties │ ├── form │ ├── BasicForm.java │ ├── BasicForm.jfrm │ ├── ClassPathForm.java │ ├── ClassPathForm.jfrm │ ├── ConfigForm.java │ ├── ConfigForm.jfrm │ ├── EnvironmentVarsForm.java │ ├── EnvironmentVarsForm.jfrm │ ├── HeaderForm.java │ ├── HeaderForm.jfrm │ ├── JreForm.java │ ├── JreForm.jfrm │ ├── Messages.java │ ├── MessagesForm.java │ ├── MessagesForm.jfrm │ ├── SingleInstanceForm.java │ ├── SingleInstanceForm.jfrm │ ├── SplashForm.java │ ├── SplashForm.jfrm │ ├── VersionInfoForm.java │ ├── VersionInfoForm.jfrm │ └── messages.properties │ ├── formimpl │ ├── AbstractAcceptListener.java │ ├── BasicFormImpl.java │ ├── BrowseActionListener.java │ ├── ClassPathFormImpl.java │ ├── ConfigFormImpl.java │ ├── EnvironmentVarsFormImpl.java │ ├── FileChooser.java │ ├── GlassPane.java │ ├── HeaderFormImpl.java │ ├── JreFormImpl.java │ ├── MainFrame.java │ ├── Messages.java │ ├── MessagesFormImpl.java │ ├── SingleInstanceFormImpl.java │ ├── SplashFormImpl.java │ ├── VersionInfoFormImpl.java │ └── messages.properties │ └── messages.properties ├── w32api ├── MinGW.LICENSE.txt ├── crt2.o ├── libadvapi32.a ├── libgcc.a ├── libkernel32.a ├── libmingw32.a ├── libmingwex.a ├── libmoldname.a ├── libmsvcrt.a ├── libshell32.a └── libuser32.a └── web └── .gitignore /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /target 3 | demo/ModuleApp/mlib 4 | demo/ModuleApp/mods 5 | demo/ModuleApp/ModuleApp 6 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | launch4j 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /.settings/org.eclipse.core.runtime.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | line.separator=\n 3 | -------------------------------------------------------------------------------- /.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /.vscode/c_cpp_properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "name": "Win32", 5 | "includePath": [ 6 | "${workspaceFolder}/**", 7 | "c:\\Program Files (x86)\\Dev-Cpp\\MinGW32\\include\\**" 8 | ], 9 | "defines": [ 10 | "_DEBUG", 11 | "UNICODE", 12 | "_UNICODE" 13 | ], 14 | "cStandard": "gnu89", 15 | "cppStandard": "gnu++98", 16 | "intelliSenseMode": "windows-gcc-x86", 17 | "compilerPath": "c:\\Program Files (x86)\\Dev-Cpp\\MinGW32\\bin\\gcc.exe" 18 | } 19 | ], 20 | "version": 4 21 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "type": "make", 6 | "targetName": "all", 7 | "makeFileRelativePath": "head_src\\makefile", 8 | "problemMatcher": [], 9 | "label": "make: all", 10 | "detail": "./head_src\\makefile", 11 | "group": { 12 | "kind": "build", 13 | "isDefault": true 14 | } 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Launch4j (http://launch4j.sourceforge.net/) 2 | Cross-platform Java application wrapper for creating Windows native executables. 3 | 4 | Copyright (c) 2004, 2021 Grzegorz Kowal 5 | All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without modification, 8 | are permitted provided that the following conditions are met: 9 | 10 | 1. Redistributions of source code must retain the above copyright notice, 11 | this list of conditions and the following disclaimer. 12 | 13 | 2. Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | 17 | 3. Neither the name of the copyright holder nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 23 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /bin/.gitignore: -------------------------------------------------------------------------------- 1 | /ld.exe 2 | /windres.exe 3 | -------------------------------------------------------------------------------- /bin/bin-linux/ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/bin/bin-linux/ld -------------------------------------------------------------------------------- /bin/bin-linux/windres: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/bin/bin-linux/windres -------------------------------------------------------------------------------- /bin/bin-linux64/ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/bin/bin-linux64/ld -------------------------------------------------------------------------------- /bin/bin-linux64/windres: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/bin/bin-linux64/windres -------------------------------------------------------------------------------- /bin/bin-macosx-x86/ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/bin/bin-macosx-x86/ld -------------------------------------------------------------------------------- /bin/bin-macosx-x86/windres: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/bin/bin-macosx-x86/windres -------------------------------------------------------------------------------- /bin/bin-win32/ld.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/bin/bin-win32/ld.exe -------------------------------------------------------------------------------- /bin/bin-win32/windres.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/bin/bin-win32/windres.exe -------------------------------------------------------------------------------- /build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /demo/ConsoleApp/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /demo/ConsoleApp/build.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | if "%ANT_HOME%"=="" goto noAntHome 3 | if "%JAVA_HOME%"=="" goto noJavaHome 4 | call "%ANT_HOME%\bin\ant.bat" exe 5 | goto end 6 | 7 | :noAntHome 8 | echo ANT_HOME environment variable is not set 9 | goto end 10 | 11 | :noJavaHome 12 | echo JAVA_HOME environment variable is not set 13 | 14 | :end 15 | -------------------------------------------------------------------------------- /demo/ConsoleApp/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /demo/ConsoleApp/l4j/ConsoleApp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/demo/ConsoleApp/l4j/ConsoleApp.ico -------------------------------------------------------------------------------- /demo/ConsoleApp/lib/readme.txt: -------------------------------------------------------------------------------- 1 | Put your jar libs here and the build script will include them 2 | in the classpath stored inside the jar manifest. 3 | In order to run your application move the output exe file from 4 | the dist directory to the same level as lib. 5 | 6 | SimpleApp.exe 7 | lib/ 8 | lib/xml.jar 9 | -------------------------------------------------------------------------------- /demo/ConsoleApp/readme.txt: -------------------------------------------------------------------------------- 1 | To build the example application set JAVA_HOME and ANT_HOME environment variables. 2 | -------------------------------------------------------------------------------- /demo/ConsoleApp/src/net/sf/launch4j/example/ConsoleApp.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.example; 35 | 36 | import java.io.BufferedReader; 37 | import java.io.IOException; 38 | import java.io.InputStreamReader; 39 | 40 | /** 41 | * @author Copyright (C) 2005 Grzegorz Kowal 42 | */ 43 | public class ConsoleApp { 44 | public static void main(String[] args) { 45 | StringBuffer sb = new StringBuffer("Hello World!\n\nJava version: "); 46 | sb.append(System.getProperty("java.version")); 47 | sb.append("\nJava home: "); 48 | sb.append(System.getProperty("java.home")); 49 | sb.append("\nCurrent dir: "); 50 | sb.append(System.getProperty("user.dir")); 51 | if (args.length > 0) { 52 | sb.append("\nArgs: "); 53 | for (int i = 0; i < args.length; i++) { 54 | sb.append(args[i]); 55 | sb.append(' '); 56 | } 57 | } 58 | sb.append("\n\nEnter a line of text, 'quit' or Ctrl-C to stop.\n\n>"); 59 | System.out.print(sb.toString()); 60 | try { 61 | BufferedReader is = new BufferedReader(new InputStreamReader(System.in)); 62 | String line; 63 | while ((line = is.readLine()) != null && !line.equalsIgnoreCase("quit")) { 64 | System.out.print("You wrote: " + line + "\n\n>"); 65 | } 66 | is.close(); 67 | System.exit(123); 68 | } catch (IOException e) { 69 | System.err.print(e); 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /demo/ExitCodeApp/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /target 3 | -------------------------------------------------------------------------------- /demo/ExitCodeApp/build.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Wrap executable using the Maven plugin. 3 | call "c:\Program Files\apache-maven-3.2.5\bin\mvn.bat" clean package 4 | -------------------------------------------------------------------------------- /demo/ExitCodeApp/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | net.sf.launch4j.example 5 | ExitCodeApp 6 | 1.0 7 | ExitCodeApp 8 | jar 9 | 10 | 11 | UTF-8 12 | 13 | 14 | 15 | src 16 | 17 | 18 | src 19 | 20 | **/*.java 21 | 22 | 23 | 24 | 25 | 26 | maven-compiler-plugin 27 | 3.1 28 | 29 | 1.8 30 | 1.8 31 | 32 | 33 | 34 | com.akathist.maven.plugins.launch4j 35 | launch4j-maven-plugin 36 | 1.7.22 37 | 38 | 39 | l4j 40 | package 41 | 42 | launch4j 43 | 44 | 45 | console 46 | target/ExitCodeApp.exe 47 | target/ExitCodeApp-1.0.jar 48 | ExitCodeApp 49 | 50 | net.sf.launch4j.example.ExitCodeApp 51 | false 52 | anything 53 | 54 | 55 | %JAVA_HOME%;%PATH% 56 | 1.8.0 57 | 58 | 59 | 1.0.0.0 60 | 1.0 61 | Simple app for testing exit code. 62 | Copyright (C) 2022 GK 63 | 3.9.0.0 64 | 3.9 65 | ExitCodeApp 66 | ExitCodeApp 67 | ExitCodeApp.exe 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /demo/ExitCodeApp/src/net/sf/launch4j/example/ExitCodeApp.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.example; 35 | 36 | public class ExitCodeApp { 37 | public static void main(String[] args) { 38 | int exitCode = 0; 39 | 40 | if (args.length > 0) { 41 | exitCode = Integer.parseInt(args[0]); 42 | } 43 | 44 | System.out.println("Exit code: " + String.valueOf(exitCode)); 45 | System.exit(exitCode); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /demo/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Launch4j (http://launch4j.sourceforge.net/) 2 | Cross-platform Java application wrapper for creating Windows native executables. 3 | 4 | Copyright (c) 2004, 2015 Grzegorz Kowal 5 | All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without modification, 8 | are permitted provided that the following conditions are met: 9 | 10 | 1. Redistributions of source code must retain the above copyright notice, 11 | this list of conditions and the following disclaimer. 12 | 13 | 2. Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | 17 | 3. Neither the name of the copyright holder nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 23 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /demo/ModuleApp/build.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Requires Java 11 or higher. 3 | 4 | call clean.bat 5 | echo building... 6 | if not exist "mlib" mkdir mlib 7 | javac -d mods\net.sf.launch4j.example src\net.sf.launch4j.example\module-info.java src\net.sf.launch4j.example\net\sf\launch4j\example\ModuleApp.java 8 | jar --create --file=mlib\net.sf.launch4j.example.jar --main-class=net.sf.launch4j.example.ModuleApp -C mods\net.sf.launch4j.example . 9 | jlink --module-path mlib --add-modules java.base,net.sf.launch4j.example --output ModuleApp 10 | echo done. 11 | -------------------------------------------------------------------------------- /demo/ModuleApp/clean.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | if exist "mods" rmdir /q /s mods 3 | if exist "mlib" rmdir /q /s mlib 4 | if exist "ModuleApp" rmdir /q /s ModuleApp 5 | echo cleaned. 6 | -------------------------------------------------------------------------------- /demo/ModuleApp/run.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | .\ModuleApp\bin\java -m net.sf.launch4j.example 3 | -------------------------------------------------------------------------------- /demo/ModuleApp/src/net.sf.launch4j.example/module-info.java: -------------------------------------------------------------------------------- 1 | module net.sf.launch4j.example { } 2 | -------------------------------------------------------------------------------- /demo/ModuleApp/src/net.sf.launch4j.example/net/sf/launch4j/example/ModuleApp.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2022 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.example; 35 | 36 | import java.io.BufferedReader; 37 | import java.io.IOException; 38 | import java.io.InputStreamReader; 39 | 40 | /** 41 | * @author Copyright (C) 2022 Grzegorz Kowal 42 | */ 43 | public class ModuleApp { 44 | public static void main(String[] args) { 45 | StringBuffer sb = new StringBuffer("Hello World!\n\nJava version: "); 46 | sb.append(System.getProperty("java.version")); 47 | sb.append("\nJava home: "); 48 | sb.append(System.getProperty("java.home")); 49 | sb.append("\nCurrent dir: "); 50 | sb.append(System.getProperty("user.dir")); 51 | if (args.length > 0) { 52 | sb.append("\nArgs: "); 53 | for (int i = 0; i < args.length; i++) { 54 | sb.append(args[i]); 55 | sb.append(' '); 56 | } 57 | } 58 | System.out.print(sb.toString()); 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /demo/SimpleApp/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /demo/SimpleApp/build.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | if "%ANT_HOME%"=="" goto noAntHome 3 | if "%JAVA_HOME%"=="" goto noJavaHome 4 | call "%ANT_HOME%\bin\ant.bat" exe 5 | goto end 6 | 7 | :noAntHome 8 | echo ANT_HOME environment variable is not set 9 | goto end 10 | 11 | :noJavaHome 12 | echo JAVA_HOME environment variable is not set 13 | 14 | :end 15 | -------------------------------------------------------------------------------- /demo/SimpleApp/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /demo/SimpleApp/l4j/SimpleApp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/demo/SimpleApp/l4j/SimpleApp.ico -------------------------------------------------------------------------------- /demo/SimpleApp/l4j/SimpleApp.xml: -------------------------------------------------------------------------------- 1 | 2 | gui 3 | SimpleApp.jar 4 | true 5 | ../SimpleApp.exe 6 | SimpleApp 7 | . 8 | SimpleApp.ico 9 | true 10 | 11 | %JAVA_HOME%;%PATH% 12 | 1.8.0 13 | 14 | 15 | splash.bmp 16 | true 17 | 60 18 | true 19 | 20 | -------------------------------------------------------------------------------- /demo/SimpleApp/l4j/splash.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/demo/SimpleApp/l4j/splash.bmp -------------------------------------------------------------------------------- /demo/SimpleApp/lib/readme.txt: -------------------------------------------------------------------------------- 1 | Put your jar libs here and the build script will include them 2 | in the classpath stored inside the jar manifest. 3 | In order to run your application move the output exe file from 4 | the dist directory to the same level as lib. 5 | 6 | SimpleApp.exe 7 | lib/ 8 | lib/xml.jar 9 | -------------------------------------------------------------------------------- /demo/SimpleApp/readme.txt: -------------------------------------------------------------------------------- 1 | To build the example application set JAVA_HOME and ANT_HOME environment variables. 2 | -------------------------------------------------------------------------------- /demo/readme.txt: -------------------------------------------------------------------------------- 1 | JRE/SDK 1.6.0 or higher must be installed on your system to run this demo. 2 | 3 | try running it with some command line arguments... 4 | -------------------------------------------------------------------------------- /head/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Launch4j (http://launch4j.sourceforge.net/) 2 | Cross-platform Java application wrapper for creating Windows native executables. 3 | 4 | Copyright (c) 2004, 2015 Grzegorz Kowal 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | Except as contained in this notice, the name(s) of the above copyright holders 17 | shall not be used in advertising or otherwise to promote the sale, use or other 18 | dealings in this Software without prior written authorization. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | THE SOFTWARE. -------------------------------------------------------------------------------- /head/consolehead.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/head/consolehead.o -------------------------------------------------------------------------------- /head/guihead.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/head/guihead.o -------------------------------------------------------------------------------- /head/head.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/head/head.o -------------------------------------------------------------------------------- /head_jni_BETA/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Launch4j (http://launch4j.sourceforge.net/) 2 | Cross-platform Java application wrapper for creating Windows native executables. 3 | 4 | Copyright (c) 2004, 2015 Grzegorz Kowal 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | Except as contained in this notice, the name(s) of the above copyright holders 17 | shall not be used in advertising or otherwise to promote the sale, use or other 18 | dealings in this Software without prior written authorization. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | THE SOFTWARE. -------------------------------------------------------------------------------- /head_jni_BETA/head.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/head_jni_BETA/head.o -------------------------------------------------------------------------------- /head_jni_BETA/jniconsolehead.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/head_jni_BETA/jniconsolehead.o -------------------------------------------------------------------------------- /head_jni_BETA/jniguihead.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/head_jni_BETA/jniguihead.o -------------------------------------------------------------------------------- /head_jni_BETA/jnihead.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/head_jni_BETA/jnihead.o -------------------------------------------------------------------------------- /head_src/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Launch4j (http://launch4j.sourceforge.net/) 2 | Cross-platform Java application wrapper for creating Windows native executables. 3 | 4 | Copyright (c) 2004, 2015 Grzegorz Kowal 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | Except as contained in this notice, the name(s) of the above copyright holders 17 | shall not be used in advertising or otherwise to promote the sale, use or other 18 | dealings in this Software without prior written authorization. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | THE SOFTWARE. 27 | -------------------------------------------------------------------------------- /head_src/consolehead/.gitignore: -------------------------------------------------------------------------------- 1 | /consolehead.exe 2 | /consolehead.layout 3 | -------------------------------------------------------------------------------- /head_src/consolehead/Makefile.win: -------------------------------------------------------------------------------- 1 | # Project: consolehead 2 | # Makefile created by Dev-C++ 5.7.1 3 | 4 | CPP = g++.exe 5 | CC = gcc.exe 6 | WINDRES = windres.exe 7 | OBJ = ../../head/consolehead.o ../../head/head.o 8 | LINKOBJ = ../../head/consolehead.o ../../head/head.o 9 | LIBS = -L"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib" -L"C:/Program Files (x86)/Dev-Cpp/MinGW32/mingw32/lib" -static-libstdc++ -static-libgcc -n -s 10 | INCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib/gcc/mingw32/4.8.1/include" 11 | CXXINCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib/gcc/mingw32/4.8.1/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib/gcc/mingw32/4.8.1/include/c++" 12 | BIN = consolehead.exe 13 | CXXFLAGS = $(CXXINCS) -Os 14 | CFLAGS = $(INCS) -Os 15 | RM = rm.exe -f 16 | 17 | .PHONY: all all-before all-after clean clean-custom 18 | 19 | all: all-before $(BIN) all-after 20 | 21 | clean: clean-custom 22 | ${RM} $(OBJ) $(BIN) 23 | 24 | $(BIN): $(OBJ) 25 | $(CC) $(LINKOBJ) -o $(BIN) $(LIBS) 26 | 27 | ../../head/consolehead.o: consolehead.c 28 | $(CC) -c consolehead.c -o ../../head/consolehead.o $(CFLAGS) 29 | 30 | ../../head/head.o: ../head.c 31 | $(CC) -c ../head.c -o ../../head/head.o $(CFLAGS) 32 | -------------------------------------------------------------------------------- /head_src/consolehead/consolehead.c: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | Except as contained in this notice, the name(s) of the above copyright holders 18 | shall not be used in advertising or otherwise to promote the sale, use or other 19 | dealings in this Software without prior written authorization. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | THE SOFTWARE. 28 | */ 29 | 30 | #include "../resource.h" 31 | #include "../head.h" 32 | 33 | extern FILE* hLog; 34 | 35 | BOOL restartOnCrash = FALSE; 36 | 37 | int main(int argc, char* argv[]) 38 | { 39 | setConsoleFlag(); 40 | LPTSTR cmdLine = GetCommandLine(); 41 | 42 | if (*cmdLine == '"') 43 | { 44 | if (*(cmdLine = strchr(cmdLine + 1, '"') + 1)) 45 | { 46 | cmdLine++; 47 | } 48 | } 49 | else if ((cmdLine = strchr(cmdLine, ' ')) != NULL) 50 | { 51 | cmdLine++; 52 | } 53 | else 54 | { 55 | cmdLine = ""; 56 | } 57 | 58 | int result = prepare(cmdLine, FALSE); 59 | 60 | if (result == ERROR_ALREADY_EXISTS) 61 | { 62 | char errMsg[BIG_STR] = {0}; 63 | loadString(INSTANCE_ALREADY_EXISTS_MSG, errMsg); 64 | msgBox(errMsg); 65 | closeLogFile(); 66 | return 2; 67 | } 68 | 69 | if (result != TRUE) 70 | { 71 | signalError(); 72 | return 1; 73 | } 74 | 75 | restartOnCrash = loadBool(RESTART_ON_CRASH); 76 | DWORD dwExitCode; 77 | 78 | do 79 | { 80 | dwExitCode = 0; 81 | 82 | if (!execute(TRUE, &dwExitCode)) 83 | { 84 | signalError(); 85 | break; 86 | } 87 | 88 | if (restartOnCrash && dwExitCode != 0) 89 | { 90 | debug("Exit code:\t%d, restarting the application!\n", dwExitCode); 91 | } 92 | } while (restartOnCrash && dwExitCode != 0); 93 | 94 | debug("Exit code:\t%d\n", dwExitCode); 95 | closeLogFile(); 96 | return (int) dwExitCode; 97 | } 98 | -------------------------------------------------------------------------------- /head_src/consolehead/consolehead.dev: -------------------------------------------------------------------------------- 1 | [Project] 2 | FileName=consolehead.dev 3 | Name=consolehead 4 | UnitCount=4 5 | Type=1 6 | Ver=2 7 | ObjFiles= 8 | Includes= 9 | Libs= 10 | PrivateResource= 11 | ResourceIncludes= 12 | MakeIncludes= 13 | Compiler= 14 | CppCompiler= 15 | Linker=-n_@@_ 16 | IsCpp=0 17 | Icon= 18 | ExeOutput= 19 | ObjectOutput=..\..\head 20 | OverrideOutput=0 21 | OverrideOutputName=consolehead.exe 22 | HostApplication= 23 | Folders= 24 | CommandLine= 25 | UseCustomMakefile=0 26 | CustomMakefile=Makefile.win 27 | IncludeVersionInfo=0 28 | SupportXPThemes=0 29 | CompilerSet=0 30 | CompilerSettings=000000d000000000000001000 31 | LogOutput= 32 | LogOutputEnabled=0 33 | 34 | [Unit1] 35 | FileName=consolehead.c 36 | CompileCpp=0 37 | Folder=consolehead 38 | Compile=1 39 | Link=1 40 | Priority=1000 41 | OverrideBuildCmd=0 42 | BuildCmd= 43 | 44 | [VersionInfo] 45 | Major=0 46 | Minor=1 47 | Release=1 48 | Build=1 49 | LanguageID=1033 50 | CharsetID=1252 51 | CompanyName= 52 | FileVersion=0.1.1.1 53 | FileDescription=Developed using the Dev-C++ IDE 54 | InternalName= 55 | LegalCopyright= 56 | LegalTrademarks= 57 | OriginalFilename= 58 | ProductName= 59 | ProductVersion= 60 | AutoIncBuildNr=0 61 | SyncProduct=0 62 | 63 | [Unit2] 64 | FileName=..\resource.h 65 | CompileCpp=0 66 | Folder=consolehead 67 | Compile=1 68 | Link=1 69 | Priority=1000 70 | OverrideBuildCmd=0 71 | BuildCmd= 72 | 73 | [Unit3] 74 | FileName=..\head.c 75 | CompileCpp=0 76 | Folder=consolehead 77 | Compile=1 78 | Link=1 79 | Priority=1000 80 | OverrideBuildCmd=0 81 | BuildCmd= 82 | 83 | [Unit4] 84 | FileName=..\head.h 85 | CompileCpp=0 86 | Folder=consolehead 87 | Compile=1 88 | Link=1 89 | Priority=1000 90 | OverrideBuildCmd=0 91 | BuildCmd= 92 | 93 | [Unit5] 94 | FileName=..\head.rc 95 | Folder=consolehead 96 | Compile=1 97 | Link=0 98 | Priority=1000 99 | OverrideBuildCmd=0 100 | BuildCmd= 101 | 102 | [Unit6] 103 | FileName=..\resid.h 104 | CompileCpp=0 105 | Folder=consolehead 106 | Compile=1 107 | Link=1 108 | Priority=1000 109 | OverrideBuildCmd=0 110 | BuildCmd= 111 | 112 | -------------------------------------------------------------------------------- /head_src/guihead/.gitignore: -------------------------------------------------------------------------------- 1 | /guihead.exe 2 | /guihead.layout 3 | -------------------------------------------------------------------------------- /head_src/guihead/Makefile.win: -------------------------------------------------------------------------------- 1 | # Project: guihead 2 | # Makefile created by Dev-C++ 5.7.1 3 | 4 | CPP = g++.exe 5 | CC = gcc.exe 6 | WINDRES = windres.exe 7 | OBJ = ../../head/guihead.o ../../head/head.o 8 | LINKOBJ = ../../head/guihead.o ../../head/head.o 9 | LIBS = -L"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib" -L"C:/Program Files (x86)/Dev-Cpp/MinGW32/mingw32/lib" -static-libstdc++ -static-libgcc -mwindows -n -s 10 | INCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib/gcc/mingw32/4.8.1/include" 11 | CXXINCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib/gcc/mingw32/4.8.1/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib/gcc/mingw32/4.8.1/include/c++" 12 | BIN = guihead.exe 13 | CXXFLAGS = $(CXXINCS) -Os 14 | CFLAGS = $(INCS) -Os 15 | RM = rm.exe -f 16 | 17 | .PHONY: all all-before all-after clean clean-custom 18 | 19 | all: all-before $(BIN) all-after 20 | 21 | clean: clean-custom 22 | ${RM} $(OBJ) $(BIN) 23 | 24 | $(BIN): $(OBJ) 25 | $(CC) $(LINKOBJ) -o $(BIN) $(LIBS) 26 | 27 | ../../head/guihead.o: guihead.c 28 | $(CC) -c guihead.c -o ../../head/guihead.o $(CFLAGS) 29 | 30 | ../../head/head.o: ../head.c 31 | $(CC) -c ../head.c -o ../../head/head.o $(CFLAGS) 32 | -------------------------------------------------------------------------------- /head_src/guihead/guihead.dev: -------------------------------------------------------------------------------- 1 | [Project] 2 | FileName=guihead.dev 3 | Name=guihead 4 | UnitCount=5 5 | Type=0 6 | Ver=2 7 | ObjFiles= 8 | Includes= 9 | Libs= 10 | PrivateResource= 11 | ResourceIncludes= 12 | MakeIncludes= 13 | Compiler= 14 | CppCompiler= 15 | Linker=-n_@@_ 16 | IsCpp=0 17 | Icon= 18 | ExeOutput= 19 | ObjectOutput=..\..\head 20 | OverrideOutput=0 21 | OverrideOutputName=guihead.exe 22 | HostApplication= 23 | Folders= 24 | CommandLine= 25 | UseCustomMakefile=0 26 | CustomMakefile=Makefile.win 27 | IncludeVersionInfo=0 28 | SupportXPThemes=0 29 | CompilerSet=0 30 | CompilerSettings=000000d000000000000001000 31 | LogOutput= 32 | LogOutputEnabled=0 33 | 34 | [Unit1] 35 | FileName=guihead.c 36 | CompileCpp=0 37 | Folder=guihead 38 | Compile=1 39 | Link=1 40 | Priority=1000 41 | OverrideBuildCmd=0 42 | BuildCmd=$(CC) -c guihead.c -o ../../head/guihead.o $(CFLAGS) 43 | 44 | [Unit2] 45 | FileName=guihead.h 46 | CompileCpp=0 47 | Folder=guihead 48 | Compile=1 49 | Link=1 50 | Priority=1000 51 | OverrideBuildCmd=0 52 | BuildCmd= 53 | 54 | [VersionInfo] 55 | Major=0 56 | Minor=1 57 | Release=1 58 | Build=1 59 | LanguageID=1033 60 | CharsetID=1252 61 | CompanyName= 62 | FileVersion= 63 | FileDescription=Developed using the Dev-C++ IDE 64 | InternalName= 65 | LegalCopyright= 66 | LegalTrademarks= 67 | OriginalFilename= 68 | ProductName= 69 | ProductVersion= 70 | AutoIncBuildNr=0 71 | SyncProduct=0 72 | 73 | [Unit4] 74 | FileName=..\head.h 75 | CompileCpp=0 76 | Folder=guihead 77 | Compile=1 78 | Link=1 79 | Priority=1000 80 | OverrideBuildCmd=0 81 | BuildCmd= 82 | 83 | [Unit6] 84 | FileName=..\resid.h 85 | CompileCpp=0 86 | Folder=guihead 87 | Compile=1 88 | Link=1 89 | Priority=1000 90 | OverrideBuildCmd=0 91 | BuildCmd= 92 | 93 | [Unit3] 94 | FileName=..\head.c 95 | CompileCpp=0 96 | Folder=guihead 97 | Compile=1 98 | Link=1 99 | Priority=1000 100 | OverrideBuildCmd=0 101 | BuildCmd=$(CC) -c head.c -o ../../head/head.o $(CFLAGS) 102 | 103 | [Unit5] 104 | FileName=..\resource.h 105 | CompileCpp=0 106 | Folder=guihead 107 | Compile=1 108 | Link=1 109 | Priority=1000 110 | OverrideBuildCmd=0 111 | BuildCmd= 112 | 113 | -------------------------------------------------------------------------------- /head_src/guihead/guihead.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | Except as contained in this notice, the name(s) of the above copyright holders 18 | shall not be used in advertising or otherwise to promote the sale, use or other 19 | dealings in this Software without prior written authorization. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | THE SOFTWARE. 28 | */ 29 | 30 | #define ID_TIMER 1 31 | #define DEFAULT_SPLASH_TIMEOUT 60 /* 60 seconds */ 32 | #define MAX_SPLASH_TIMEOUT 60 * 15 /* 15 minutes */ 33 | #define TIMER_PROC_INTERVAL 100 /* interval in ms between calls to EnumWindows */ 34 | 35 | HWND getInstanceWindow(); 36 | 37 | BOOL CALLBACK enumwndfn(HWND hwnd, LPARAM lParam); 38 | 39 | VOID CALLBACK TimerProc( 40 | HWND hwnd, // handle of window for timer messages 41 | UINT uMsg, // WM_TIMER message 42 | UINT idEvent, // timer identifier 43 | DWORD dwTime // current system time 44 | ); 45 | -------------------------------------------------------------------------------- /head_src/jniconsolehead_BETA/.gitignore: -------------------------------------------------------------------------------- 1 | /jniconsolehead.exe 2 | /jniconsolehead.layout 3 | -------------------------------------------------------------------------------- /head_src/jniconsolehead_BETA/Makefile.win: -------------------------------------------------------------------------------- 1 | # Project: jniconsolehead 2 | # Makefile created by Dev-C++ 5.7.1 3 | 4 | CPP = g++.exe 5 | CC = gcc.exe 6 | WINDRES = windres.exe 7 | OBJ = ../../head_jni_BETA/jniconsolehead.o ../../head_jni_BETA/head.o ../../head_jni_BETA/jnihead.o 8 | LINKOBJ = ../../head_jni_BETA/jniconsolehead.o ../../head_jni_BETA/head.o ../../head_jni_BETA/jnihead.o 9 | LIBS = -L"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib" -L"C:/Program Files (x86)/Dev-Cpp/MinGW32/mingw32/lib" -static-libstdc++ -static-libgcc -n -s 10 | INCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib/gcc/mingw32/4.8.1/include" -I"c:/Program Files/AdoptOpenJDK/jdk-8.0.282.8-hotspot/include" -I"c:/Program Files/AdoptOpenJDK/jdk-8.0.282.8-hotspot/include/win32" 11 | CXXINCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib/gcc/mingw32/4.8.1/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib/gcc/mingw32/4.8.1/include/c++" -I"c:/Program Files/AdoptOpenJDK/jdk-8.0.282.8-hotspot/include" -I"c:/Program Files/AdoptOpenJDK/jdk-8.0.282.8-hotspot/include/win32" 12 | BIN = jniconsolehead.exe 13 | CXXFLAGS = $(CXXINCS) -Os 14 | CFLAGS = $(INCS) -Os 15 | RM = rm.exe -f 16 | 17 | .PHONY: all all-before all-after clean clean-custom 18 | 19 | all: all-before $(BIN) all-after 20 | 21 | clean: clean-custom 22 | ${RM} $(OBJ) $(BIN) 23 | 24 | $(BIN): $(OBJ) 25 | $(CC) $(LINKOBJ) -o $(BIN) $(LIBS) 26 | 27 | ../../head_jni_BETA/jniconsolehead.o: jniconsolehead.c 28 | $(CC) -c jniconsolehead.c -o ../../head_jni_BETA/jniconsolehead.o $(CFLAGS) 29 | 30 | ../../head_jni_BETA/head.o: ../head.c 31 | $(CC) -c ../head.c -o ../../head_jni_BETA/head.o $(CFLAGS) 32 | 33 | ../../head_jni_BETA/jnihead.o: ../jnihead.c 34 | $(CC) -c ../jnihead.c -o ../../head_jni_BETA/jnihead.o $(CFLAGS) 35 | -------------------------------------------------------------------------------- /head_src/jniconsolehead_BETA/jniconsolehead.c: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | Except as contained in this notice, the name(s) of the above copyright holders 18 | shall not be used in advertising or otherwise to promote the sale, use or other 19 | dealings in this Software without prior written authorization. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | THE SOFTWARE. 28 | */ 29 | 30 | #include "../resource.h" 31 | #include "../head.h" 32 | #include "../jnihead.h" 33 | 34 | extern FILE* hLog; 35 | 36 | BOOL restartOnCrash = FALSE; 37 | 38 | int main(int argc, char* argv[]) 39 | { 40 | setConsoleFlag(); 41 | LPTSTR cmdLine = GetCommandLine(); 42 | 43 | if (*cmdLine == '"') 44 | { 45 | if (*(cmdLine = strchr(cmdLine + 1, '"') + 1)) 46 | { 47 | cmdLine++; 48 | } 49 | } 50 | else if ((cmdLine = strchr(cmdLine, ' ')) != NULL) 51 | { 52 | cmdLine++; 53 | } 54 | else 55 | { 56 | cmdLine = ""; 57 | } 58 | 59 | int result = prepare(cmdLine, TRUE); 60 | 61 | if (result == ERROR_ALREADY_EXISTS) 62 | { 63 | char errMsg[BIG_STR] = {0}; 64 | loadString(INSTANCE_ALREADY_EXISTS_MSG, errMsg); 65 | msgBox(errMsg); 66 | closeLogFile(); 67 | return 2; 68 | } 69 | 70 | if (result != TRUE) 71 | { 72 | signalError(); 73 | return 1; 74 | } 75 | 76 | restartOnCrash = loadBool(RESTART_ON_CRASH); 77 | DWORD dwExitCode; 78 | 79 | do 80 | { 81 | dwExitCode = 0; 82 | saveJvmOptions(getJavaHome(), getMainClass(), getLauncherArgs()); 83 | 84 | if (!executeVm(&dwExitCode)) 85 | { 86 | signalError(); 87 | break; 88 | } 89 | 90 | if (restartOnCrash && dwExitCode != 0) 91 | { 92 | debug("Exit code:\t%d, restarting the application!\n", dwExitCode); 93 | } 94 | } while (restartOnCrash && dwExitCode != 0); 95 | 96 | debug("Exit code:\t%d\n", dwExitCode); 97 | closeLogFile(); 98 | return (int) dwExitCode; 99 | } 100 | -------------------------------------------------------------------------------- /head_src/jniconsolehead_BETA/jniconsolehead.dev: -------------------------------------------------------------------------------- 1 | [Project] 2 | FileName=jniconsolehead.dev 3 | Name=jniconsolehead 4 | UnitCount=6 5 | Type=1 6 | Ver=2 7 | ObjFiles= 8 | Includes="c:\Program Files\AdoptOpenJDK\jdk-8.0.282.8-hotspot\include";"c:\Program Files\AdoptOpenJDK\jdk-8.0.282.8-hotspot\include\win32" 9 | Libs= 10 | PrivateResource= 11 | ResourceIncludes= 12 | MakeIncludes= 13 | Compiler= 14 | CppCompiler= 15 | Linker=-n_@@_ 16 | IsCpp=0 17 | Icon= 18 | ExeOutput= 19 | ObjectOutput=..\..\head_jni_BETA 20 | OverrideOutput=0 21 | OverrideOutputName=jniconsolehead.exe 22 | HostApplication= 23 | Folders= 24 | CommandLine= 25 | UseCustomMakefile=0 26 | CustomMakefile=Makefile.win 27 | IncludeVersionInfo=0 28 | SupportXPThemes=0 29 | CompilerSet=0 30 | CompilerSettings=000000d000000000000001000 31 | LogOutput= 32 | LogOutputEnabled=0 33 | 34 | [Unit1] 35 | FileName=jniconsolehead.c 36 | CompileCpp=0 37 | Folder=jniconsolehead 38 | Compile=1 39 | Link=1 40 | Priority=1000 41 | OverrideBuildCmd=0 42 | BuildCmd= 43 | 44 | [VersionInfo] 45 | Major=0 46 | Minor=1 47 | Release=1 48 | Build=1 49 | LanguageID=1033 50 | CharsetID=1252 51 | CompanyName= 52 | FileVersion=0.1.1.1 53 | FileDescription=Developed using the Dev-C++ IDE 54 | InternalName= 55 | LegalCopyright= 56 | LegalTrademarks= 57 | OriginalFilename= 58 | ProductName= 59 | ProductVersion= 60 | AutoIncBuildNr=0 61 | SyncProduct=0 62 | 63 | [Unit2] 64 | FileName=..\resource.h 65 | CompileCpp=0 66 | Folder=jniconsolehead 67 | Compile=1 68 | Link=1 69 | Priority=1000 70 | OverrideBuildCmd=0 71 | BuildCmd= 72 | 73 | [Unit3] 74 | FileName=..\head.c 75 | CompileCpp=0 76 | Folder=jniconsolehead 77 | Compile=1 78 | Link=1 79 | Priority=1000 80 | OverrideBuildCmd=0 81 | BuildCmd= 82 | 83 | [Unit4] 84 | FileName=..\head.h 85 | CompileCpp=0 86 | Folder=jniconsolehead 87 | Compile=1 88 | Link=1 89 | Priority=1000 90 | OverrideBuildCmd=0 91 | BuildCmd= 92 | 93 | [Unit5] 94 | FileName=..\jnihead.h 95 | Folder=jniconsolehead 96 | Compile=1 97 | Link=1 98 | Priority=1000 99 | OverrideBuildCmd=0 100 | BuildCmd= 101 | CompileCpp=0 102 | 103 | [Unit6] 104 | FileName=..\jnihead.c 105 | CompileCpp=0 106 | Folder=jniconsolehead 107 | Compile=1 108 | Link=1 109 | Priority=1000 110 | OverrideBuildCmd=0 111 | BuildCmd= 112 | 113 | -------------------------------------------------------------------------------- /head_src/jniguihead_BETA/.gitignore: -------------------------------------------------------------------------------- 1 | /jniguihead.exe 2 | /jniguihead.layout 3 | -------------------------------------------------------------------------------- /head_src/jniguihead_BETA/Makefile.win: -------------------------------------------------------------------------------- 1 | # Project: jniguihead 2 | # Makefile created by Dev-C++ 5.7.1 3 | 4 | CPP = g++.exe 5 | CC = gcc.exe 6 | WINDRES = windres.exe 7 | OBJ = ../../head_jni_BETA/jniguihead.o ../../head_jni_BETA/head.o ../../head_jni_BETA/jnihead.o 8 | LINKOBJ = ../../head_jni_BETA/jniguihead.o ../../head_jni_BETA/head.o ../../head_jni_BETA/jnihead.o 9 | LIBS = -L"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib" -L"C:/Program Files (x86)/Dev-Cpp/MinGW32/mingw32/lib" -static-libstdc++ -static-libgcc -mwindows -n -s 10 | INCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib/gcc/mingw32/4.8.1/include" -I"c:/Program Files/AdoptOpenJDK/jdk-8.0.282.8-hotspot/include" -I"c:/Program Files/AdoptOpenJDK/jdk-8.0.282.8-hotspot/include/win32" 11 | CXXINCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib/gcc/mingw32/4.8.1/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW32/lib/gcc/mingw32/4.8.1/include/c++" -I"c:/Program Files/AdoptOpenJDK/jdk-8.0.282.8-hotspot/include" -I"c:/Program Files/AdoptOpenJDK/jdk-8.0.282.8-hotspot/include/win32" 12 | BIN = jniguihead.exe 13 | CXXFLAGS = $(CXXINCS) -Os 14 | CFLAGS = $(INCS) -Os 15 | RM = rm.exe -f 16 | 17 | .PHONY: all all-before all-after clean clean-custom 18 | 19 | all: all-before $(BIN) all-after 20 | 21 | clean: clean-custom 22 | ${RM} $(OBJ) $(BIN) 23 | 24 | $(BIN): $(OBJ) 25 | $(CC) $(LINKOBJ) -o $(BIN) $(LIBS) 26 | 27 | ../../head_jni_BETA/jniguihead.o: jniguihead.c 28 | $(CC) -c jniguihead.c -o ../../head_jni_BETA/jniguihead.o $(CFLAGS) 29 | 30 | ../../head_jni_BETA/head.o: ../head.c 31 | $(CC) -c ../head.c -o ../../head_jni_BETA/head.o $(CFLAGS) 32 | 33 | ../../head_jni_BETA/jnihead.o: ../jnihead.c 34 | $(CC) -c ../jnihead.c -o ../../head_jni_BETA/jnihead.o $(CFLAGS) 35 | -------------------------------------------------------------------------------- /head_src/jniguihead_BETA/jniguihead.dev: -------------------------------------------------------------------------------- 1 | [Project] 2 | FileName=jniguihead.dev 3 | Name=jniguihead 4 | UnitCount=7 5 | Type=0 6 | Ver=2 7 | ObjFiles= 8 | Includes="c:\Program Files\AdoptOpenJDK\jdk-8.0.282.8-hotspot\include";"c:\Program Files\AdoptOpenJDK\jdk-8.0.282.8-hotspot\include\win32" 9 | Libs= 10 | PrivateResource= 11 | ResourceIncludes= 12 | MakeIncludes= 13 | Compiler= 14 | CppCompiler= 15 | Linker=-n_@@_ 16 | IsCpp=0 17 | Icon= 18 | ExeOutput= 19 | ObjectOutput=..\..\head_jni_BETA 20 | OverrideOutput=0 21 | OverrideOutputName=jniguihead.exe 22 | HostApplication= 23 | Folders= 24 | CommandLine= 25 | UseCustomMakefile=0 26 | CustomMakefile=Makefile.win 27 | IncludeVersionInfo=0 28 | SupportXPThemes=0 29 | CompilerSet=0 30 | CompilerSettings=000000d000000000000001000 31 | LogOutput= 32 | LogOutputEnabled=0 33 | 34 | [Unit1] 35 | FileName=jniguihead.c 36 | CompileCpp=0 37 | Folder=jniguihead_BETA 38 | Compile=1 39 | Link=1 40 | Priority=1000 41 | OverrideBuildCmd=0 42 | BuildCmd=$(CC) -c jniguihead.c -o ../../head_jni_BETA/jniguihead.o $(CFLAGS) 43 | 44 | [Unit2] 45 | FileName=jniguihead.h 46 | CompileCpp=0 47 | Folder=jniguihead_BETA 48 | Compile=1 49 | Link=1 50 | Priority=1000 51 | OverrideBuildCmd=0 52 | BuildCmd= 53 | 54 | [VersionInfo] 55 | Major=0 56 | Minor=1 57 | Release=1 58 | Build=1 59 | LanguageID=1033 60 | CharsetID=1252 61 | CompanyName= 62 | FileVersion=0.1.1.1 63 | FileDescription=Developed using the Dev-C++ IDE 64 | InternalName= 65 | LegalCopyright= 66 | LegalTrademarks= 67 | OriginalFilename= 68 | ProductName= 69 | ProductVersion= 70 | AutoIncBuildNr=0 71 | SyncProduct=0 72 | 73 | [Unit4] 74 | FileName=..\head.h 75 | CompileCpp=0 76 | Folder=jniguihead_BETA 77 | Compile=1 78 | Link=1 79 | Priority=1000 80 | OverrideBuildCmd=0 81 | BuildCmd= 82 | 83 | [Unit6] 84 | FileName=..\jnihead.c 85 | CompileCpp=0 86 | Folder=jniguihead_BETA 87 | Compile=1 88 | Link=1 89 | Priority=1000 90 | OverrideBuildCmd=0 91 | BuildCmd= 92 | 93 | [Unit3] 94 | FileName=..\head.c 95 | CompileCpp=0 96 | Folder=jniguihead_BETA 97 | Compile=1 98 | Link=1 99 | Priority=1000 100 | OverrideBuildCmd=0 101 | BuildCmd=$(CC) -c head.c -o ../../head/head.o $(CFLAGS) 102 | 103 | [Unit5] 104 | FileName=..\resource.h 105 | CompileCpp=0 106 | Folder=jniguihead_BETA 107 | Compile=1 108 | Link=1 109 | Priority=1000 110 | OverrideBuildCmd=0 111 | BuildCmd= 112 | 113 | [Unit7] 114 | FileName=..\jnihead.h 115 | CompileCpp=0 116 | Folder=jniguihead_BETA 117 | Compile=1 118 | Link=1 119 | Priority=1000 120 | OverrideBuildCmd=0 121 | BuildCmd= 122 | 123 | -------------------------------------------------------------------------------- /head_src/jniguihead_BETA/jniguihead.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | Except as contained in this notice, the name(s) of the above copyright holders 18 | shall not be used in advertising or otherwise to promote the sale, use or other 19 | dealings in this Software without prior written authorization. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | THE SOFTWARE. 28 | */ 29 | 30 | #define ID_TIMER 1 31 | #define DEFAULT_SPLASH_TIMEOUT 60 /* 60 seconds */ 32 | #define MAX_SPLASH_TIMEOUT 60 * 15 /* 15 minutes */ 33 | 34 | HWND getInstanceWindow(); 35 | 36 | BOOL CALLBACK enumwndfn(HWND hwnd, LPARAM lParam); 37 | 38 | VOID CALLBACK TimerProc( 39 | HWND hwnd, // handle of window for timer messages 40 | UINT uMsg, // WM_TIMER message 41 | UINT idEvent, // timer identifier 42 | DWORD dwTime // current system time 43 | ); 44 | -------------------------------------------------------------------------------- /head_src/jnihead.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2007 Ryan Rusaw 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | Except as contained in this notice, the name(s) of the above copyright holders 18 | shall not be used in advertising or otherwise to promote the sale, use or other 19 | dealings in this Software without prior written authorization. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | THE SOFTWARE. 28 | */ 29 | 30 | #include 31 | #include 32 | 33 | #include "head.h" 34 | 35 | int getArgCount(const char* pcArgStr); 36 | void saveJvmOptions(const char *jrePath, const char *mainClass, const char *pcOpts); 37 | JNIEnv* createVm(); 38 | int invokeMainClass(JNIEnv* psJNIEnv); 39 | void cleanupVm(); 40 | BOOL executeVm(DWORD *dwExitCode); 41 | 42 | -------------------------------------------------------------------------------- /head_src/makefile: -------------------------------------------------------------------------------- 1 | MAKE = mingw32-make.exe 2 | 3 | all: 4 | $(MAKE) -C guihead -f Makefile.win all 5 | $(MAKE) -C consolehead -f Makefile.win all 6 | $(MAKE) -C jniguihead_BETA -f Makefile.win all 7 | $(MAKE) -C jniconsolehead_BETA -f Makefile.win all 8 | 9 | clean: 10 | $(MAKE) -C guihead -f Makefile.win clean 11 | $(MAKE) -C consolehead -f Makefile.win clean 12 | $(MAKE) -C jniguihead_BETA -f Makefile.win clean 13 | $(MAKE) -C jniconsolehead_BETA -f Makefile.win clean 14 | -------------------------------------------------------------------------------- /head_src/resource.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2014 Grzegorz Kowal 6 | Ian Roberts (jdk preference patch) 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | Except as contained in this notice, the name(s) of the above copyright holders 19 | shall not be used in advertising or otherwise to promote the sale, use or other 20 | dealings in this Software without prior written authorization. 21 | 22 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 23 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 24 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 25 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 26 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 27 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 28 | THE SOFTWARE. 29 | */ 30 | 31 | // ICON 32 | #define APP_ICON 1 33 | 34 | // BITMAP 35 | #define SPLASH_BITMAP 1 36 | 37 | // RCDATA 38 | #define JRE_PATH 1 39 | #define JAVA_MIN_VER 2 40 | #define JAVA_MAX_VER 3 41 | #define SHOW_SPLASH 4 42 | #define SPLASH_WAITS_FOR_WINDOW 5 43 | #define SPLASH_TIMEOUT 6 44 | #define SPLASH_TIMEOUT_ERR 7 45 | #define CHDIR 8 46 | #define ERR_TITLE 10 47 | #define GUI_HEADER_STAYS_ALIVE 11 48 | #define JVM_OPTIONS 12 49 | #define CMD_LINE 13 50 | #define JAR 14 51 | #define MAIN_CLASS 15 52 | #define CLASSPATH 16 53 | #define WRAPPER 17 54 | #define REQUIRES_JDK 18 55 | #define ENV_VARIABLES 19 56 | #define PRIORITY_CLASS 20 57 | #define DOWNLOAD_URL 21 58 | #define SUPPORT_URL 22 59 | #define MUTEX_NAME 23 60 | #define INSTANCE_WINDOW_TITLE 24 61 | #define INITIAL_HEAP_SIZE 25 62 | #define INITIAL_HEAP_PERCENT 26 63 | #define MAX_HEAP_SIZE 27 64 | #define MAX_HEAP_PERCENT 28 65 | #define REQUIRES_64_BIT 29 66 | #define RESTART_ON_CRASH 31 67 | #define INI_FILE 33 68 | 69 | #define STARTUP_ERR 101 70 | #define JRE_NOT_FOUND_ERR 102 71 | #define JRE_VERSION_ERR 103 72 | #define LAUNCHER_ERR 104 73 | #define INSTANCE_ALREADY_EXISTS_MSG 105 74 | -------------------------------------------------------------------------------- /l4j/checkVersions.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | type ..\src\launch4j.properties 3 | findstr /C:"#define VERSION" ..\head_src\head.h 4 | findstr /C:"!define PRODUCT_VERSION" nsis\launch4j.nsi 5 | findstr /C:"Copyright (c)" nsis\launch4j-setup-license.txt 6 | pause 7 | -------------------------------------------------------------------------------- /l4j/launch4j-use.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/l4j/launch4j-use.odg -------------------------------------------------------------------------------- /l4j/launch4j.xml: -------------------------------------------------------------------------------- 1 | 2 | gui 3 | true 4 | launch4j.jar 5 | ../launch4j.exe 6 | launch4j 7 | . 8 | false 9 | 10 | %JAVA_HOME%;%PATH% 11 | 1.8.0 12 | 13 | 14 | Cross-platform Java application wrapper 15 | Copyright (C) 2004, 2022 Grzegorz Kowal 16 | launch4j 17 | http://launch4j.sourceforge.net/ 18 | GUI launcher 19 | launch4j.exe 20 | 21 | -------------------------------------------------------------------------------- /l4j/launch4jc.xml: -------------------------------------------------------------------------------- 1 | 2 | console 3 | true 4 | launch4j.jar 5 | ../launch4jc.exe 6 | launch4j 7 | false 8 | 9 | %JAVA_HOME%;%PATH% 10 | 1.8.0 11 | 12 | 13 | Cross-platform Java application wrapper 14 | Copyright (C) 2004, 2022 Grzegorz Kowal 15 | launch4j 16 | http://launch4j.sourceforge.net/ 17 | Console launcher 18 | launch4jc.exe 19 | 20 | -------------------------------------------------------------------------------- /l4j/nsis/launch4j-setup-license.txt: -------------------------------------------------------------------------------- 1 | Launch4j :: Cross-platform Java application wrapper 2 | for creating Windows native executables 3 | 4 | Copyright (c) 2004, 2022 Grzegorz Kowal 5 | All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without modification, 8 | are permitted provided that the following conditions are met: 9 | 10 | 1. Redistributions of source code must retain the above copyright notice, 11 | this list of conditions and the following disclaimer. 12 | 13 | 2. Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | 17 | 3. Neither the name of the copyright holder nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | This product includes software developed by the Apache Software Foundation (http://www.apache.org/). 34 | -------------------------------------------------------------------------------- /l4j/web/bullet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/l4j/web/bullet.gif -------------------------------------------------------------------------------- /l4j/web/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /l4j/web/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Launch4j - Cross-platform Java executable wrapper 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 | launch4j $version 15 |
16 | 41 |
42 | -------------------------------------------------------------------------------- /l4j/web/launch4j-use.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/l4j/web/launch4j-use.gif -------------------------------------------------------------------------------- /l4j/web/launch4j.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/l4j/web/launch4j.gif -------------------------------------------------------------------------------- /l4j/web/links.html: -------------------------------------------------------------------------------- 1 |

Links

2 |

3 | Maven plugin by Lukasz Lenart
4 |
Maven Central Repository
5 | Jsign - Java implementation of Microsoft Authenticode for signing Windows executable files
6 | Orwell Dev-C++
7 | MinGW
8 | Commons BeanUtils
9 | Commons Logging
10 | XStream
11 | JGoodies
12 | Eclipse
13 |

14 |

Windows native installers

15 |

16 | NSIS (cross-platform, targets Windows)
17 | Inno Setup
18 |

19 | -------------------------------------------------------------------------------- /l4j/web/style-13112022.css: -------------------------------------------------------------------------------- 1 | body, table { 2 | font: 12px/20px Verdana, Arial, Helvetica, sans-serif; 3 | } 4 | 5 | 6 | pre { 7 | padding: 8px; 8 | border: 1px dashed #999999; 9 | background-color: #f1f1f1; 10 | font: 13px/20px "Courier New", Courier, monospace; 11 | } 12 | 13 | 14 | .version { 15 | color: #307fe1; 16 | font-weight: bold; 17 | } 18 | 19 | 20 | .codeword { 21 | color: #3333ff; 22 | } 23 | .attrib { 24 | color: #404040; 25 | } 26 | .warn { 27 | color: red; 28 | } 29 | .option { 30 | font-family: "Courier New", Courier, monospace; 31 | font-weight: bold; 32 | } 33 | 34 | 35 | dt { 36 | margin-top: 1.5em; 37 | color: #404040; 38 | font-size: 115%; 39 | border-bottom: 1px solid #cccccc; 40 | } 41 | dd { 42 | margin-left: 1em; 43 | } 44 | 45 | 46 | .warn, ul.changes em { 47 | color: #ff0000; 48 | } 49 | 50 | 51 | table { 52 | margin-top: 1em; 53 | padding: 0; 54 | border: 1px solid #999999; 55 | border-collapse: collapse; 56 | text-align: center; 57 | } 58 | table th { 59 | padding: 2px 4px; 60 | border: 1px solid #999999; 61 | background-color: #f1f1f1; 62 | } 63 | table td { 64 | padding: 2px 4px; 65 | border: 1px solid #999999; 66 | } 67 | .description { 68 | text-align: left; 69 | } 70 | 71 | 72 | #container { 73 | width: 90%; 74 | margin: 10px auto; 75 | border-width: 0; 76 | background-color: #ffffff; 77 | } 78 | 79 | 80 | #top { 81 | padding: 0.5em; 82 | background-color: #ffffff; 83 | } 84 | #top h1 { 85 | margin: 0; 86 | padding: 0; 87 | } 88 | 89 | .sidebar { 90 | float: left; 91 | width: 170px; 92 | margin: 0; 93 | padding: 0.5em; 94 | background-color: #ffffff; 95 | } 96 | 97 | #leftnav ul { 98 | margin: 0; 99 | padding: 0; 100 | border: none; 101 | list-style-type: none; 102 | font-size: 115%; 103 | } 104 | #leftnav a { 105 | width: 170px; 106 | height: 1.6em; 107 | line-height: 1.6em; 108 | display: block; 109 | padding-left: 0.2em; 110 | } 111 | #leftnav a:link, #leftnav a:visited { 112 | text-decoration: none; 113 | color: #666666; 114 | } 115 | #leftnav a:hover { 116 | background-color: #307fe1; 117 | color: #ffffff; 118 | } 119 | 120 | #leftnav a.button { 121 | display: inline; 122 | } 123 | #leftnav a.button:hover { 124 | background-color: transparent; 125 | } 126 | 127 | 128 | #content { 129 | max-width: 52em; 130 | margin-left: 190px; 131 | padding: 1em; 132 | border-left: 1px solid #cccccc; 133 | background-color: #ffffff; 134 | } 135 | 136 | #content ul { 137 | list-style-image: url('bullet.gif'); 138 | } 139 | 140 | #content a:link { 141 | text-decoration: none; 142 | color: #307fe1; 143 | } 144 | #content a:visited { 145 | text-decoration: none; 146 | color: #307fe1; 147 | } 148 | #content a:hover { 149 | color: #307fe1; 150 | text-decoration: underline; 151 | } 152 | 153 | #content h2 { 154 | font-size: 150%; 155 | } 156 | #content h2:first-child { 157 | margin: 0 0 0.5em; 158 | } 159 | 160 | 161 | .footer { 162 | clear: both; 163 | margin: 0; 164 | padding: 0.5em; 165 | background-color: #ffffff; 166 | color: #333333; 167 | text-align: center; 168 | font-size: 90%; 169 | } 170 | -------------------------------------------------------------------------------- /launch4j: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | LAUNCH4J="$(dirname "$0")"/launch4j.jar 3 | if [ -n "$JAVA_HOME" ]; then 4 | $JAVA_HOME/bin/java -jar "$LAUNCH4J" "$@" 5 | else 6 | java -jar "$LAUNCH4J" "$@" 7 | fi 8 | -------------------------------------------------------------------------------- /launch4j.jfpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/launch4j.jfpr -------------------------------------------------------------------------------- /launch4jc: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | LAUNCH4J="$(dirname "$0")"/launch4j.jar 3 | if [ -n "$JAVA_HOME" ]; then 4 | $JAVA_HOME/bin/java -Djava.awt.headless=true -jar "$LAUNCH4J" "$@" 5 | else 6 | java -Djava.awt.headless=true -jar "$LAUNCH4J" "$@" 7 | fi 8 | 9 | -------------------------------------------------------------------------------- /lib/JGoodies.Forms.LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | The BSD License for the JGoodies Forms 3 | ====================================== 4 | 5 | Copyright (c) 2002-2014 JGoodies Software GmbH. All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions are met: 9 | 10 | o Redistributions of source code must retain the above copyright notice, 11 | this list of conditions and the following disclaimer. 12 | 13 | o Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | 17 | o Neither the name of JGoodies Software GmbH nor the names of 18 | its contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 23 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 24 | PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 28 | OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 29 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 30 | OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 31 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | -------------------------------------------------------------------------------- /lib/XStream.LICENSE.txt: -------------------------------------------------------------------------------- 1 | (BSD Style License) 2 | 3 | Copyright (c) 2003-2006, Joe Walnes 4 | Copyright (c) 2006-2019, XStream Committers 5 | All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions are met: 9 | 10 | Redistributions of source code must retain the above copyright notice, this list of 11 | conditions and the following disclaimer. Redistributions in binary form must reproduce 12 | the above copyright notice, this list of conditions and the following disclaimer in 13 | the documentation and/or other materials provided with the distribution. 14 | 15 | Neither the name of XStream nor the names of its contributors may be used to endorse 16 | or promote products derived from this software without specific prior written 17 | permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 20 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 21 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 22 | SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 24 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 25 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY 27 | WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 28 | DAMAGE. 29 | -------------------------------------------------------------------------------- /lib/ant.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/lib/ant.jar -------------------------------------------------------------------------------- /lib/commons-beanutils.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/lib/commons-beanutils.jar -------------------------------------------------------------------------------- /lib/commons-logging.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/lib/commons-logging.jar -------------------------------------------------------------------------------- /lib/flatlaf.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/lib/flatlaf.jar -------------------------------------------------------------------------------- /lib/formsrt.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/lib/formsrt.jar -------------------------------------------------------------------------------- /lib/jgoodies-common.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/lib/jgoodies-common.jar -------------------------------------------------------------------------------- /lib/jgoodies-forms.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/lib/jgoodies-forms.jar -------------------------------------------------------------------------------- /lib/xstream.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/lib/xstream.jar -------------------------------------------------------------------------------- /manifest/uac.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /maven/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /maven/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | launch4j 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.m2e.core.maven2Builder 15 | 16 | 17 | 18 | 19 | 20 | org.eclipse.m2e.core.maven2Nature 21 | org.eclipse.jdt.core.javanature 22 | 23 | 24 | -------------------------------------------------------------------------------- /maven/.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /maven/assembly/assemble-dist.xml: -------------------------------------------------------------------------------- 1 | 3 | distribution-libs 4 | 5 | dir 6 | 7 | false 8 | 9 | 10 | 11 | false 12 | 13 | 14 | -------------------------------------------------------------------------------- /maven/assembly/assemble-linux.xml: -------------------------------------------------------------------------------- 1 | 2 | 32 | 33 | workdir-linux 34 | 35 | jar 36 | 37 | false 38 | 39 | 40 | bin/bin-linux 41 | ${finalName}-workdir-linux/bin 42 | 43 | 44 | ${finalName}-workdir-linux 45 | 46 | w32api/**/* 47 | w32api_jni/**/* 48 | head/**/* 49 | head_jni_BETA/**/* 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /maven/assembly/assemble-linux64.xml: -------------------------------------------------------------------------------- 1 | 2 | 32 | 33 | workdir-linux64 34 | 35 | jar 36 | 37 | false 38 | 39 | 40 | bin/bin-linux64 41 | ${finalName}-workdir-linux64/bin 42 | 43 | 44 | ${finalName}-workdir-linux64 45 | 46 | w32api/**/* 47 | w32api_jni/**/* 48 | head/**/* 49 | head_jni_BETA/**/* 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /maven/assembly/assemble-mac.xml: -------------------------------------------------------------------------------- 1 | 2 | 32 | 33 | workdir-mac 34 | 35 | jar 36 | 37 | false 38 | 39 | 40 | bin/bin-macosx-x86 41 | ${finalName}-workdir-mac/bin 42 | 43 | 44 | ${finalName}-workdir-mac 45 | 46 | w32api/**/* 47 | w32api_jni/**/* 48 | head/**/* 49 | head_jni_BETA/**/* 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /maven/assembly/assemble-win32.xml: -------------------------------------------------------------------------------- 1 | 2 | 32 | 33 | workdir-win32 34 | 35 | jar 36 | 37 | false 38 | 39 | 40 | bin/bin-win32 41 | ${finalName}-workdir-win32/bin 42 | 43 | 44 | ${finalName}-workdir-win32 45 | 46 | w32api/**/* 47 | w32api_jni/**/* 48 | head/**/* 49 | head_jni_BETA/**/* 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /maven/assembly/src.xml: -------------------------------------------------------------------------------- 1 | 2 | 32 | 33 | src 34 | 35 | tar.gz 36 | zip 37 | 38 | 39 | 40 | 41 | README* 42 | LICENSE* 43 | NOTICE* 44 | TODO 45 | pom.xml 46 | 47 | 48 | 49 | src 50 | 51 | **/.*.swp 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /maven/maven-readme.txt: -------------------------------------------------------------------------------- 1 | Run once the Ant target switch-to-maven, it will reconfigure the project to use maven. 2 | 3 | *** Creation of Distribution Release *** 4 | Windows: mvn -P dist,win32 clean package 5 | 6 | Linux: mvn -P dist,linux clean package 7 | 8 | MacOsX: mvn -P dist,macosx-x86 clean package 9 | -------------------------------------------------------------------------------- /sign4j/Bouncy Castle.LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2000 - 2018 The Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without 4 | restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the 5 | Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 10 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 11 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 12 | OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /sign4j/create-key.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | if not "%1" == "" ( 3 | echo Creating self-signed test certificate... 4 | "c:\Program Files\Java\jre-10.0.1\bin\keytool.exe" -genkeypair -alias "%1" -keyalg RSA -keystore keystore.jks 5 | ) else ( 6 | echo Specify alias/domain as the first and only argument. 7 | ) 8 | -------------------------------------------------------------------------------- /sign4j/jsign-2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/sign4j/jsign-2.0.jar -------------------------------------------------------------------------------- /sign4j/sign.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | if "%1" == "" goto HELP 3 | if "%2" == "" goto HELP 4 | if "%3" == "" goto HELP 5 | 6 | rem 7 | rem See sign4j.README.txt and https://ebourg.github.io/jsign/ for more information. 8 | rem 9 | 10 | sign4j.exe java -jar jsign-2.0.jar --alias "%1" --keystore keystore.jks --storepass "%2" "%3" 11 | goto END 12 | 13 | :HELP 14 | echo Usage: sign.bat certificate-alias store-password filename.exe 15 | 16 | :END 17 | -------------------------------------------------------------------------------- /sign4j/sign4j.README.txt: -------------------------------------------------------------------------------- 1 | sign4j version 3.0 2 | ------------------ 3 | 4 | sign4j is a very simple utility to digitally sign executables containing an appended jar file, like those created by launch4j. 5 | 6 | It works by first signing a temporary file to detect the size of the applied signature, and by then adding that size to a counter in the ZIP_END_HEADER of the embedded jar, so as to pretend that the signature is a comment belonging to it. That way the jar remains formally correct, and java accepts it. 7 | 8 | This manipulation must be done atomically with the signing process, because doing it before would invalidate the jar file, while doing it later would break the signature. That's why the whole command line of your signing tool must be passed to sign4j, which will do the job. 9 | 10 | Any signing tool can be used, as long as the name of the output file can be recognized among its parameters. This is currently done by either using an -out option if present, or taking the last filename with an exe suffix after all supplied options. 11 | 12 | If the involved tool is able to remove a previous signature before adding the new one (as is normally the case) the initial test can be performed on the target executable itself, avoiding the creation of a temporary file. You can use the option --onthespot to signal that to sign4j. 13 | 14 | The option --strict can be used to suppress the use of double quotes around parameters that strictly don't need them. The option --verbose shows diagnostics about intermediary steps of the process. 15 | 16 | This utility can also be used to sign normal executables, but then it will remember you that the file can be signed directly. 17 | 18 | Please send comments to bramfeld@diogen.de 19 | -------------------------------------------------------------------------------- /sign4j/sign4j.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/sign4j/sign4j.exe -------------------------------------------------------------------------------- /src/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Launch4j (http://launch4j.sourceforge.net/) 2 | Cross-platform Java application wrapper for creating Windows native executables. 3 | 4 | Copyright (c) 2004, 2019 Grzegorz Kowal 5 | All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without modification, 8 | are permitted provided that the following conditions are met: 9 | 10 | 1. Redistributions of source code must retain the above copyright notice, 11 | this list of conditions and the following disclaimer. 12 | 13 | 2. Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | 17 | 3. Neither the name of the copyright holder nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 23 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /src/images/asterix-o.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/asterix-o.gif -------------------------------------------------------------------------------- /src/images/asterix.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/asterix.gif -------------------------------------------------------------------------------- /src/images/build.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/build.png -------------------------------------------------------------------------------- /src/images/button_ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/button_ok.png -------------------------------------------------------------------------------- /src/images/cancel16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/cancel16.png -------------------------------------------------------------------------------- /src/images/down16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/down16.png -------------------------------------------------------------------------------- /src/images/edit_add16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/edit_add16.png -------------------------------------------------------------------------------- /src/images/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/info.png -------------------------------------------------------------------------------- /src/images/new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/new.png -------------------------------------------------------------------------------- /src/images/new16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/new16.png -------------------------------------------------------------------------------- /src/images/ok16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/ok16.png -------------------------------------------------------------------------------- /src/images/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/open.png -------------------------------------------------------------------------------- /src/images/open16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/open16.png -------------------------------------------------------------------------------- /src/images/run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/run.png -------------------------------------------------------------------------------- /src/images/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/save.png -------------------------------------------------------------------------------- /src/images/up16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/images/up16.png -------------------------------------------------------------------------------- /src/launch4j.properties: -------------------------------------------------------------------------------- 1 | versionNumber=3.51.0.0 2 | version=3.51 3 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/BuilderException.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 13, 2005 36 | */ 37 | package net.sf.launch4j; 38 | 39 | /** 40 | * @author Copyright (C) 2005 Grzegorz Kowal 41 | */ 42 | public class BuilderException extends Exception { 43 | public BuilderException() {} 44 | 45 | public BuilderException(Throwable t) { 46 | super(t); 47 | } 48 | 49 | public BuilderException(String msg) { 50 | super(msg); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/ExecException.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 14, 2005 36 | */ 37 | package net.sf.launch4j; 38 | 39 | /** 40 | * @author Copyright (C) 2005 Grzegorz Kowal 41 | */ 42 | public class ExecException extends Exception { 43 | private final int _errLine; 44 | 45 | public ExecException(Throwable t, int errLine) { 46 | super(t); 47 | _errLine = errLine; 48 | } 49 | 50 | public ExecException(Throwable t) { 51 | this(t, -1); 52 | } 53 | 54 | public ExecException(String msg, int errLine) { 55 | super(msg); 56 | _errLine = errLine; 57 | } 58 | 59 | public ExecException(String msg) { 60 | this(msg, -1); 61 | } 62 | 63 | public int getErrLine() { 64 | return _errLine; 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/FileChooserFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on 2004-01-15 36 | */ 37 | package net.sf.launch4j; 38 | 39 | import java.io.File; 40 | 41 | import javax.swing.filechooser.FileFilter; 42 | 43 | /** 44 | * @author Copyright (C) 2004 Grzegorz Kowal 45 | */ 46 | public class FileChooserFilter extends FileFilter { 47 | String _description; 48 | String[] _extensions; 49 | 50 | public FileChooserFilter(String description, String extension) { 51 | _description = description; 52 | _extensions = new String[] {extension}; 53 | } 54 | 55 | public FileChooserFilter(String description, String[] extensions) { 56 | _description = description; 57 | _extensions = extensions; 58 | } 59 | 60 | public boolean accept(File f) { 61 | if (f.isDirectory()) { 62 | return true; 63 | } 64 | String ext = Util.getExtension(f); 65 | for (int i = 0; i < _extensions.length; i++) { 66 | if (ext.toLowerCase().equals(_extensions[i].toLowerCase())) { 67 | return true; 68 | } 69 | } 70 | return false; 71 | } 72 | 73 | public String getDescription() { 74 | return _description; 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/KanjiEscapeOutputStream.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2013 toshimm 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | package net.sf.launch4j; 34 | 35 | import java.io.OutputStream; 36 | import java.io.IOException; 37 | 38 | /** 39 | * @author toshimm (2013) 40 | * 41 | * This class makes Japanese Kanji characters in MS932 charcode escaped 42 | * in octal form. 43 | */ 44 | public class KanjiEscapeOutputStream extends OutputStream { 45 | 46 | protected OutputStream parent; 47 | 48 | public KanjiEscapeOutputStream(OutputStream out) { 49 | this.parent = out; 50 | } 51 | 52 | private final int MASK = 0x000000FF; 53 | private boolean state = true; 54 | 55 | public void write(int b) throws IOException { 56 | b = b & MASK; 57 | 58 | if (state) { 59 | if (0x00 <= b && b <= 0x7f) { 60 | this.parent.write(b); 61 | } else { 62 | this.octprint(b); 63 | if ((0x81 <= b && b <= 0x9f) || (0xe0 <= b && b <= 0xfc)) { 64 | this.state = false; 65 | } 66 | } 67 | } else { 68 | if ((0x40 <= b && b <= 0x7e) || (0x80 <= b && b <= 0xfc)) { 69 | this.octprint(b); 70 | } else if (0x00 <= b && b <= 0x7f) { 71 | this.parent.write(b); 72 | } else { 73 | this.octprint(b); 74 | } 75 | this.state = true; 76 | } 77 | } 78 | 79 | private void octprint(int b) throws IOException { 80 | String oct = "\\" + String.format("%o", b & MASK); 81 | for (int i = 0; i < oct.length(); ++i) { 82 | int bb = oct.charAt(i); 83 | this.parent.write(bb); 84 | } 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/Log.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 12, 2005 36 | */ 37 | package net.sf.launch4j; 38 | 39 | import javax.swing.JTextArea; 40 | import javax.swing.SwingUtilities; 41 | 42 | /** 43 | * @author Copyright (C) 2005 Grzegorz Kowal 44 | */ 45 | public abstract class Log { 46 | private static final Log _consoleLog = new ConsoleLog(); 47 | private static final Log _antLog = new AntLog(); 48 | 49 | public abstract void clear(); 50 | public abstract void append(String line); 51 | 52 | public static Log getConsoleLog() { 53 | return _consoleLog; 54 | } 55 | 56 | public static Log getAntLog() { 57 | return _antLog; 58 | } 59 | 60 | public static Log getSwingLog(JTextArea textArea) { 61 | return new SwingLog(textArea); 62 | } 63 | } 64 | 65 | class ConsoleLog extends Log { 66 | public void clear() { 67 | System.out.println("\n"); 68 | } 69 | 70 | public void append(String line) { 71 | System.out.println("launch4j: " + line); 72 | } 73 | } 74 | 75 | class AntLog extends Log { 76 | public void clear() { 77 | System.out.println("\n"); 78 | } 79 | 80 | public void append(String line) { 81 | System.out.println(line); 82 | } 83 | } 84 | 85 | class SwingLog extends Log { 86 | private final JTextArea _textArea; 87 | 88 | public SwingLog(JTextArea textArea) { 89 | _textArea = textArea; 90 | } 91 | 92 | public void clear() { 93 | SwingUtilities.invokeLater(new Runnable() { 94 | public void run() { 95 | _textArea.setText(""); 96 | }}); 97 | } 98 | 99 | public void append(final String line) { 100 | SwingUtilities.invokeLater(new Runnable() { 101 | public void run() { 102 | _textArea.append(line + "\n"); 103 | }}); 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/Messages.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j; 35 | 36 | import java.text.MessageFormat; 37 | import java.util.MissingResourceException; 38 | import java.util.ResourceBundle; 39 | 40 | public class Messages { 41 | private static final String BUNDLE_NAME = "net.sf.launch4j.messages"; 42 | 43 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 44 | .getBundle(BUNDLE_NAME); 45 | private static final MessageFormat FORMATTER = new MessageFormat(""); 46 | 47 | private Messages() { 48 | } 49 | 50 | public static String getString(String key) { 51 | try { 52 | return RESOURCE_BUNDLE.getString(key); 53 | } catch (MissingResourceException e) { 54 | return '!' + key + '!'; 55 | } 56 | } 57 | 58 | public static String getString(String key, String arg0) { 59 | return getString(key, new Object[] {arg0}); 60 | } 61 | 62 | public static String getString(String key, String arg0, String arg1) { 63 | return getString(key, new Object[] {arg0, arg1}); 64 | } 65 | 66 | public static String getString(String key, String arg0, String arg1, String arg2) { 67 | return getString(key, new Object[] {arg0, arg1, arg2}); 68 | } 69 | 70 | public static String getString(String key, Object[] args) { 71 | try { 72 | FORMATTER.applyPattern(RESOURCE_BUNDLE.getString(key)); 73 | return FORMATTER.format(args); 74 | } catch (MissingResourceException e) { 75 | return '!' + key + '!'; 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/ant/AntClassPath.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Jul 19, 2006 36 | */ 37 | package net.sf.launch4j.ant; 38 | 39 | import java.util.ArrayList; 40 | import java.util.List; 41 | 42 | import net.sf.launch4j.config.ClassPath; 43 | 44 | /** 45 | * @author Copyright (C) 2006 Grzegorz Kowal 46 | */ 47 | public class AntClassPath extends ClassPath { 48 | private final List wrappedPaths = new ArrayList(); 49 | 50 | public void setCp(String cp){ 51 | StringWrapper wrapper = new StringWrapper(); 52 | wrapper.addText(cp); 53 | wrappedPaths.add(wrapper); 54 | } 55 | 56 | public void addCp(StringWrapper cp) { 57 | wrappedPaths.add(cp); 58 | } 59 | 60 | public void unwrap() { 61 | setPaths(StringWrapper.unwrap(wrappedPaths)); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/ant/AntJre.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Jul 18, 2006 36 | */ 37 | package net.sf.launch4j.ant; 38 | 39 | import java.util.ArrayList; 40 | import java.util.List; 41 | 42 | import net.sf.launch4j.config.Jre; 43 | 44 | /** 45 | * @author Copyright (C) 2006 Grzegorz Kowal 46 | */ 47 | public class AntJre extends Jre { 48 | private final List wrappedOptions = new ArrayList(); 49 | 50 | public void addOpt(StringWrapper opt) { 51 | wrappedOptions.add(opt); 52 | } 53 | 54 | public void unwrap() { 55 | setOptions(StringWrapper.unwrap(wrappedOptions)); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/ant/Messages.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.ant; 35 | 36 | import java.util.MissingResourceException; 37 | import java.util.ResourceBundle; 38 | 39 | public class Messages { 40 | private static final String BUNDLE_NAME = "net.sf.launch4j.ant.messages"; 41 | 42 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 43 | .getBundle(BUNDLE_NAME); 44 | 45 | private Messages() { 46 | } 47 | 48 | public static String getString(String key) { 49 | try { 50 | return RESOURCE_BUNDLE.getString(key); 51 | } catch (MissingResourceException e) { 52 | return '!' + key + '!'; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/ant/StringWrapper.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Jul 18, 2006 36 | */ 37 | package net.sf.launch4j.ant; 38 | 39 | import java.util.ArrayList; 40 | import java.util.List; 41 | 42 | /** 43 | * @author Copyright (C) 2006 Grzegorz Kowal 44 | */ 45 | public class StringWrapper { 46 | private String text; 47 | 48 | public static List unwrap(List wrappers) { 49 | if (wrappers.isEmpty()) { 50 | return null; 51 | } 52 | 53 | List strings = new ArrayList(wrappers.size()); 54 | 55 | for (StringWrapper w : wrappers) { 56 | strings.add(w.toString()); 57 | } 58 | 59 | return strings; 60 | } 61 | 62 | public void addText(String text) { 63 | this.text = text; 64 | } 65 | 66 | public String toString() { 67 | return text; 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/ant/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Launch4j (http://launch4j.sourceforge.net/) 3 | # Cross-platform Java application wrapper for creating Windows native executables. 4 | # 5 | # Copyright (c) 2004, 2015 Grzegorz Kowal 6 | # All rights reserved. 7 | # 8 | # Redistribution and use in source and binary forms, with or without modification, 9 | # are permitted provided that the following conditions are met: 10 | # 11 | # 1. Redistributions of source code must retain the above copyright notice, 12 | # this list of conditions and the following disclaimer. 13 | # 14 | # 2. Redistributions in binary form must reproduce the above copyright notice, 15 | # this list of conditions and the following disclaimer in the documentation 16 | # and/or other materials provided with the distribution. 17 | # 18 | # 3. Neither the name of the copyright holder nor the names of its contributors 19 | # may be used to endorse or promote products derived from this software without 20 | # specific prior written permission. 21 | # 22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | # 33 | 34 | Launch4jTask.specify.config=Specify configFile or config 35 | AntConfig.duplicate.element=Duplicate element 36 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/Binding.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Apr 30, 2005 36 | */ 37 | package net.sf.launch4j.binding; 38 | 39 | import java.awt.Color; 40 | 41 | /** 42 | * @author Copyright (C) 2005 Grzegorz Kowal 43 | */ 44 | public interface Binding { 45 | /** Used to mark components with invalid data. */ 46 | public final static Color INVALID_COLOR = Color.PINK; 47 | 48 | /** Java Bean property bound to a component */ 49 | public String getProperty(); 50 | /** Clear component, set it to the default value */ 51 | public void clear(IValidatable bean); 52 | /** Java Bean property -> Component */ 53 | public void put(IValidatable bean); 54 | /** Component -> Java Bean property */ 55 | public void get(IValidatable bean); 56 | /** Mark component as valid */ 57 | public void markValid(); 58 | /** Mark component as invalid */ 59 | public void markInvalid(); 60 | /** Enable or disable the component */ 61 | public void setEnabled(boolean enabled); 62 | } 63 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/BindingException.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Apr 30, 2005 36 | */ 37 | package net.sf.launch4j.binding; 38 | 39 | /** 40 | * Signals a runtime error, a missing property in a Java Bean for example. 41 | * 42 | * @author Copyright (C) 2005 Grzegorz Kowal 43 | */ 44 | public class BindingException extends RuntimeException { 45 | public BindingException(Throwable t) { 46 | super(t); 47 | } 48 | 49 | public BindingException(String msg) { 50 | super(msg); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/IValidatable.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on 2004-01-30 36 | */ 37 | package net.sf.launch4j.binding; 38 | 39 | /** 40 | * @author Copyright (C) 2004 Grzegorz Kowal 41 | */ 42 | public interface IValidatable { 43 | public void checkInvariants(); 44 | } 45 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/InvariantViolationException.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Jun 23, 2003 36 | */ 37 | package net.sf.launch4j.binding; 38 | 39 | /** 40 | * @author Copyright (C) 2003 Grzegorz Kowal 41 | */ 42 | public class InvariantViolationException extends RuntimeException { 43 | private final String _property; 44 | private Binding _binding; 45 | 46 | public InvariantViolationException(String msg) { 47 | super(msg); 48 | _property = null; 49 | } 50 | 51 | public InvariantViolationException(String property, String msg) { 52 | super(msg); 53 | _property = property; 54 | } 55 | 56 | public String getProperty() { 57 | return _property; 58 | } 59 | 60 | public Binding getBinding() { 61 | return _binding; 62 | } 63 | 64 | public void setBinding(Binding binding) { 65 | _binding = binding; 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/Messages.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.binding; 35 | 36 | import java.text.MessageFormat; 37 | import java.util.MissingResourceException; 38 | import java.util.ResourceBundle; 39 | 40 | public class Messages { 41 | private static final String BUNDLE_NAME = "net.sf.launch4j.binding.messages"; 42 | 43 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 44 | .getBundle(BUNDLE_NAME); 45 | private static final MessageFormat FORMATTER = new MessageFormat(""); 46 | 47 | private Messages() { 48 | } 49 | 50 | public static String getString(String key) { 51 | try { 52 | return RESOURCE_BUNDLE.getString(key); 53 | } catch (MissingResourceException e) { 54 | return '!' + key + '!'; 55 | } 56 | } 57 | 58 | public static String getString(String key, String arg0) { 59 | return getString(key, new Object[] {arg0}); 60 | } 61 | 62 | public static String getString(String key, String arg0, String arg1) { 63 | return getString(key, new Object[] {arg0, arg1}); 64 | } 65 | 66 | public static String getString(String key, String arg0, String arg1, String arg2) { 67 | return getString(key, new Object[] {arg0, arg1, arg2}); 68 | } 69 | 70 | public static String getString(String key, Object[] args) { 71 | try { 72 | FORMATTER.applyPattern(RESOURCE_BUNDLE.getString(key)); 73 | return FORMATTER.format(args); 74 | } catch (MissingResourceException e) { 75 | return '!' + key + '!'; 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Launch4j (http://launch4j.sourceforge.net/) 3 | # Cross-platform Java application wrapper for creating Windows native executables. 4 | # 5 | # Copyright (c) 2004, 2015 Grzegorz Kowal 6 | # All rights reserved. 7 | # 8 | # Redistribution and use in source and binary forms, with or without modification, 9 | # are permitted provided that the following conditions are met: 10 | # 11 | # 1. Redistributions of source code must retain the above copyright notice, 12 | # this list of conditions and the following disclaimer. 13 | # 14 | # 2. Redistributions in binary form must reproduce the above copyright notice, 15 | # this list of conditions and the following disclaimer in the documentation 16 | # and/or other materials provided with the distribution. 17 | # 18 | # 3. Neither the name of the copyright holder nor the names of its contributors 19 | # may be used to endorse or promote products derived from this software without 20 | # specific prior written permission. 21 | # 22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | # 33 | 34 | OptComponentBinding.must.implement=Optional component must implement 35 | 36 | Validator.empty.field=Enter: {0} 37 | Validator.invalid.data=Invalid data: {0} 38 | Validator.must.be.in.range={0} must be in range [{1}-{2}] 39 | Validator.must.be.at.least={0} must be at least 40 | Validator.already.exists={0} already exists. 41 | Validator.doesnt.exist={0} doesn''t exist. 42 | Validator.exceeds.max.length={0} exceeds the maximum length of {1} characters. 43 | Validator.invalid.option={0} must be one of [{1}] 44 | 45 | Bindings.duplicate.binding=Duplicate binding 46 | 47 | JRadioButtonBinding.property.null=Property is null 48 | JRadioButtonBinding.nothing.selected=Nothing selected 49 | JRadioButtonBinding.index.out.of.bounds=Button index out of bounds 50 | 51 | JComboBoxBinding.property.null=Property is null 52 | JComboBoxBinding.index.out.of.bounds=Combo box index out of bounds 53 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/config/ClassPath.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 1, 2006 36 | */ 37 | package net.sf.launch4j.config; 38 | 39 | import java.util.List; 40 | 41 | import net.sf.launch4j.binding.IValidatable; 42 | import net.sf.launch4j.binding.Validator; 43 | 44 | /** 45 | * @author Copyright (C) 2006 Grzegorz Kowal 46 | */ 47 | public class ClassPath implements IValidatable { 48 | private String mainClass; 49 | private List paths; 50 | 51 | public void checkInvariants() { 52 | Validator.checkString(mainClass, Validator.MAX_PATH, "mainClass", 53 | Messages.getString("ClassPath.mainClass")); 54 | Validator.checkOptStrings(paths, 55 | Validator.MAX_PATH, 56 | Validator.MAX_ARGS, 57 | "paths", 58 | Messages.getString("ClassPath.path")); 59 | } 60 | 61 | public String getMainClass() { 62 | return mainClass; 63 | } 64 | 65 | public void setMainClass(String mainClass) { 66 | this.mainClass = mainClass; 67 | } 68 | 69 | public List getPaths() { 70 | return paths; 71 | } 72 | 73 | public void setPaths(List paths) { 74 | this.paths = paths; 75 | } 76 | 77 | public String getPathsString() { 78 | StringBuffer sb = new StringBuffer(); 79 | 80 | if (paths != null) { 81 | for (int i = 0; i < paths.size(); i++) { 82 | sb.append(paths.get(i)); 83 | 84 | if (i < paths.size() - 1) { 85 | sb.append(';'); 86 | } 87 | } 88 | } 89 | 90 | return sb.toString(); 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/config/ConfigPersisterException.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Apr 22, 2005 36 | */ 37 | package net.sf.launch4j.config; 38 | 39 | /** 40 | * @author Copyright (C) 2005 Grzegorz Kowal 41 | */ 42 | public class ConfigPersisterException extends Exception { 43 | 44 | public ConfigPersisterException(String msg, Throwable t) { 45 | super(msg, t); 46 | } 47 | 48 | public ConfigPersisterException(Throwable t) { 49 | super(t); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/config/Describable.java: -------------------------------------------------------------------------------- 1 | package net.sf.launch4j.config; 2 | 3 | import java.util.Comparator; 4 | 5 | public interface Describable { 6 | 7 | String getDescription(); 8 | 9 | int getIndex(); 10 | 11 | class DescribableComparator implements Comparator { 12 | 13 | @Override 14 | public int compare(Describable o1, Describable o2) { 15 | return o1.getDescription().compareTo(o2.getDescription()); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/config/JreVersion.java: -------------------------------------------------------------------------------- 1 | package net.sf.launch4j.config; 2 | 3 | /** 4 | * This class will abstract application from JRE versioning schema and provide 5 | * comparing capabilities 6 | * 7 | * @author sergeyk 8 | * 9 | */ 10 | public class JreVersion implements Comparable { 11 | private int x1; 12 | private int x2; 13 | private int x3; 14 | private int x4; 15 | 16 | public static JreVersion parseString(String versionStr) { 17 | JreVersion ret = new JreVersion(); 18 | if (versionStr == null || versionStr.trim().length() == 0) { 19 | return ret; 20 | } 21 | if (!versionStr.matches(Jre.VERSION_PATTERN)) { 22 | // NOTE: This is actually shouldn't happen because version format had to be 23 | // checked by Jre#checkInvariants BEFORE calling this method 24 | throw new IllegalArgumentException("JRE version is not in a right format."); 25 | } 26 | 27 | String[] parts = versionStr.split("[\\._]"); 28 | int first = Integer.parseInt(parts[0]); 29 | if (first > 1) { 30 | // java 9+ version schema 31 | ret.x1 = 1; 32 | ret.x2 = first; 33 | if (parts.length >= 2) { 34 | ret.x3 = Integer.parseInt(parts[1]); 35 | if (parts.length >= 3) { 36 | ret.x4 = Integer.parseInt(parts[2]); 37 | } 38 | } 39 | } else { 40 | // java <= 1.8 version schema 41 | ret.x1 = first; 42 | if (parts.length >= 2) { 43 | ret.x2 = Integer.parseInt(parts[1]); 44 | if (parts.length >= 3) { 45 | ret.x3 = Integer.parseInt(parts[2]); 46 | if (parts.length == 4) { 47 | ret.x4 = Integer.parseInt(parts[3]); 48 | } 49 | } 50 | } 51 | } 52 | 53 | return ret; 54 | } 55 | 56 | @Override 57 | public String toString() { 58 | if (x2 >= 9) { 59 | return x2 + "." + x3 + "." + x4; 60 | } 61 | 62 | return x1 + "." + x2 + "." + x3 + (x4 > 0 ? "_" + x4 : ""); 63 | } 64 | 65 | @Override 66 | public int hashCode() { 67 | final int prime = 31; 68 | int result = 1; 69 | result = prime * result + x1; 70 | result = prime * result + x2; 71 | result = prime * result + x3; 72 | result = prime * result + x4; 73 | return result; 74 | } 75 | 76 | @Override 77 | public boolean equals(Object obj) { 78 | if (this == obj) { 79 | return true; 80 | } 81 | if (obj == null) { 82 | return false; 83 | } 84 | if (getClass() != obj.getClass()) { 85 | return false; 86 | } 87 | JreVersion other = (JreVersion) obj; 88 | if (x1 != other.x1) { 89 | return false; 90 | } 91 | if (x2 != other.x2) { 92 | return false; 93 | } 94 | if (x3 != other.x3) { 95 | return false; 96 | } 97 | if (x4 != other.x4) { 98 | return false; 99 | } 100 | return true; 101 | } 102 | 103 | @Override 104 | public int compareTo(JreVersion o) { 105 | if (this.equals(o)) { 106 | return 0; 107 | } 108 | 109 | if (x1 != o.x1) { 110 | return x1 - o.x1; 111 | } 112 | if (x2 != o.x2) { 113 | return x2 - o.x2; 114 | } 115 | if (x3 != o.x3) { 116 | return x3 - o.x3; 117 | } 118 | if (x4 != o.x4) { 119 | return x4 - o.x4; 120 | } 121 | 122 | throw new IllegalStateException("If you see this exception it means JreVersion::equals() method is buggy"); 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/config/Messages.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.config; 35 | 36 | import java.text.MessageFormat; 37 | import java.util.MissingResourceException; 38 | import java.util.ResourceBundle; 39 | 40 | public class Messages { 41 | private static final String BUNDLE_NAME = "net.sf.launch4j.config.messages"; 42 | 43 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 44 | .getBundle(BUNDLE_NAME); 45 | private static final MessageFormat FORMATTER = new MessageFormat(""); 46 | 47 | private Messages() { 48 | } 49 | 50 | public static String getString(String key) { 51 | try { 52 | return RESOURCE_BUNDLE.getString(key); 53 | } catch (MissingResourceException e) { 54 | return '!' + key + '!'; 55 | } 56 | } 57 | 58 | public static String getString(String key, String arg0) { 59 | return getString(key, new Object[] {arg0}); 60 | } 61 | 62 | public static String getString(String key, String arg0, String arg1) { 63 | return getString(key, new Object[] {arg0, arg1}); 64 | } 65 | 66 | public static String getString(String key, String arg0, String arg1, String arg2) { 67 | return getString(key, new Object[] {arg0, arg1, arg2}); 68 | } 69 | 70 | public static String getString(String key, Object[] args) { 71 | try { 72 | FORMATTER.applyPattern(RESOURCE_BUNDLE.getString(key)); 73 | return FORMATTER.format(args); 74 | } catch (MissingResourceException e) { 75 | return '!' + key + '!'; 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/config/SingleInstance.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /** 35 | * Created on 2007-09-16 36 | */ 37 | package net.sf.launch4j.config; 38 | 39 | import net.sf.launch4j.binding.IValidatable; 40 | import net.sf.launch4j.binding.Validator; 41 | 42 | /** 43 | * @author Copyright (C) 2007 Grzegorz Kowal 44 | */ 45 | public class SingleInstance implements IValidatable { 46 | 47 | private String mutexName; 48 | private String windowTitle; 49 | 50 | public void checkInvariants() { 51 | Validator.checkString(mutexName, Validator.MAX_STR, 52 | "singleInstance.mutexName", 53 | Messages.getString("SingleInstance.mutexName")); 54 | Validator.checkOptString(windowTitle, Validator.MAX_STR, 55 | "singleInstance.windowTitle", 56 | Messages.getString("SingleInstance.windowTitle")); 57 | } 58 | 59 | public String getWindowTitle() { 60 | return windowTitle; 61 | } 62 | 63 | public void setWindowTitle(String appWindowName) { 64 | this.windowTitle = appWindowName; 65 | } 66 | 67 | public String getMutexName() { 68 | return mutexName; 69 | } 70 | 71 | public void setMutexName(String mutexName) { 72 | this.mutexName = mutexName; 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/BasicForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/net/sf/launch4j/form/BasicForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/ClassPathForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/net/sf/launch4j/form/ClassPathForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/ConfigForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/net/sf/launch4j/form/ConfigForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/EnvironmentVarsForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/net/sf/launch4j/form/EnvironmentVarsForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/HeaderForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/net/sf/launch4j/form/HeaderForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/JreForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/net/sf/launch4j/form/JreForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/Messages.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.form; 35 | 36 | import java.util.MissingResourceException; 37 | import java.util.ResourceBundle; 38 | 39 | class Messages { 40 | private static final String BUNDLE_NAME = "net.sf.launch4j.form.messages"; 41 | 42 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 43 | .getBundle(BUNDLE_NAME); 44 | 45 | private Messages() { 46 | } 47 | 48 | public static String getString(String key) { 49 | try { 50 | return RESOURCE_BUNDLE.getString(key); 51 | } catch (MissingResourceException e) { 52 | return '!' + key + '!'; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/MessagesForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/net/sf/launch4j/form/MessagesForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/SingleInstanceForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/net/sf/launch4j/form/SingleInstanceForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/SplashForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/net/sf/launch4j/form/SplashForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/VersionInfoForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/src/net/sf/launch4j/form/VersionInfoForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/AbstractAcceptListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 1, 2006 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import java.awt.Color; 40 | import java.awt.event.ActionListener; 41 | 42 | import javax.swing.JTextField; 43 | 44 | import net.sf.launch4j.binding.Binding; 45 | 46 | /** 47 | * @author Copyright (C) 2006 Grzegorz Kowal 48 | */ 49 | public abstract class AbstractAcceptListener implements ActionListener { 50 | final JTextField _field; 51 | 52 | public AbstractAcceptListener(JTextField f, boolean listen) { 53 | _field = f; 54 | if (listen) { 55 | _field.addActionListener(this); 56 | } 57 | } 58 | 59 | protected String getText() { 60 | return _field.getText(); 61 | } 62 | 63 | protected void clear() { 64 | _field.setText(""); 65 | _field.requestFocusInWindow(); 66 | } 67 | 68 | protected void signalViolation(String msg) { 69 | final Color bg = _field.getBackground(); 70 | _field.setBackground(Binding.INVALID_COLOR); 71 | MainFrame.getInstance().warn(msg); 72 | _field.setBackground(bg); 73 | _field.requestFocusInWindow(); 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/BrowseActionListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 1, 2006 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import java.awt.event.ActionEvent; 40 | import java.awt.event.ActionListener; 41 | import java.io.File; 42 | 43 | import javax.swing.JFileChooser; 44 | import javax.swing.JTextField; 45 | 46 | import net.sf.launch4j.FileChooserFilter; 47 | 48 | /** 49 | * @author Copyright (C) 2006 Grzegorz Kowal 50 | */ 51 | public class BrowseActionListener implements ActionListener { 52 | private final boolean _save; 53 | private final JFileChooser _fileChooser; 54 | private final FileChooserFilter _filter; 55 | private final JTextField _field; 56 | 57 | public BrowseActionListener(boolean save, JFileChooser fileChooser, 58 | FileChooserFilter filter, JTextField field) { 59 | _save = save; 60 | _fileChooser = fileChooser; 61 | _filter = filter; 62 | _field = field; 63 | } 64 | 65 | public void actionPerformed(ActionEvent e) { 66 | if (!_field.isEnabled()) { 67 | return; 68 | } 69 | _fileChooser.setFileFilter(_filter); 70 | _fileChooser.setSelectedFile(new File("")); 71 | int result = _save 72 | ? _fileChooser.showSaveDialog(MainFrame.getInstance()) 73 | : _fileChooser.showOpenDialog(MainFrame.getInstance()); 74 | if (result == JFileChooser.APPROVE_OPTION) { 75 | _field.setText(_fileChooser.getSelectedFile().getPath()); 76 | } 77 | _fileChooser.removeChoosableFileFilter(_filter); 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/EnvironmentVarsFormImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Jun 10, 2006 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import net.sf.launch4j.binding.Bindings; 40 | import net.sf.launch4j.form.EnvironmentVarsForm; 41 | 42 | /** 43 | * @author Copyright (C) 2006 Grzegorz Kowal 44 | */ 45 | public class EnvironmentVarsFormImpl extends EnvironmentVarsForm { 46 | 47 | public EnvironmentVarsFormImpl(Bindings bindings) { 48 | bindings.add("variables", _envVarsTextArea); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/FileChooser.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Jul 19, 2006 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import java.io.File; 40 | import java.util.prefs.Preferences; 41 | 42 | import javax.swing.JFileChooser; 43 | 44 | /** 45 | * @author Copyright (C) 2006 Grzegorz Kowal 46 | */ 47 | public class FileChooser extends JFileChooser { 48 | private final Preferences _prefs; 49 | private final String _key; 50 | 51 | public FileChooser(Class clazz) { 52 | _prefs = Preferences.userNodeForPackage(clazz); 53 | _key = "currentDir-" 54 | + clazz.getName().substring(clazz.getName().lastIndexOf('.') + 1); 55 | String path = _prefs.get(_key, null); 56 | 57 | if (path != null) { 58 | setCurrentDirectory(new File(path)); 59 | } 60 | } 61 | 62 | public void approveSelection() { 63 | _prefs.put(_key, getCurrentDirectory().getPath()); 64 | super.approveSelection(); 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/GlassPane.java: -------------------------------------------------------------------------------- 1 | package net.sf.launch4j.formimpl; 2 | 3 | import java.awt.AWTEvent; 4 | import java.awt.Component; 5 | import java.awt.Cursor; 6 | import java.awt.Toolkit; 7 | import java.awt.Window; 8 | import java.awt.event.AWTEventListener; 9 | import java.awt.event.KeyAdapter; 10 | import java.awt.event.KeyEvent; 11 | import java.awt.event.MouseAdapter; 12 | 13 | import javax.swing.JComponent; 14 | import javax.swing.SwingUtilities; 15 | 16 | /** 17 | * This is the glass pane class that intercepts screen interactions during 18 | * system busy states. 19 | * 20 | * Based on JavaWorld article by Yexin Chen. 21 | */ 22 | public class GlassPane extends JComponent implements AWTEventListener { 23 | private final Window _window; 24 | 25 | public GlassPane(Window w) { 26 | _window = w; 27 | addMouseListener(new MouseAdapter() {}); 28 | addKeyListener(new KeyAdapter() {}); 29 | setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); 30 | } 31 | 32 | /** 33 | * Receives all key events in the AWT and processes the ones that originated 34 | * from the current window with the glass pane. 35 | * 36 | * @param event 37 | * the AWTEvent that was fired 38 | */ 39 | public void eventDispatched(AWTEvent event) { 40 | Object source = event.getSource(); 41 | if (event instanceof KeyEvent 42 | && source instanceof Component) { 43 | /* 44 | * If the event originated from the window w/glass pane, 45 | * consume the event. 46 | */ 47 | if ((SwingUtilities.windowForComponent((Component) source) == _window)) { 48 | ((KeyEvent) event).consume(); 49 | } 50 | } 51 | } 52 | 53 | /** 54 | * Sets the glass pane as visible or invisible. The mouse cursor will be set 55 | * accordingly. 56 | */ 57 | public void setVisible(boolean visible) { 58 | if (visible) { 59 | // Start receiving all events and consume them if necessary 60 | Toolkit.getDefaultToolkit().addAWTEventListener(this, AWTEvent.KEY_EVENT_MASK); 61 | } else { 62 | // Stop receiving all events 63 | Toolkit.getDefaultToolkit().removeAWTEventListener(this); 64 | } 65 | super.setVisible(visible); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/Messages.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.formimpl; 35 | 36 | import java.util.MissingResourceException; 37 | import java.util.ResourceBundle; 38 | 39 | public class Messages { 40 | private static final String BUNDLE_NAME = "net.sf.launch4j.formimpl.messages"; 41 | 42 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 43 | .getBundle(BUNDLE_NAME); 44 | 45 | private Messages() { 46 | } 47 | 48 | public static String getString(String key) { 49 | try { 50 | return RESOURCE_BUNDLE.getString(key); 51 | } catch (MissingResourceException e) { 52 | return '!' + key + '!'; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/MessagesFormImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Oct 7, 2006 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import net.sf.launch4j.binding.Bindings; 40 | import net.sf.launch4j.config.Msg; 41 | import net.sf.launch4j.form.MessagesForm; 42 | 43 | /** 44 | * @author Copyright (C) 2006 Grzegorz Kowal 45 | */ 46 | public class MessagesFormImpl extends MessagesForm { 47 | 48 | public MessagesFormImpl(Bindings bindings) { 49 | Msg m = new Msg(); 50 | bindings.addOptComponent("messages", Msg.class, _messagesCheck) 51 | .add("messages.startupErr", _startupErrTextArea, m.getStartupErr()) 52 | .add("messages.jreNotFoundErr", _jreNotFoundErrTextArea, m.getJreNotFoundErr()) 53 | .add("messages.jreVersionErr", _jreVersionErrTextArea, m.getJreVersionErr()) 54 | .add("messages.launcherErr", _launcherErrTextArea, m.getLauncherErr()) 55 | .add("messages.instanceAlreadyExistsMsg", _instanceAlreadyExistsMsgTextArea, 56 | m.getInstanceAlreadyExistsMsg()); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/SingleInstanceFormImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /** 35 | * Created on 2007-09-22 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import net.sf.launch4j.binding.Bindings; 40 | import net.sf.launch4j.config.SingleInstance; 41 | import net.sf.launch4j.form.SingleInstanceForm; 42 | 43 | /** 44 | * @author Copyright (C) 2007 Grzegorz Kowal 45 | */ 46 | public class SingleInstanceFormImpl extends SingleInstanceForm { 47 | 48 | public SingleInstanceFormImpl(Bindings bindings) { 49 | bindings.addOptComponent("singleInstance", SingleInstance.class, 50 | _singleInstanceCheck) 51 | .add("singleInstance.mutexName", _mutexNameField) 52 | .add("singleInstance.windowTitle", _windowTitleField); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/SplashFormImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 1, 2006 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import javax.swing.JFileChooser; 40 | 41 | import net.sf.launch4j.FileChooserFilter; 42 | import net.sf.launch4j.binding.Bindings; 43 | import net.sf.launch4j.config.Splash; 44 | import net.sf.launch4j.form.SplashForm; 45 | 46 | /** 47 | * @author Copyright (C) 2006 Grzegorz Kowal 48 | */ 49 | public class SplashFormImpl extends SplashForm { 50 | 51 | public SplashFormImpl(Bindings bindings, JFileChooser fc) { 52 | bindings.addOptComponent("splash", Splash.class, _splashCheck) 53 | .add("splash.file", _splashFileField) 54 | .add("splash.waitForWindow", _waitForWindowCheck, true) 55 | .add("splash.timeout", _timeoutField, "60") 56 | .add("splash.timeoutErr", _timeoutErrCheck, true); 57 | 58 | _splashFileButton.addActionListener(new BrowseActionListener(false, fc, 59 | new FileChooserFilter("Bitmap files (.bmp)", ".bmp"), _splashFileField)); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/VersionInfoFormImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2015 Grzegorz Kowal 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | 3. Neither the name of the copyright holder nor the names of its contributors 19 | may be used to endorse or promote products derived from this software without 20 | specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 1, 2006 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import javax.swing.DefaultComboBoxModel; 40 | import javax.swing.JFileChooser; 41 | 42 | import net.sf.launch4j.binding.Bindings; 43 | import net.sf.launch4j.config.LanguageID; 44 | import net.sf.launch4j.config.VersionInfo; 45 | import net.sf.launch4j.form.VersionInfoForm; 46 | 47 | /** 48 | * @author Copyright (C) 2006 Grzegorz Kowal 49 | */ 50 | public class VersionInfoFormImpl extends VersionInfoForm { 51 | 52 | public VersionInfoFormImpl(Bindings bindings, JFileChooser fc) { 53 | _languageCombo.setModel(new DefaultComboBoxModel(LanguageID.sortedValues())); 54 | bindings.addOptComponent("versionInfo", VersionInfo.class, _versionInfoCheck) 55 | .add("versionInfo.fileVersion", _fileVersionField) 56 | .add("versionInfo.productVersion", _productVersionField) 57 | .add("versionInfo.fileDescription", _fileDescriptionField) 58 | .add("versionInfo.internalName", _internalNameField) 59 | .add("versionInfo.originalFilename", _originalFilenameField) 60 | .add("versionInfo.productName", _productNameField) 61 | .add("versionInfo.txtFileVersion", _txtFileVersionField) 62 | .add("versionInfo.txtProductVersion", _txtProductVersionField) 63 | .add("versionInfo.companyName", _companyNameField) 64 | .add("versionInfo.copyright", _copyrightField) 65 | .add("versionInfo.trademarks", _trademarksField) 66 | .add("versionInfo.languageIndex", _languageCombo, VersionInfo.DEFAULT_LANGUAGE_INDEX) 67 | ; 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Launch4j (http://launch4j.sourceforge.net/) 3 | # Cross-platform Java application wrapper for creating Windows native executables. 4 | # 5 | # Copyright (c) 2004, 2015 Grzegorz Kowal 6 | # All rights reserved. 7 | # 8 | # Redistribution and use in source and binary forms, with or without modification, 9 | # are permitted provided that the following conditions are met: 10 | # 11 | # 1. Redistributions of source code must retain the above copyright notice, 12 | # this list of conditions and the following disclaimer. 13 | # 14 | # 2. Redistributions in binary form must reproduce the above copyright notice, 15 | # this list of conditions and the following disclaimer in the documentation 16 | # and/or other materials provided with the distribution. 17 | # 18 | # 3. Neither the name of the copyright holder nor the names of its contributors 19 | # may be used to endorse or promote products derived from this software without 20 | # specific prior written permission. 21 | # 22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | # 33 | 34 | tab.basic=Basic 35 | tab.classpath=Classpath 36 | tab.header=Header 37 | tab.singleInstance=Single instance 38 | tab.jre=JRE 39 | tab.envVars=Set env. variables 40 | tab.splash=Splash 41 | tab.version=Version Info 42 | tab.messages=Messages 43 | 44 | # Basic 45 | jar=Jar: 46 | jarPath=Jar runtime path: 47 | jarTip=Application jar. 48 | jarPathTip=Optional runtime path of the jar relative to the executable. For example, if the executable launcher and the application jar named calc.exe and calc.jar are in the same directory, it would be: calc.jar. 49 | 50 | # Classpath 51 | specifyClassPath=Specify classpath item to add. 52 | confirmClassPathRemoval=Remove selected classpath items? 53 | noManifest=The selected jar does not have a manifest. 54 | 55 | # JRE 56 | specifyVar=Specify environment variable to add. 57 | otherVar=Other var 58 | 59 | requiresJdk=Requires JDK 60 | 61 | MainFrame.config.files=launch4j config files (.xml) 62 | MainFrame.new.config=New configuration 63 | MainFrame.open.config=Open configuration or import 1.x 64 | MainFrame.save.config=Save configuration 65 | MainFrame.build.wrapper=Build wrapper 66 | MainFrame.test.wrapper=Test wrapper 67 | MainFrame.about.launch4j=About launch4j 68 | MainFrame.discard.changes=Discard changes? 69 | MainFrame.confirm=Confirm 70 | MainFrame.untitled=untitled 71 | MainFrame.executing=Executing: 72 | MainFrame.jar.integrity.test=Jar integrity test, executing: 73 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Launch4j (http://launch4j.sourceforge.net/) 3 | # Cross-platform Java application wrapper for creating Windows native executables. 4 | # 5 | # Copyright (c) 2004, 2015 Grzegorz Kowal 6 | # All rights reserved. 7 | # 8 | # Redistribution and use in source and binary forms, with or without modification, 9 | # are permitted provided that the following conditions are met: 10 | # 11 | # 1. Redistributions of source code must retain the above copyright notice, 12 | # this list of conditions and the following disclaimer. 13 | # 14 | # 2. Redistributions in binary form must reproduce the above copyright notice, 15 | # this list of conditions and the following disclaimer in the documentation 16 | # and/or other materials provided with the distribution. 17 | # 18 | # 3. Neither the name of the copyright holder nor the names of its contributors 19 | # may be used to endorse or promote products derived from this software without 20 | # specific prior written permission. 21 | # 22 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 23 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 24 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 | # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29 | # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | # 33 | 34 | Main.usage=usage 35 | 36 | Builder.compiling.resources=Compiling resources 37 | Builder.linking=Linking 38 | Builder.wrapping=Wrapping\nWARNING: Sign the executable to minimize antivirus false positives or use launching instead of wrapping. 39 | Builder.success=Successfully created 40 | Builder.generated.resource.file=Generated resource file...\n 41 | Builder.line.has.errors=Line {0} has errors... 42 | 43 | Util.exec.failed=Exec failed 44 | Util.tmpdir=Temporary file directory path (launch4j.tmpdir) cannot contain spaces. 45 | 46 | -------------------------------------------------------------------------------- /w32api/MinGW.LICENSE.txt: -------------------------------------------------------------------------------- 1 | MinGW - Licensing Terms 2 | 3 | Various pieces distributed with MinGW come with its own copyright and license: 4 | 5 | Basic MinGW runtime 6 | MinGW base runtime package is uncopyrighted and placed in the public domain. 7 | This basically means that you can do what you want with the code. 8 | 9 | w32api 10 | You are free to use, modify and copy this package. 11 | No restrictions are imposed on programs or object files compiled with this library. 12 | You may not restrict the the usage of this library. 13 | You may distribute this library as part of another package or as a modified package 14 | if and only if you do not restrict the usage of the portions consisting 15 | of this (optionally modified) library. 16 | If distributed as a modified package then this file must be included. 17 | 18 | This library is distributed in the hope that it will be useful, 19 | but WITHOUT ANY WARRANTY; without even the implied warranty 20 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 21 | 22 | MinGW profiling code 23 | MinGW profiling code is distributed under the GNU General Public License. 24 | 25 | The development tools such as GCC, GDB, GNU Make, etc all covered by GNU General Public License. 26 | -------------------------------------------------------------------------------- /w32api/crt2.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/w32api/crt2.o -------------------------------------------------------------------------------- /w32api/libadvapi32.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/w32api/libadvapi32.a -------------------------------------------------------------------------------- /w32api/libgcc.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/w32api/libgcc.a -------------------------------------------------------------------------------- /w32api/libkernel32.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/w32api/libkernel32.a -------------------------------------------------------------------------------- /w32api/libmingw32.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/w32api/libmingw32.a -------------------------------------------------------------------------------- /w32api/libmingwex.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/w32api/libmingwex.a -------------------------------------------------------------------------------- /w32api/libmoldname.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/w32api/libmoldname.a -------------------------------------------------------------------------------- /w32api/libmsvcrt.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/w32api/libmsvcrt.a -------------------------------------------------------------------------------- /w32api/libshell32.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/w32api/libshell32.a -------------------------------------------------------------------------------- /w32api/libuser32.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirror/launch4j/c48081b48b4483663395e5736ed310904a611cc2/w32api/libuser32.a -------------------------------------------------------------------------------- /web/.gitignore: -------------------------------------------------------------------------------- 1 | /*.html 2 | /*.css 3 | /*.gif 4 | --------------------------------------------------------------------------------