2010年1月5日火曜日

[.NET]コンソールアプリでコンソールを消す

.NETでコンソールアプリを作ると、通常、コンソールを消すことができません。が、p/involeを使うことにより、消すことができます。コードはこんな感じ。なのですが、エクスプローラからダブルクリックすると一瞬コンソールが表示されてしまいます。

class Program
{

    [DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
    static extern bool FreeConsole();

    static void Main(string[] args)
    {
        FreeConsole();
        Thread.Sleep(5000);
    }
}


で、完全に消すと方法としては、WindowsFormアプリにしておいて、Formを表示しないという技がありますが、なんとなく違和感がありますね。

2 件のコメント:

RIN さんのコメント...

初めまして、私はエンジニアになたいと夢をもってプログラミングを勉強しています。色々教えていただきたいと思います。宜しくお願いします。

GENZO さんのコメント...

RINさん。はじめまして。

エンジニアは日々勉強です。このBlogも勉強の一環としてはじめました。
お互いガンバりましょう!!