• ベストアンサー

VB.NETのコンソールアプリケーションについて

kero_mioの回答

  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.3

>でも、ウィンドウが表示されてしまうのは仕方ないのでしょうか? >(起動後、DOS窓表示→最小化になるのですが) アンマネージのコードを使えばできますね。 http://www.codeproject.com/cs/threads/SingleInstance.asp (コードを書くと長いので、参考URLを記載させて頂きます。) (なお、誠に申し訳ないのですが、サンプルコードは、C#なので、 VB.NETに展開しなおす必要があります) ただし、アンマネージ(Win32用のAPI)を使うというのは、 .NETで開発する上では、ナンセンスなので、 お勧めしかねるところではあります。 後は、作成したEXEを最小化できるDOSの*.batファイルを作れば できます(startコマンド)。 しかし、startコマンドでやらせた場合においても、 昔の16ビットの名残として残っているものであるため、 32ビット、64ビット時代の現在においてもあまりお勧めは できません。 START [オプション] プログラム名 [引き数...] DOS窓で、start /? とやるとstartコマンドの使い方が載っています。 なので、結論からいうと、将来性のバージョンのWindowsで 動かなくなってもいいというのであれば、 初めから最小化した状態でも起動はできます。 しかし、独自で作ったWindowsアプリならわかりますが、 DOS窓は、OS側が管理しているWindowですので、 あまり、これ以上はコアなことは、やらせない方ができれば望ましいというのが 回答です。 もし、http://www.codeproject.com/cs/threads/SingleInstance.asp に書いてあるサンプルを使って、どうしても最小化したいけど、 C#がわからないとか、VB.NETにどう置き換えたらいいのか わからない等ありましたら、別途ご質問下さい。

tomiono1
質問者

補足

ご返事ありがとうございます。 数日間上記の方法を試そうと色々やってみたのですが、APIとC言語が初のもので再度質問させていただきたいと思います。 どのようにVB.NETに置き換えたらよいのかを、是非お教えいただけませんでしょうか。 お忙しいと思いますがよろしくお願いいたします。

関連するQ&A

  • Win32 コンソールアプリケーション

    VisualC++ 2010 Express を利用して、C++を学んでいます。 Win32 コンソールアプリケーション でプロジェクトを作成しました。 最初に用意されたテンプレート(?)に、  printf("%s\n", "Hello World!"); を追加して、実行してみたのですが、「Hello World!」がどこにも表示されませんでした。 ソリューション(プロジェクト?)が保存されているフォルダへ移動して、 exe形式の実行ファイルがあったので、これを実行してみましたが、すぐに画面が消えてしまいます。 コマンドプロンプトを起動して、↑のexeを実行したところ、「Hello World!」が表示されました。 ★ いちいちこの手順を踏むのが非常に面倒なのですが、Visual C++ 内で完結できないでしょうか? 以上、よろしくお願いします。

  • VS2010 VB.Netのコンソールアプリについ

    VS2010 Exspress VB.Netのコンソールアプリケーションについて VB.Netのコンソールアプリケーションにて、 実行すると黒い画面が表示します、これを止めるにはどうすれば、良いのでしょうか? ※VB6では、標準EXEより、フォームを無くし、標準モジュールを追加しても黒い画面は、表示されません よろしくお願いします

  • スタートの全てのプログラムでVBとc++が少し違う

    ・Microsoft Visual Basic 2008 Express Edition ・Microsoft Visual C++ 2008 Express Edition の2つをインストールしました。 しかしスタートの全てのプログラムを見ると C++ の方はフォルダにはいっていて、 VBの方はそのまま(裸のまま)プログラム一覧に表示されています。 Visual C++ の方はフォルダの中身は ・Microsoft Visual C++ 2008 Express Editionのアプリケーションと ・Visual Studio Toolsフォルダです。 Visual Studio Toolsの中には Visual Studio 2008 コマンド プロンプト が入っています。 これは標準の配置ですか? もしかしたら私が知らぬ間にいじったのか気になります。 OSはvistaです。 よろしくお願いします。

  • コンソールアプリケーションの終了方法

    コンソールアプリケーションをC言語(Visual-C++6.0)にて開発予定です。このアプリケーションは画面を使わないのでコンソールアプリケーションにする予定です。このプログラムは常駐プロセスにし、コマンドで起動停止を行うようにする予定です。プログラムの起動はバッチファイルを作成し、そこから実行しようと考えていますが、プログラムを停止させるバッチファイルのイメージがわきません。unixの場合は、当該プロセスにSIGTERMを送信する等の方法が考えられるのですが、windowsで常駐のコンソールアプリケーションを停止させるには、どのような方法があるのでしょうか。ご存じの方ありましたら、教えてください。停止させる方法は、外部から常駐プロセスに停止である旨の何らかの事象を送り、それを常駐プロセスがキャッチし、自ら停止することを想定しています。(有無をいわさず殺すことは考えていません) 実行環境:windows2003を想定 開発言語:VC++6.0でC言語

  • コンソールアプリケーションのコマンドプロンプト画面を非表示

    回答をして頂いてる方、お疲れ様です。 そして、よろしくお願いします。 現在、vb.netのコンソールアプリケーションを作成しています。 出来上がったexeファイルを実行すると、コマンドプロンプト画面(DOS画面)が実行中表示されますが、その画面を非表示にする方法はありますか? 知っている方がいましたら、教えてください。 よろしくお願いします。

  • MFCアプリケーションについて

    MFCアプリケーションを使用してプログラミングをしようと思うのですが、プロジェクト作成欄にMFCアプリケーションがありません。 使用している環境は OS : Windows XP C++ : Microsoft Visual C++ 2005 Express Edition です。 サポートされていないのでしょうか? MFCアプリケーションを使う方法を教えてください。

  • Microsoft Visual C# Express EditionでWindowsアプリケーションをつくったのですが、

    Microsoft Visual C# Express Edition で Windowsアプリケーションを作ったのですが、同じソリューション内に「Form1.cs」「Form2.cs」の二つを作って、Form2のコードを作成してそのままF5キーを押しても、最初に作ったForm1の方が実行されます。どうすればForm2を実行できるのでしょうか?

  • コンソールアプリケーションの表示

    コンソールアプリケーションが画面に文字を表示するときの処理はどうなってるのでしょうか。途中まで調べてみましたが分からなくなりました。 GetStdHandle 関数でスクリーンバッファのハンドルを得てそのバッファにWriteFile 関数を使ってデータを書き込む。この後の処理は画面に表示しなければならないのでデバイスコンテキストとか絡んでくるんでしょうか? ご助言ください。

  • Microsoft Visual C++ 2008 Express EditionでMFCアプリケーション ウィザードはどこですか?

    今、Microsoft Visual C++ 2008 Express Editionでソケットプログラムに関して勉強中で、 http://www.g-ishihara.com/mfc_nw_01.htm このサイトにあるサンプルプログラムをやりたいと思っているのですが、このページの冒頭に出てくる”MFCアプリケーションウィザード”というのはMicrosoft Visual C++ 2008 Express Editionではどこでできるのでしょうか?

  • vbが4つインストールされている

    スタートアップを見ると vbが4つインストールされています。 パソコンの整理の為に1つにしたいのですが、どれを残せばいいのでしょうか? Microsoft Visual Studio 2012 Express Microsoft Visual Studio 2012 Microsoft Visual Studio 2010 Express Microsoft Visual Studio 2010 がはいっています。