Visual Studio 2010 - C# - コンソールの「閉じる」を無効化

 クラウディア
1. 概要
2. 記述

1. 概要

 あれ?これは、「C#」の方に書くべきなのかな・・・。  まぁ、事情があって、そういうことになっちゃったのだよ。  コンソールアプリケーションを作成するのであるが、「閉じる」ボタン、右上の×印であるが。  これで、閉じられると困るので、無効化しちゃいたいのだ。  ちょっと探せば出てきたので、需要はあるのであろうか・・・。  本ページは、下記のサイトを参考にさせていただきました。
「C#からDLL関数の呼び出し」(リンク切れになりました)

2. 記述

 単に

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace myConsole
{
	class Program
	{
		private const int MF_BYCOMMAND = 0x00000000;
		public const int SC_CLOSE = 0xF060;

		[DllImport("user32.dll")]
		public static extern int DeleteMenu(IntPtr hMenu, int nPosition, int wFlags);

		[DllImport("user32.dll")]
		private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);

		[DllImport("kernel32.dll", ExactSpelling = true)]
		private static extern IntPtr GetConsoleWindow();

		static void Main(string[] args)
		{
			DeleteMenu(GetSystemMenu(GetConsoleWindow(), false),SC_CLOSE, MF_BYCOMMAND);

			本来の処理...
		}
	}
}
 先頭の4行目までは、アバウトであるが、5行目は必須である。  処理で、まぁずっと待つような処理を書いているとして・・・。  実行すると
「Visual Studio 2010」「C#」-「コンソールアプリケーション」

 ×が、非活性化しているのわかりますでしょうか。
 押せなくなっています。

earthcar(アースカー)