【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....
 
相关文章
|
12天前
|
前端开发 Java 数据安全/隐私保护
计算机Java项目|基于Andriod技术“厕ce”APP
计算机Java项目|基于Andriod技术“厕ce”APP
|
1月前
|
移动开发 监控 供应链
JAVA智慧工厂制造生产管理MES系统,全套源码,多端展示(app、小程序、H5、台后管理端)
一开始接触MES系统,很多人会和博主一样,对MES细节的应用不了解,这样很正常,因为MES系统相对于其他系统来讲应用比较多!
47 1
JAVA智慧工厂制造生产管理MES系统,全套源码,多端展示(app、小程序、H5、台后管理端)
|
25天前
|
小程序 JavaScript 安全
Java全套同城服务家政上门系统源码(APP用户端+APP服务端+PC管理端)
家政上门预约系统:该系统综合运用springboot、java1.8、vue移动支付、微信授权登录等技术,由用户小程序、站长小程序、服务员小程序和管理系统平台组成,实现用户预约、系统派单、自动结算、服务跟踪、一键分享等功能,打造线上家政服务商城。
51 7
|
4天前
|
Java Android开发 Kotlin
Android面试题:App性能优化之Java和Kotlin常见的数据结构
Java数据结构摘要:ArrayList基于数组,适合查找和修改;LinkedList适合插入删除;HashMap1.8后用数组+链表/红黑树,初始化时预估容量可避免扩容。SparseArray优化查找,ArrayMap减少冲突。 Kotlin优化摘要:Kotlin的List用`listOf/mutableListOf`,Map用`mapOf/mutableMapOf`,支持操作符重载和扩展函数。序列提供懒加载,解构用于遍历Map,扩展函数默认参数增强灵活性。
13 0
|
1月前
|
Java 测试技术 C++
【JAVA学习之路 | 进阶篇】File类及常用方法
【JAVA学习之路 | 进阶篇】File类及常用方法
|
22天前
|
Java 应用服务中间件
已解决:An error occurred at line: 1 in the generated java file The type java.io.ObjectInputStream canno
已解决:An error occurred at line: 1 in the generated java file The type java.io.ObjectInputStream canno
17 0
|
缓存 Java 开发工具
Java 技术篇-利用exe4j工具生成exe文件实例演示,IntelliJ IDEA将项目转化为jar包方法,运行生成后的程序弹出exe4j提示处理,生成的程序显示控制台设置方法
Java 技术篇-利用exe4j工具生成exe文件实例演示,IntelliJ IDEA将项目转化为jar包方法,运行生成后的程序弹出exe4j提示处理,生成的程序显示控制台设置方法
369 0
Java 技术篇-利用exe4j工具生成exe文件实例演示,IntelliJ IDEA将项目转化为jar包方法,运行生成后的程序弹出exe4j提示处理,生成的程序显示控制台设置方法
|
1天前
|
缓存 监控 安全
深入理解Java中的线程池和并发编程
深入理解Java中的线程池和并发编程
|
1天前
|
设计模式 安全 Java
如何在Java中实现线程安全的单例模式
如何在Java中实现线程安全的单例模式
|
1天前
|
缓存 安全 Java
如何使用Java实现高效的多线程编程
如何使用Java实现高效的多线程编程