• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Dict.CN 在線詞典, 英語(yǔ)學(xué)習(xí), 在線翻譯

            學(xué)海苦作舟,書(shū)山勤為徑

            留下點(diǎn)回憶

            常用鏈接

            統(tǒng)計(jì)

            積分與排名

            Denoise

            English study

            Web技術(shù)

            數(shù)據(jù)壓縮

            一些連接

            最新評(píng)論

            為你的程序創(chuàng)建一個(gè)控制臺(tái)

            經(jīng)??吹揭恍┏绦蛟谶\(yùn)行的時(shí)候有一個(gè)WINDOWS控制臺(tái),感覺(jué)非常COOL。實(shí)際上有的時(shí)候幫助你監(jiān)視系統(tǒng)運(yùn)行是很方便的,那么怎么樣創(chuàng)建一個(gè)控制臺(tái)呢?

            實(shí)際上WINDOWS為你提供了一系列的API來(lái)完成這個(gè)功能,例如:ReadConsole,WriteConsole等,具體參見(jiàn)MSDN。

            下面我們用一段代碼來(lái)說(shuō)明如何創(chuàng)建Console.

            1。首先調(diào)用AllocConsole函數(shù)來(lái)為你進(jìn)程創(chuàng)建一個(gè)Console,該API是將當(dāng)前進(jìn)程Attache到一個(gè)新創(chuàng)建的Console上。你還可以通過(guò)調(diào)用SetConsoleTitle(tstrName);來(lái)設(shè)置Console的Title.

            2。使用WriteConsoleOutput來(lái)將信息輸出到Console上;在輸出之前,先要得到Console的HANDLE,這通過(guò)GetStdHandle(STD_OUTPUT_HANDLE)來(lái)得到,然后將信息組織成Console的格式,然后輸出。

            3。關(guān)閉CONSOLE。當(dāng)不需要這個(gè)CONSOLE的時(shí)候,調(diào)用FreeConsole來(lái)將當(dāng)前進(jìn)程從Console中Detach中。

            4。通過(guò)創(chuàng)建一個(gè)進(jìn)程來(lái)為監(jiān)視你的CONSOLE輸入和輸出;你可以創(chuàng)建一個(gè)線程然后來(lái),在線程中取得標(biāo)準(zhǔn)輸入和輸出CONSOLE的HANDLE,然后循環(huán)監(jiān)視其事件,再對(duì)不同的事件進(jìn)行處理。

            詳細(xì)代碼參見(jiàn):http://blog.csdn.net/windcsn/archive/2005/11/27/537737.aspx

            posted on 2005-11-27 15:49 笨笨 閱讀(2776) 評(píng)論(8)  編輯 收藏 引用

            評(píng)論

            # re: 為你的程序創(chuàng)建一個(gè)控制臺(tái) 2005-11-28 01:22 eXile

            你說(shuō)的是在GUI程序中使用控制臺(tái)吧, 對(duì)于VC, 其實(shí)有一個(gè)簡(jiǎn)單的方法:
            在選項(xiàng) Post-builder step 里新建command, 輸入:
            editbin /SUBSYSTEM:CONSOLE $(OUTDIR)\filename.exe
            (其中 filename 為可執(zhí)行文件名)
            則可以使用 printf 或者 std::cout 在控制臺(tái)中輸出了.  回復(fù)  更多評(píng)論   

            # re: 為你的程序創(chuàng)建一個(gè)控制臺(tái) 2005-11-28 13:15 小明

            最好能重定向cout,cerr到文件中去
            SDL就是這樣做的  回復(fù)  更多評(píng)論   

            # re: 為你的程序創(chuàng)建一個(gè)控制臺(tái) 2005-11-28 21:23 笨笨

            To eXile:可以嗎?我怎么不成功  回復(fù)  更多評(píng)論   

            # re: 為你的程序創(chuàng)建一個(gè)控制臺(tái) 2005-11-30 17:43 eXile

            沒(méi)有理由啊! 估計(jì)是你拼寫(xiě)錯(cuò)誤.

            在 Project | Setting...中設(shè)置, 如果你的可執(zhí)行文件名為 HelloWorld.exe,
            則你新建的 command 就為

            editbin   /SUBSYSTEM:CONSOLE   $(OUTDIR)\HelloWorld.exe

            如果還不行, 那......只有天知道了.
              回復(fù)  更多評(píng)論   

            # re: 為你的程序創(chuàng)建一個(gè)控制臺(tái) 2005-12-01 09:37 笨笨

            是的,實(shí)驗(yàn)成功了,上次放錯(cuò)了地方,放到生成后事件中就可以了,但這種情況適合那些只輸出的情況,如果需要moniter控制臺(tái)就不行了  回復(fù)  更多評(píng)論   

            # re: 為你的程序創(chuàng)建一個(gè)控制臺(tái) 2006-06-23 14:42 王瑜

            烏拉拉 烏拉拉天要下雨  回復(fù)  更多評(píng)論   

            # 123456789 2006-07-02 06:41 李東

            麻豆腐棵仍舊棵耳孔幾可人口幾國(guó)家日光機(jī)個(gè)熱肩胛骨米可靠媽媽年可可可可的可靠麻煩感快樂(lè)看法 麻煩飛機(jī)后果那么那么媽媽,門(mén)口人民地方看來(lái)  回復(fù)  更多評(píng)論   

            # re: 為你的程序創(chuàng)建一個(gè)控制臺(tái) 2006-11-15 12:27 qzq

            VC++ 2005還可用如下修改,為Windows窗體應(yīng)用程序增加控制臺(tái):
            工程配置屬性->鏈接器->系統(tǒng)->子系統(tǒng) 選 “控制臺(tái)”。  回復(fù)  更多評(píng)論   

            尹人香蕉久久99天天拍| 97久久久久人妻精品专区| 久久精品成人影院| 久久婷婷五月综合成人D啪| 亚洲色欲久久久综合网东京热 | 久久99精品久久久久久齐齐| 欧美激情精品久久久久久久九九九| 久久久久99这里有精品10| 精品永久久福利一区二区| 精品视频久久久久| 国产亚洲精品自在久久| 一级女性全黄久久生活片免费 | 亚洲综合熟女久久久30p| 精品久久久无码人妻中文字幕豆芽 | 国产精品一久久香蕉产线看| 久久综合日本熟妇| av无码久久久久久不卡网站| 亚洲精品国产第一综合99久久| 久久综合亚洲欧美成人| 色偷偷88欧美精品久久久| 日本精品久久久久中文字幕8| 久久久久久国产精品无码下载| 久久99精品免费一区二区| 久久久久AV综合网成人| 97精品依人久久久大香线蕉97 | 国产农村妇女毛片精品久久| 久久久久无码精品国产| 欧美亚洲国产精品久久高清| 久久久WWW成人免费毛片| 99久久亚洲综合精品网站| 国产精品久久国产精麻豆99网站| 精品熟女少妇AV免费久久| 久久毛片一区二区| 久久亚洲日韩看片无码| 亚洲欧美国产精品专区久久| 日韩中文久久| 香蕉aa三级久久毛片| 久久经典免费视频| 一本色道久久综合亚洲精品| 久久久久免费精品国产| 久久人人妻人人爽人人爽|