程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2SE >> J2SE綜合:淺談java程序發布之jre篇(2)

J2SE綜合:淺談java程序發布之jre篇(2)

編輯:J2SE

如果我們希望能有一個程序直接啟動我們的應用程序,那就還要費些功夫。最簡單的方法是弄出一個快捷方式來,但是快捷方式的路徑不能是相對的,不方便我們安裝。我想到的方案就是用Win32程序包裝一下。在VS.Net下寫一個Win32小程序:
 
int PASCAL WinMain( HINSTANCE hInstance,
 HINSTANCE hPrevInstance,
 LPSTR lpszCmdLine,
 int nCmdShow )
 {
 STARTUPINFO si;
 PROCESS_INFORMATION pi;
 ZeroMemory( &si, sizeof(si) );
 si.cb = sizeof(si);
 ZeroMemory( π, sizeof(pi) );
 // Start the child process.
 if( !CreateProcess( "jre\\bin\\Javaw.exe",//執行的程序名
 "jre\\bin\\Javaw.exe -jar MyApp.jar", // 帶參數的執行程序
 NULL, // Process handle not inheritable.
 NULL, // Thread handle not inheritable.
 FALSE, // Set handle inheritance to FALSE.
 0, // No creation flags.
 NULL, // Use parent's environment block.
 NULL, // Use parent's starting directory.
 &si, // Pointer to STARTUPINFO structure.
 π ) // Pointer to PROCESS_INFORMATION structure.
 )
 {
 ErrorExit( "CreateProcess failed." );
 }
 // Wait until child process exits.
 WaitForSingleObject( pi.hProcess, INFINITE );
 // Close process and thread handles.
 CloseHandle( pi.hProcess );
 CloseHandle( pi.hThread );
 }
 
基本上是按照MSDN文檔中的例子照搬的。將它編譯成一個EXE文件,我們的任務才全部完成。雙擊這個EXE文件,我們的程序啟動了,看起來和傳統的Win32程序沒有兩樣,JRE完全被隱藏在底層。

本文來自編程入門網:http://www.bianceng.cn/Programming/Java/201107/27907_2.htm

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved