【Java App Convert to EXE File】

简介: 【Java App Convert to EXE File】
* ------------------------------------------------------------------------------------
Title:    TestJava.cpp
author: gloomy fish on 2009-09-16
------------------------------------------------------------------------------------ */
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
/* for spawn */
#include <process.h>
/* for str* functions */
#include <string.h>
#include <TCHAR.H>

//-------------------------------------------------------------------------------
int APIENTRY _tWinMain(HINSTANCE hInstance,
                       HINSTANCE hPrevInstance,
                       LPTSTR     lpCmdLine,
                       int       nCmdShow)
{

    // -- check wether application is running now....
    HANDLE hMutex = CreateMutex (NULL,                             // No security descriptor
                            FALSE,                            // Mutex object not owned
                            TEXT("TotallyBogusMutexObjectPlateUtility")); // Object name

      if (NULL == hMutex)
      {
        // Didn't expect this to happen!
         printf("Mutex is null");
        return 1;
      }
      else
      {
        // Not an error -- deal with success
        if ( ERROR_ALREADY_EXISTS == GetLastError() )
        {
          return 0;
        }
      }

      // -- set up classpath & env path to launch
      int ret;
    TCHAR envPath[3072] = "PATH=.;D://JDK6//bin;%path%";
    int anErr = _tputenv(envPath);
    if (anErr != 0) {
        ret = anErr;
        return ret;
    }

   
    char jvmArg[2048];

    // append all necessary jars to set up classpath
    _tcscpy(jvmArg, _T("-cp .//test.jar"));
    // _tcscat(jvmArg, _T(";D://JDK6//lib"));

    // -- your application
    _tcscat(jvmArg, _T(" -Xms256m -Xmx1024m com.swing.ui.Test") );

    // -- can't launch like this......
     #ifdef _DEBUG
         ret = _spawnlp(_P_NOWAIT, "..//..//JDK6//bin//java.exe", "java", jvmArg, NULL);
     #else
         ret = _spawnlp(_P_NOWAIT, "..//..//JDK6//bin//javaw.exe", "java", jvmArg, NULL);
     #endif

     return ret;
}

// winXP, vc++6.0 compile successfully....
 
相关文章
|
1月前
|
Java
利用GraalVM将java文件变成exe可执行文件
这篇文章简明地介绍了如何使用GraalVM将一个简单的Java程序编译成exe可执行文件,首先通过javac命令编译Java文件生成class文件,然后使用native-image命令将class文件转换成独立的exe文件,并展示了如何运行这个exe文件。
61 0
利用GraalVM将java文件变成exe可执行文件
|
18天前
|
Java 编译器 Maven
Java“class file contains wrong class”解决
当Java程序运行时出现“class file contains wrong class”错误,通常是因为类文件与预期的类名不匹配。解决方法包括:1. 确保类名和文件名一致;2. 清理并重新编译项目;3. 检查包声明是否正确。
|
2月前
|
Java 大数据 API
Java 流(Stream)、文件(File)和IO的区别
Java中的流(Stream)、文件(File)和输入/输出(I/O)是处理数据的关键概念。`File`类用于基本文件操作,如创建、删除和检查文件;流则提供了数据读写的抽象机制,适用于文件、内存和网络等多种数据源;I/O涵盖更广泛的输入输出操作,包括文件I/O、网络通信等,并支持异常处理和缓冲等功能。实际开发中,这三者常结合使用,以实现高效的数据处理。例如,`File`用于管理文件路径,`Stream`用于读写数据,I/O则处理复杂的输入输出需求。
|
2月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
3月前
|
消息中间件 Java
【实战揭秘】如何运用Java发布-订阅模式,打造高效响应式天气预报App?
【8月更文挑战第30天】发布-订阅模式是一种消息通信模型,发送者将消息发布到公共队列,接收者自行订阅并处理。此模式降低了对象间的耦合度,使系统更灵活、可扩展。例如,在天气预报应用中,`WeatherEventPublisher` 类作为发布者收集天气数据并通知订阅者(如 `TemperatureDisplay` 和 `HumidityDisplay`),实现组件间的解耦和动态更新。这种方式适用于事件驱动的应用,提高了系统的扩展性和可维护性。
67 2
|
3月前
|
Java 容器
【Azure Function App】Java Function在运行中遇见内存不足的错误
【Azure Function App】Java Function在运行中遇见内存不足的错误
|
3月前
|
Java
Java应用结构规范问题之在biz层的convert包实现转换的问题如何解决
Java应用结构规范问题之在biz层的convert包实现转换的问题如何解决
|
3月前
|
Java Maven
【Azure Function App】Java Function部署到Azure后出现中文显示乱码问题
【Azure Function App】Java Function部署到Azure后出现中文显示乱码问题
|
3月前
|
Java
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
|
3月前
|
存储 Linux Windows
【应用服务 App Service】App Service For Windows 如何挂载Storage Account File Share 示例
【应用服务 App Service】App Service For Windows 如何挂载Storage Account File Share 示例