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

另請參閱

主控台函式

主控台控制代碼

CreateFile

GetStdHandle