« Apache Derby | Main | コマンドプロンプト非表示(2) »

2005.08.07

コマンドプロンプト非表示

 Javaアプリケーションを実行する際、バッチファイル+javawコマンドを使用したとしても、一瞬コマンドプロンプトが表示されてしまうわけですが、CreateProcessというAPIを使うことにより、それを回避できるっぽいですね(正確に言うと、javawを起動するためのExeをCなどで作成する、という感じになりますが)。
 Cは全然わからないのですが、とりあえずLCC-Win32をインストールして、ここを参照して、以下のようなソースを書いてコンパイルしてExeを作成。


#include <windows.h>

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) {
PROCESS_INFORMATION pi;
STARTUPINFO si;

ZeroMemory(&si,sizeof(si));
si.cb=sizeof(si);

CreateProcess(NULL, "javaw -jar hoge.jar", NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi);

return 0;
}


 一応これでコマンドプロンプトを表示させることなく、Javaアプリケーションを起動させることに成功(詳しいことは全然わからないのですが(苦笑))。SWTで画面を作れば、ぱっと見た目「Javaアプリケーション」ってわからないようなものになるかもしれませんね。

#実際のところは、引数などを処理できるようにしないと使いにくいと思いますが・・・。

|

« Apache Derby | Main | コマンドプロンプト非表示(2) »

Java」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/5352658

Listed below are links to weblogs that reference コマンドプロンプト非表示:

« Apache Derby | Main | コマンドプロンプト非表示(2) »