0

独自のバージョンのPSHostRawUserInterfaceを実装しています。PSHostRawUserInterface.ReadKey()を実装したいので、 System.Management.Automation.Host.KeyInfo.VirtualKeyCodeSystem.ConsoleKeyInfo.Keyにマップする必要があります。

System.ConsoleKeyInfo.Key を int にキャストできますが、それが実際に VirtualKeyCode であるかどうかはわかりません。

4

1 に答える 1

2

しばらく前にこれをテストしたと思いますが、答えは「はい、しかし」でした注意事項は下記をご覧ください。すべてのConsoleKey値の整数値を出力し、それらをVirtual Key Codesと比較するプログラムを作成することで、その答えをテストできます。

ただし、これConsoleKeyInfo.Keyは単なるキーであり、修飾子がないことに注意してください。仮想キー コードは、修飾子 (Shift、Control、Alt) を含むビットマップ値です。ではConsoleKeyInfo、修飾子はModifiersプロパティに格納されます。

ConsoleKeyまたは、列挙の値をKeys列挙の値と比較することもできます。これは、具体的には値が仮想キー コードに対応していることを示しています。

于 2012-11-12T04:34:05.660 に答える