• <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 在線詞典, 英語學(xué)習(xí), 在線翻譯

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

            留下點(diǎn)回憶

            常用鏈接

            統(tǒng)計

            積分與排名

            Denoise

            English study

            Web技術(shù)

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

            一些連接

            最新評論

            認(rèn)識控制臺-控制臺句柄、附著到控制臺、關(guān)閉控制臺

            附著到一個控制臺

            一個進(jìn)程可以使用 AttachConsole 函數(shù)來附著到一個控制臺上,一個進(jìn)程只能附著一個控制臺。

            一個控制臺可以有許多進(jìn)程附著到它上面,調(diào)用 GetConsoleProcessList 函數(shù)可以得到附著到一個控制臺的列表。

            ?

            關(guān)閉一個控制臺

            進(jìn)程可以使用 FreeConsole 函數(shù)來將其自身從一個控制臺脫離出來。如果其他進(jìn)程共享這個控制臺,控制臺不會被銷毀,但調(diào)用 FreeConsole 函數(shù)的進(jìn)程不能在使用它了,在進(jìn)程調(diào)用 FreeConsole 之后,它可以使用 AllocConsole 來創(chuàng)建一個新的控制臺或 AttachConsole 來附著到另一個控制臺上。

            控制在最后一個附著的進(jìn)程關(guān)閉的時候或調(diào)用 FreeConsole 的時候被關(guān)閉。

            ?

            控制臺句柄

            ?

            控制臺進(jìn)程使用句柄來訪問控制臺的輸入和屏幕緩沖區(qū)。一個進(jìn)程可以使用 GetStdHandle CreateFile CreateConsoleScreenBuffer 函數(shù)來打開這些句柄。

            GetStdHandle 函數(shù)提供一個獲得進(jìn)程相關(guān)的標(biāo)準(zhǔn)輸入( STDIN )、標(biāo)準(zhǔn)輸出( STDOUT )和標(biāo)準(zhǔn)錯誤( STDERR )句柄。在控制臺創(chuàng)建過程中,系統(tǒng)創(chuàng)建這些句柄。最初的 STDIN 是一個指向控制臺輸入緩沖區(qū)的句柄, STDOUT STDERR 是控制臺活動屏幕緩沖區(qū)的句柄。然而, SetStdHandle 函數(shù)可以改變 STDIN STDOUT STDERR 關(guān)聯(lián)的句柄來重定向標(biāo)準(zhǔn)句柄。因?yàn)楦高M(jìn)程的標(biāo)準(zhǔn)句柄可以被子進(jìn)程繼承,后面調(diào)用 GetStdHandle 函數(shù)返回的是重定向的句柄。 GetStdHandle 返回的句柄可以指向其他的句柄不一定是控制臺 I/O 。例如,在創(chuàng)建子進(jìn)程之前,父親進(jìn)程使用 SetStdHandle 來將 STDIN 設(shè)置為一個管道句柄,那么這個特性會被子進(jìn)程繼承。當(dāng)子進(jìn)程調(diào)用 GetStdHandle 的時候返回的是管道句柄。這意味著父親進(jìn)程能控制子進(jìn)程的標(biāo)準(zhǔn)句柄, GetStdHandle 返回的句柄有 GENERIC_READ|GENERIC_WRITE 訪問權(quán)限,當(dāng)然如果在 SetStdHandle 的時候設(shè)置較少的訪問權(quán)限另外說。

            GetStdHandle 返回的句柄值不是 0 1 2 ,因此在 Stdio.h STDIN STDOUT STDERR )中預(yù)定義的流常量不能在需要一個控制臺句柄的函數(shù)中使用。

            CreateFile 函數(shù)即使 STDIN STDOUT 沒有被重定向的情況下,也可以讓一個進(jìn)程得到輸入緩沖區(qū)和活動屏幕緩沖區(qū)的句柄。為了打開一個控制臺輸入緩沖區(qū)的句柄,需要在調(diào)用 CreateFile 的時候指定 CONIN$ 值,而指定 CONOUT$ 值可以打開一個控制臺活動屏幕緩沖區(qū)的句柄。 CreateFile 函數(shù)使你可以通過它返回的句柄來讀寫操作。

            函數(shù) CreateConsoleScreenBuffer 創(chuàng)建一個新的屏幕緩沖區(qū)且返回這個句柄,這個句柄可以在所有接受一個控制輸出作為參數(shù)的函數(shù)中使用。新的屏幕緩沖區(qū)不會是活動的,只有調(diào)用 SetConsoleActiveScreenBuffer 函數(shù)的時候指定該值才會被設(shè)置為活動的。活動屏幕緩沖區(qū)的改變不會改變 GetStdHandle 的值,同樣使用 SetStdHandle 改變 STDOUT 句柄也不會影響活動屏幕緩沖區(qū)。

            CreateFile CreateConsoleScreenBuffer 函數(shù)返回的句柄能在任何需要控制臺輸入緩沖區(qū)或控制臺屏幕緩沖區(qū)作為參數(shù)的函數(shù)中, GetStdHandle 返回的句柄只要沒有被重定向?yàn)槠渌木浔伎梢栽诳刂婆_函數(shù)中使用,如果標(biāo)準(zhǔn)句柄被重定向?yàn)橹赶蛞粋€文件或管道,這些句柄只能被 ReadFile WriteFile 函數(shù)使用。

            進(jìn)程可以使用 DuplicateHandle 函數(shù)來創(chuàng)建一個控制臺句柄的副本,可以指定不同的訪問和繼承權(quán)限。注意,進(jìn)程可以自己使用而創(chuàng)建一個控制臺句柄副本。這與其他的句柄類型不同(例如文件、管道、信號量對象),這些類型可以通過 DuplicateHandle 來創(chuàng)建一個有效的句柄,而別的進(jìn)程也可以使用。

            posted on 2006-04-25 13:52 笨笨 閱讀(1269) 評論(4)  編輯 收藏 引用

            評論

            # re: 彩票預(yù)測 2006-04-25 16:55 彩票預(yù)測

            金南山第106期3D推介 原創(chuàng)]金南山第106期3D實(shí)戰(zhàn)方案!!! 106期膽碼:28 大復(fù)式:12357/13579/02468 小復(fù)式:157/369/248 喜歡合買的朋友,可以加我QQ448967360聊聊!
              回復(fù)  更多評論   

            # re: 認(rèn)識控制臺-控制臺句柄、附著到控制臺、關(guān)閉控制臺 2006-04-28 00:06 Cocalele

            內(nèi)容還是很好的,就是感覺寫的有點(diǎn)亂  回復(fù)  更多評論   

            # re: 認(rèn)識控制臺-控制臺句柄、附著到控制臺、關(guān)閉控制臺 2006-04-28 13:35 笨笨

            呵呵,謝謝,這是及時翻譯的,所有有點(diǎn)亂,下次寫好一點(diǎn)  回復(fù)  更多評論   

            # re: 認(rèn)識控制臺-控制臺句柄、附著到控制臺、關(guān)閉控制臺 2010-04-20 16:12 MeJustMe

            我覺得內(nèi)容非常不錯,很少看到這方面的東西,要是能整理一下就更好了,看起來有點(diǎn)亂。  回復(fù)  更多評論   


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            理论片午午伦夜理片久久 | 久久伊人五月丁香狠狠色| 成人亚洲欧美久久久久 | 人人狠狠综合久久88成人| 久久夜色精品国产欧美乱| 成人久久精品一区二区三区 | 丁香久久婷婷国产午夜视频| 国产亚洲精午夜久久久久久| 久久人妻少妇嫩草AV无码专区 | 久久久久久曰本AV免费免费| 欧美日韩中文字幕久久伊人| 伊人久久久AV老熟妇色| 久久精品国产亚洲精品| 久久成人精品视频| 国产精品无码久久久久久| 亚洲精品国产字幕久久不卡| 亚洲一区精品伊人久久伊人| 久久精品综合一区二区三区| 久久精品人人槡人妻人人玩AV| 99久久精品免费看国产免费| 久久精品亚洲精品国产色婷| 亚洲国产天堂久久久久久| 中文字幕久久欲求不满| 午夜精品久久久久久久久| 亚洲午夜久久影院| 国产精品久久免费| 久久久久人妻一区精品性色av| 亚洲天堂久久久| 亚洲午夜福利精品久久| 91久久精品无码一区二区毛片| 亚洲成色www久久网站夜月| 漂亮人妻被中出中文字幕久久| 狠狠色丁香婷婷综合久久来来去| 久久久久久久人妻无码中文字幕爆| 精品无码久久久久国产动漫3d| 婷婷久久综合九色综合九七| 久久婷婷国产剧情内射白浆| 久久精品国产一区二区三区 | 国产成人精品综合久久久久| 久久夜色精品国产噜噜亚洲a| 久久露脸国产精品|