SetStdHandle 函式
設定指定標準裝置的句柄(標準輸入、標準輸出或標準錯誤)。
語法
BOOL WINAPI SetStdHandle(
_In_ DWORD nStdHandle,
_In_ HANDLE hHandle
);
參數
nStdHandle [in]
要設定句柄的標準裝置。 此參數可以是下列其中一個值。
值 | 意義 |
---|---|
STD_INPUT_HANDLE ((DWORD)-10) |
標準輸入裝置。 一開始,這是主控台輸入緩衝區 CONIN$ 。 |
STD_OUTPUT_HANDLE ((DWORD)-11) |
標準輸出裝置。 一開始,這是作用中的主控台畫面緩衝區 CONOUT$ 。 |
STD_ERROR_HANDLE ((DWORD)-12) |
標準錯誤裝置。 一開始,這是作用中的主控台畫面緩衝區 CONOUT$ 。 |
注意
這些常數的值是不帶正負號的數位,但會在頭檔中定義為從帶正負號的數字轉換,並利用 C 編譯程式將這些值變換到最大 32 位值之下。 當以不剖析標頭且重新定義常數的語言與這些句柄互動時,請注意此條件約束。 例如, ((DWORD)-10)
實際上是不帶正負號的數位 4294967286
。
hHandle [in]
標準裝置的句柄。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
進程的標準句柄可能已由 SetStdHandle 的呼叫重新導向,在此情況下,GetStdHandle 會傳回重新導向的句柄。 如果已重新導向標準句柄,您可以在 CreateFile 函式的呼叫中指定 CONIN$ 值,以取得控制台輸入緩衝區的句柄。 同樣地,您可以指定 CONOUT$ 值,以取得控制台使用中畫面緩衝區的句柄。
範例
如需範例,請參閱 使用重新導向的輸入和輸出建立子進程。
需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
頁首 | ProcessEnv.h (透過 Winbase.h,包括 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |