• ベストアンサー

Winでコマンドプロンプトを出さずに実行

Windows上でJAVAのGUIを使ったプログラムを作りました。 実行するときは java クラス名 と入力して実行しますが、 せっかく便利なプログラムをJAVAで書いても、常に黒いプロンプト画面が残るのはいやです。 コマンドプロンプト画面を出さずにJAVAのGUIつきのプログラムを実行する方法があったら教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

マニフェストファイルを作成して、JARファイル化すれば、 そのファイルをダブルクリックするだけで起動するはずです。 Main-Class の部分が起動するクラス名になります。 また、JARファイルの作成方法についてはDOCを参照してください。 例) Manifest-Version: 1.0 Main-Class: testMain Specification-Title: Application Test Specification-Version: 0.1 Specification-Vendor: Tester

hiro_ayu
質問者

お礼

今、いろいろ試してみて、試行錯誤の末、やっとこの方法でできました。 Main-Classを指定してJARにするというのがコツなんですね。 自分のプログラムはパッケージなどでディレクトリが分かれてるので、そのディレクトリの指定を壊さないようにJARを作るのが難しかったですが、なんとかできました。 ありがとうございました。

その他の回答 (4)

  • jiri_t
  • ベストアンサー率25% (1/4)
回答No.4

私もおんなじ事を思った時期があって そのときいいツールを見付けたので御紹介します それはフリーソフトのjcraftというソフトです。 vectorなんかでjava関連のところにあったと思います これならjava本体がどこにあってもOkという凄いものです。 ちょっとヘルプが無く分かりにくいのが難点ですが... 参考になれば幸いです。

hiro_ayu
質問者

お礼

便利なツールがあるんですね。 情報ありがとうございました。

noname#9414
noname#9414
回答No.3

補足読みました。 Cからのキックの仕方は、main()を使うと 必ずコンソールプログラムになってしまう ため、DOSプロンプトが表示されます。 WindowsのGUIアプリケーションからキック した方がいいでしょう。これでウィンドウを 非表示で起動して、WM_CREATEでSysExecuteで Javaプログラムを起動して、その直後に PostQuitMessage(0)を呼び出せばいいはず。 ではでは☆

hiro_ayu
質問者

お礼

CからやるにはGUIを使わないといけないんですね。 そこまでは、、、詳しくないものでできそうにありません。 main()を使うと必ずコンソールになるというのも、初めて気づきました。どおりで、今までかならず黒い画面がでてたわけですね。

  • snnk
  • ベストアンサー率60% (3/5)
回答No.2

java クラス名 だとコンソール有りでjavaが実行されます。 ですので、 javawコマンドを使用してみてください。 これだとコンソール無しで実行します。 しかし、この場合、javaがハングった場合、 強制終了の必要があるので注意してください。 あとは、cからのキック (この場合起動時の一瞬プロンプトが見えます) で良いでしょうし、 バッチファイルに javaw クラス名と書いて保存し、 プロパティのプログラムの所で、 終了時にウィンドウを閉じるにチェックし、 実行時の大きさを最小化にすると 雰囲気プロンプトが見えなくなります。

hiro_ayu
質問者

お礼

javawというコマンドは初めて使ってみました。 簡単にウインドウがでないようにできるので便利ですね。 ありがとうございます。

noname#9414
noname#9414
回答No.1

バッチファイルか何かを書いて、そのバッチ ファイルのプロパティで、プロンプトを表示 しないという設定はありませんでしたっけ? #後は、Cでウィンドウなしのプログラムを #書いて、Javaプログラムを呼び出したら、 #そのまま終了というものをかいてもいいかも #しれませんね。 ではでは☆

hiro_ayu
質問者

お礼

ありがとうございます。 じつは、、、 >プロンプトを表示 >しないという設定はありませんでしたっけ? それがわからず困っています。Windowsのヘルプを見てもみつからず、、、。 また、Cで単純に #include <stdlib.h> void main(void){ system("java ***"); } としても、ウインドウがでます。うーん、こまりました。もしご存知でしたらよろしくおねがいします。

関連するQ&A