dポイントプレゼントキャンペーン実施中!

helloworld のプログラムコンパイルしたのですがそれダブルクリックして開いても一瞬コマンドプロントでて終わりです。どうすればいいのですか。

質問者からの補足コメント

  • うれしい

    回答ありがとうございます。やはりコマンドプロンプトから出ないといけないのですね。なんかバッチファイルみたいになったのでびっくりしました。もう少しソフト的なものを作りたいのですが。また次やってみます。

      補足日時:2017/04/18 20:31

A 回答 (3件)

作成したプログラムが「コンソールアプリケーション」であるならば、バッチプログラムであるため、そうなるのは当たり前です。



確認する方法として、以下の方法があります。
・コード上、プログラムの実行が終わったタイミングで、入力待ち状態にさせる。
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("hello world");

            Console.Read(); // これ
        }
    }
}


・プロジェクトのプロパティ→デバッグ→開始動作で「外部プログラムの開始」を選択し、
 プログラムに「C:\Windows\System32\cmd.exe」を指定。
 コマンドライン引数に「/K exe名」を入力してデバッグ実行。
 (添付画像参照)

・Windows+Rを押して「cmd」と入力するなどしてコマンドプロンプトを起動し、
 exeをコンソール上にドラッグして実行。

・バッチファイルを用意して、実行。
 【test.bat】
  D:\hoge\helloworld.exe (exeのフルパスの記述)
  pause


なお、フォームを持つアプリケーションを作りたい場合、一般的には以下のいずれかのプロジェクトで作成することになります。
 (Visual Studio 2012の場合)
 ・Windows フォーム アプリケーション
 ・WPF アプリケーション

 (Visual Studio 2017の場合)
 ・WPF アプリ (.NET Framework)
 ・Windows フォーム アプリケーション (.NET Framework)
「helloworld」の回答画像3
    • good
    • 0

コマンドプロンプトを表示して、当該プロフラムの格納してあるフォルダまで移動します。


そこで、helloworld のプログラムを(ダブルクリックでなく)コマンドを打って起動します。
    • good
    • 0

コマンド プロンプトを開いてから、該当のプログラムを呼び出して実行する。



設定にもよりますが、該当のプログラムのexeファイルをコマンド プロンプトのウィンドウにドラッグ&ドロップするとファイル名がフルパスで入力された状態になります。
そのままエンターキー押下で実行できるでしょう。

ただし、「ファイルを読み書きする」とかいう段階になると期待した動作をしない場合があるので注意が必要ですが。
# カレントディレクトリとか、そういう歴史的な経緯を理解する必要がありますから。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!