コンソールアプリでDOSウインドウを閉じないようにするには?

解決


ryo  2005-02-01 20:54:12  No: 56237

コーディングに関してではないので場違いかもしれませんが
他によい掲示板がなかったので質問させてください
コンソールアプリケーションの方なのですが、
通常の設定だと、ダブルクリックで実行すると
実行終了後にコンソールが閉じてしまいますよね
あれを閉じないようにしたいのですが
方法はないのでしょうか
(16ビットコンパイラで作るとプロパティで設定できるのですが)


KING・王  2005-02-01 21:32:26  No: 56238

はずしていたら、ごめんなさい。

mainのreturnの前に関数等で、キー入力待ち状態にしては?

私はよく、次のような関数を用意して、main()のreturnの前などに、
このHitAnyKey()を入れるようにしています。

#include <conio.h>

void HitAnyKey( void )
{
    printf( "\nPlease Hit Any Key\n" );//キー入力を促すメッセージを表示

    while( !_kbhit( ) ){ // キー入力を待つ
        Sleep( 100L );// 100msec程度のウェイトをおいておく
    }//while()

    return;
}


YuO  2005-02-01 23:04:50  No: 56239

プログラムが終了したら閉じる,という動作自体を変更することは出来ません。
コマンドプロンプトから実行したり,cmd /kを使って実行すれば,
とりあえず終了してもコマンドプロンプトは残ります。


ryo  2005-02-01 23:39:13  No: 56240

回答ありがとうございます。
mainのreturnの前に関数等で、キー入力待ち状態にしては?

>    #include <conio.h>
>    while( !_kbhit( ) ){ // キー入力を待つ
>        Sleep( 100L );// 100msec程度のウェイトをおいておく
>    }//while()

上記の内容を追加して実行して見たのですが
やはり、直ぐに閉じてしまいます。
私も上記と同様な処理(getsやscanf等)を入れて見たのですが
それでも駄目でした。
他に何か特別な指定がいるのでしょうか?

>  プログラムが終了したら閉じる,という動作自体を変更することは出来ません。
>  コマンドプロンプトから実行したり,cmd /kを使って実行すれば,
>  とりあえず終了してもコマンドプロンプトは残ります。
やはりそうですか
基本的にexeファイルに処理対象ファイルをドラッグして処理したいので
ダブルクリックでできるとうれしいです。


ryo  2005-02-02 00:15:38  No: 56241

すいません。うまくいきました。
(原因不明:色々変更してみた後に戻したらうまくいった)
ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加