首頁 > 後端開發 > C++ > 如何在 C# 中偵測輸入重定向(鍵盤與檔案)?

如何在 C# 中偵測輸入重定向(鍵盤與檔案)?

DDD
發布: 2025-01-12 17:11:45
原創
565 人瀏覽過

How Can I Detect Input Redirection (Keyboard vs. File) in C#?

確定 C# 控制台應用程式中的輸入來源

許多控制台應用程式需要區分鍵盤輸入和從檔案重定向的輸入。 這對於根據輸入的來源自訂應用程式行為至關重要。

最有效的方法

偵測輸入重新導向的最有效方法是透過 P/Invoke 使用 Windows FileType() API 函數。 以下幫助程式類別簡化了此過程:

public static class ConsoleEx
{
    public static bool IsInputRedirected => FileType.Char != GetFileType(GetStdHandle(StdHandle.Stdin));

    // P/Invoke declarations (omitted for brevity)
}
登入後複製

實作

檢查重定向輸入很簡單:

bool isRedirected = ConsoleEx.IsInputRedirected;
登入後複製

增強的 .NET 4.5 功能

需要注意的是,.NET 4.5 及更高版本包含用於此目的的內建功能。 輔助類是不必要的;相反,使用:

bool isRedirected = Console.IsInputRedirected;
登入後複製

以上是如何在 C# 中偵測輸入重定向(鍵盤與檔案)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板