二つのEnterキーを判別するには


だー  2002-06-07 14:37:59  No: 75721  IP: [192.*.*.*]

入力項目(テキストボックス等)が存在するフォームで、
Enterキー、テンキーのEnterキー(キーボード右側に存在する)
のどちらがクリックされたか判別する方法があれば教えてください。

GetAsyncKeyState()やGetKeyboardState()では、
いずれも判別できなかったようです。

それと、テンキーのEnterキーは、VK_SEPARATOR = &H6C
でよろしいですよね?

編集 削除
Say  2002-06-09 13:17:30  No: 75722  IP: [192.*.*.*]

MSDN 文書番号: JP77550 SDK32:2 つの ENTER キーの違い 

http://support.microsoft.com/default.aspx?scid=%2Fisapi%2Fgomscom%2Easp%3Ftarget%3D%2Fjapan%2Fsupport%2Fkb%2Farticles%2Fjp77%2F5%2F50%2Easp&LN=JA

編集 削除
だー  2002-06-12 09:48:24  No: 75723  IP: [192.*.*.*]

Sayさん、ご回答ありがとうございました。

参照URLを拝見してみましたが、
これ(lParam)をVBで使用するとなると、CallWindowProc()あたりを使うことになるのでしょうか?
また、CallWindowProc()を使うとなると、フックを使用するしかないのでしょうか?

技術不足で申し訳ありません。
もしよろしければ教えていただけると幸いです。

編集 削除
Say  2002-06-12 11:01:00  No: 75724  IP: [192.*.*.*]

フォーカスの有無に関わらず判別したいのなら、
グローバルキーフックする必要がありますが、
特定のアプリ内の話なら、ローカルキーフックでも、
サブクラス化でも対応できるでしょう。

もちろん、FormをCreateWindowし、
メッセージループで自前でWM_KEYDOWNを
拾ってもいいですが・・・。

編集 削除
だー  2002-06-14 09:13:46  No: 75725  IP: [192.*.*.*]

Sayさん、たびたびご回答どうもありがとうございます。

やはりフックを使うことになるのですね。
フックについては全く知識不足ですので、
もう少し勉強してみます。

以前にフック(グローバルかローカルかは??)を使用して、
GetKeyNameTextでキー名から2つのEnterキーの判別をしようと試みましたが、
フォーム上に入力コントロール(テキストボックス等)があると、
上手くできませんでした。。。

編集 削除