2009-11-20 11 views
15

Console.Read()Console.ReadKey()の両方が、キーが押されるのを待っているようです。キーが押されるまでプログラムが実際に待つことを要求せずに何かが押されたことを検出するにはどうすればいいですか?C#:コンソールで何かキーが押されたことを確認してください

+4

をなし、彼は、システムの残りの部分ではなく、自分のプログラムのコンソールでキーが押されたかどうかを知りたがっています。 – SLaks

+1

そうです。これまでのところ、キーロガーを作成する必要はありませんでした。代わりに、この疑問は、デバッグの面倒をより一層促進することでした。言語をよく知っていれば、あなたが知っていることですが、(個人的に)ドキュメントから検索するのが難しいと分かっているものの1つです。 – KalEl

答えて

31

Console.KeyAvailableに投票して、何かを読むことができるかどうかを知ることができます。

+0

それは便利です!ありがとう! –

1

イベントハンドラを使用して調べる必要があります。 Windowsフォームを使用する場合は、次の点が役立つはずです。 Control.Keypress Event (System.Windows.Forms)。一般的なイベントハンドラの概要については、EventHandling in .NET using C#を参照してください。

コンソールアプリケーションの場合は、Console.CancelKeyPress Eventの機能を調べる必要があります。あなたは待ちたいところ

1

ただ、次の行を追加します。

while (!Console.KeyAvailable) {} 
関連する問題