Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
コンソールアプリ・Winフォームアプリの切替
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30519#CommentId84101
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2020/8/20 09:50:35
サブシステムが異なるためですね。
プロジェクトのプロパティの[アプリケーション]タブにある
『アプリケーションの種類(A):』という項目が、
`Window フォーム アプリケーション` になっているか
`コンソール アプリケーション` になっているかが分かれ目です。
EXE 内部に記録される IMAGE_OPTIONAL_HEADER には
Subsystem というものを記録する 2 バイトの領域があるのですが、ここに
3 (IMAGE_SUBSYSTEM_WINDOWS_CUI) が記録されていればコンソールアプリで、
2 (IMAGE_SUBSYSTEM_WINDOWS_GUI) が記録されていればデスクトップアプリです。
その他の値についてはこちらを参照。
https://tech.blog.aerie.jp/entry/2015/12/24/013344#Subsystem
Windows フォームアプリケーションとしてビルドされた EXE であっても、
アプリ内から AllocConsole を呼び出せば、プロセスに新しいコンソールを割り当てて
コンソール画面への出力を行うことはできます。(プログラム終了時には FreeConsole が必要)
http://bignight.hatenablog.com/entry/2015/01/14/191931
望むものとはちょっと違うかもしれませんが…。