原理: 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.