2017-11-16 10 views
0

私はC++でプログラミングしており、壁にぶつかっています。コントロールのようなキーを含むC++のキーボードからキーを取得

キーボードから入力する必要があります。問題は、コントロール、スクロールロック、ウィンドウキーなどのキーから入力を取得する必要もあるということです。また、数値と0-9の正規数字を区別できる必要があります。

私は_getch()を使って試しました。矢印キーや数字キーのようなキーを得ることができますが、コントロール、シフト、スクロールロックなどのキーを取得することはできません。

誰にも提案はありますか?

+0

なしからコントロールキーを述べてもらうことができ、それはOS固有のコードを必要とし、も、あなたはGUIにいるか使用しているかどうかに依存しますコンソール。 – Barmar

+0

これはプラットフォーム固有のものです。あなたはどんなplatfromをプログラミングしていますか? – iBug

答えて

0

C++はこれらのすべてのものを持っているとシステムが想定していないので、これを行う標準的な方法はありません。

あなたがしようとしていることに対する良い解決策は、SDLライブラリです。ここを見て: https://www.libsdl.org/

0

私は私はあなたがWindowsの

のためのプログラミングしている

使用WinAPIのReadConsoleInput

HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE); 
INPUT_RECORD ir; 
DWORD read; 
if (!ReadConsoleInput(hInput, &ir, 1, &read) || read == 0) { 
    // Something went wrong 
} 
if (ir.EventType == KEY_EVENT) { 
    // Do stuff here 
} 

詳細についてはKEY_EVENT_RECORDを参照してくださいと仮定していますので単語 "Windowsキー" を参照してください。あなたは、標準C++で行うことができ、このの

ir.Event.KeyEvent.dwControlKeyState 

This is an example provided by Microsoft.

関連する問題