原理: 1.将自己Java做的Application程序打包成可执行的Jar文件(在MANIFEST.MF中指定Main-Class: 类名) 2.用VC++,Delphi或其他语言生成可执行的EXE文件,这个EXE的功能是调用COMMOND命令" java -jar Jar文件名",以达到利用EXE执行Jar文件的作用 3.采用了一个小技巧,即利用copy /b "A.exe"+"B.jar" "C.exe"的DOS 命令,将EXE文件和JAR文件合并成一个C.EXE文件,这样C.EXE即包含A.EXE文件的内容,又包含B.jar文件的内容. 当合并完成后,C.exe文件就可以用 java -jar C.exe 来执行,所以我们在代码里,只要调用 "java -jar 程序自身的文件名" 就可以了. 缺陷: 1.这是最简单的方式了,还是没有脱离JVM 2.没有配置文件,当需要设置classpath或其他参数时,则需要改写该程序 3.可以用WinRar,WinZip工具打开EXE文件(这一点和JBuilder生成的EXE文件一样) 以下给出代码: VC++代码: #include "stdafx.h" #include "resource.h" #include #include #include int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { TCHAR exeFullPath[MAX_PATH]; GetModuleFileName(NULL,exeFullPath,MAX_PATH); char cmd[MAX_PATH+20] = ""; sprintf(cmd,"java.exe -jar \"%s\"",exeFullPath); WinExec(cmd,SW_HIDE); return 0; } DELPHI代码: program Sunking; uses Forms, Windows; {$R *.res} begin WinExec(PChar('java.exe -jar "'+ Application.ExeName+'"'), SW_HIDE); end.
本文地址:http://com.8s8s.com/it/it10569.htm