ホームページ > バックエンド開発 > C++ > C# で入力リダイレクト (キーボードとファイル) を検出するにはどうすればよいですか?

C# で入力リダイレクト (キーボードとファイル) を検出するにはどうすればよいですか?

DDD
リリース: 2025-01-12 17:11:45
オリジナル
499 人が閲覧しました

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

C# コンソール アプリケーションでの入力ソースの決定

多くのコンソール アプリケーションでは、キーボード入力とファイルからリダイレクトされた入力を区別する必要があります。 これは、入力の起源に基づいてアプリケーションの動作を調整するために不可欠です。

最も効率的なアプローチ

入力リダイレクトを検出する最も効果的な方法は、P/Invoke を介して Windows FileType() API 関数を使用することです。 次のヘルパー クラスは、このプロセスを簡素化します:

<code class="language-csharp">public static class ConsoleEx
{
    public static bool IsInputRedirected => FileType.Char != GetFileType(GetStdHandle(StdHandle.Stdin));

    // P/Invoke declarations (omitted for brevity)
}</code>
ログイン後にコピー

実装

リダイレクトされた入力の確認は簡単です:

<code class="language-csharp">bool isRedirected = ConsoleEx.IsInputRedirected;</code>
ログイン後にコピー

強化された .NET 4.5 機能

.NET 4.5 以降のバージョンには、この目的のための組み込み機能が含まれていることに注意することが重要です。 ヘルパー クラスは不要です。代わりに、

を使用してください。
<code class="language-csharp">bool isRedirected = Console.IsInputRedirected;</code>
ログイン後にコピー

以上がC# で入力リダイレクト (キーボードとファイル) を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート