2012-07-15 12 views
7

私たちは、キーボード上の2 CTRL/ALT/SHIFTボタンがあります。しかし、勝利apiで利用可能なVK_CONTROL/VK_LCONTROL/VK_RCONTROLがあります。したがって、VK_CONTROL?VK_LCONTROL(左)またはVK_RCONTROL(右)のデフォルトの値はどれですか?あるいは状況に応じて価値を選ぶかもしれませんか? MSDNでもGoogleでも答えが見つかりません。デフォルト値

CTRLとは関係ありません - それらは交互に表示されますが、例とは異なります。 ALT。 WINUSER.Hから

+0

探し中windows.hヘッダ – Blablablaster

+2

'VK_CONTROL'は、"どちらかのコントロールキーが押されている(私はあなたに話しませんh) –

答えて

7

テキスト:

VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
Used only as parameters to GetAsyncKeyState() and GetKeyState().
No other API or message will distinguish left and right keys in this way.

+0

私はそこに見ることができるように3つの異なる値があります。さらに、SendInput()は左右を区別します。例えば。私の言葉では、左のALTを使って手紙を書くことはできませんが、私は右のALTを使ってそれを行うことができます。そして、左のALTを送信するときSendInputを使って、それは正しいものを印刷しません。 – tobi

+1

あなたの意見はヘッダーからのコメントは米国中心です。 SHIFTとCTRLはそうではありませんが、左右のALTはイギリスのキーボードでも別々のキーとして扱われます。あなたは何をしたいのですか? – arx

+0

私はSendInput()(ctrl、altなどのようないくつかの特別なキーを使用して)を使用してテキストを送信できるようにしていますが、ユーザーがctrlとalt以下の3つの値を使用できるようにすべきかどうかは疑問ですが、それはQ&Aフォーマットよりも議論のようだと思う。 – tobi

2

限り、私はこれらの定数を言うことができるようにWINUSER.H

で宣言されている
#define VK_LSHIFT   0xA0 
#define VK_RSHIFT   0xA1 
#define VK_LCONTROL  0xA2 
#define VK_RCONTROL  0xA3 
#define VK_LMENU   0xA4 
#define VK_RMENU   0xA5 
+0

でもVK_CONTROLは0x11なので、上の2つとは異なります。しかし、キーボードには3つのCTRLがありません。 – tobi