為你的程序創(chuàng)建一個控制臺
經(jīng)常看到一些程序在運行的時候有一個WINDOWS控制臺,感覺非常COOL。實際上有的時候幫助你監(jiān)視系統(tǒng)運行是很方便的,那么怎么樣創(chuàng)建一個控制臺呢?
實際上WINDOWS為你提供了一系列的API來完成這個功能,例如:ReadConsole,WriteConsole等,具體參見MSDN。
下面我們用一段代碼來說明如何創(chuàng)建Console.
1。首先調(diào)用AllocConsole函數(shù)來為你進程創(chuàng)建一個Console,該API是將當(dāng)前進程Attache到一個新創(chuàng)建的Console上。你還可以通過調(diào)用SetConsoleTitle(tstrName);來設(shè)置Console的Title.
2。使用WriteConsoleOutput來將信息輸出到Console上;在輸出之前,先要得到Console的HANDLE,這通過GetStdHandle(STD_OUTPUT_HANDLE)來得到,然后將信息組織成Console的格式,然后輸出。
3。關(guān)閉CONSOLE。當(dāng)不需要這個CONSOLE的時候,調(diào)用FreeConsole來將當(dāng)前進程從Console中Detach中。
4。通過創(chuàng)建一個進程來為監(jiān)視你的CONSOLE輸入和輸出;你可以創(chuàng)建一個線程然后來,在線程中取得標(biāo)準(zhǔn)輸入和輸出CONSOLE的HANDLE,然后循環(huán)監(jiān)視其事件,再對不同的事件進行處理。
詳細代碼參見:http://blog.csdn.net/windcsn/archive/2005/11/27/537737.aspx