您的位置:首页 > 移动开发

【Java App Convert to EXE File】

2009-12-19 10:44 337 查看
* ------------------------------------------------------------------------------------
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....
本文出自 “流浪的鱼” 博客,请务必保留此出处http://gloomyfish.blog.51cto.com/8837804/1400437
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: