[1934] GetKeyStateならできるようです

投稿日 2017/10/15(Sun) 19:06:45
投稿者 ゆうと
参照先

こんにちは ゆうとです。

>  「この時のキー名」でキー名を取得してるんですが、左右のコントロールキーやオルトキー、シフトキーを判別するにはどうしたらよいでしょうか。
>  ウィンドウズキーだけは、キー名に「LWin」や「RWin」が帰るんですけど、他のキーは同じ名前のようです。

「この時のキー名」でキーに違いが無い場合は、左右で識別することはできないかと思います。

そもそもどのような用途で使用されるのでしょうか?
ただ単に○○する方法だけではなく、具体的な使い道を教えてもらえると、代替案も考えられるかと思います。


ただ調べてみると、GetKeyState関数を使うことで区別はできるようです。
------------
GetKeyStateは、ネイティブ関数(ファイル名「user32.dll」、関数名「GetKeyState」)を作る
GetKeyStateの戻り値型は、短整数
GetKeyStateの引数型一覧は、{整数}

もしGetKeyStateを{0xa0}で呼び出したものが0より小さいなら
  「左Shift」を報告
もし終わり
もしGetKeyStateを{0xa1}で呼び出したものが0より小さいなら
  「右Shift」を報告
もし終わり
もしGetKeyStateを{0xa2}で呼び出したものが0より小さいなら
  「左Control」を報告
もし終わり
もしGetKeyStateを{0xa3}で呼び出したものが0より小さいなら
  「右Control」を報告
もし終わり
もしGetKeyStateを{0xa4}で呼び出したものが0より小さいなら
  「左Alt」を報告
もし終わり
もしGetKeyStateを{0xa5}で呼び出したものが0より小さいなら
  「右Alt」を報告
もし終わり
---------------

参考にしてください。


関連一覧ツリー

をクリックするとツリーを一括表示します)

返信フォーム

(この投稿に返信する場合は下記フォームから投稿して下さい)
(1MBまで)
(英数字で8文字以内)

- 投稿修正/削除フォーム -
処理 No パスワード

▲ページの先頭へ

- WebForum -