コンソール アプリケーションを起動します。問題は、CTRL キーが他のキーなしで単独で押されたことをどのように判断するかです。
using System;
using System.Text;
public class ConsoleKeyExample
{
public static void Main()
{
ConsoleKeyInfo input;
do
{
input = Console.ReadKey(true);
StringBuilder output = new StringBuilder(String.Format("You pressed {0}",input.Key.ToString()));
Console.WriteLine(output.ToString());
if ((input.Modifiers & ConsoleModifiers.Control) != 0)
{
Console.WriteLine("CTRL Pressed");
}
} while (input.Key != ConsoleKey.Escape);
}
}
CTRL キーの動作を監視したい。このコードをトレースした後、readkey 行にチェックポイントを設定しましたが、CTRL を押しても何も起こりませんが、「K」などの他のキーを押すと、キーボードからキーの読み取りが開始されます。