永发信息网

如何判断按下的Ctrl键是左边的还是右边的?

答案:6  悬赏:20  手机版
解决时间 2021-04-07 06:30
  • 提问者网友:爱了却不能说
  • 2021-04-06 10:01
4楼和5楼都很好!
还有一个问题,如何向指定窗口发送类似与
LCtrl+RCtrl+小键盘Enter
的消息?
满意的话再加50分!
最佳答案
  • 五星知识达人网友:低音帝王
  • 2021-04-06 10:54
用api来判断...c#的话,也可以调用那个api...

用API (GetAsyncKeyState)实现键盘左右的shift,Ctrl或Alt键的判定,在WIN 2K,XP 下有效:
------------------------------------------------------------
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Const VK_LSHIFT = &HA0
Private Const VK_RSHIFT = &HA1
Private Const VK_LCTRL = &HA2
Private Const VK_RCTRL = &HA3
Private Const VK_LMENU = &HA4
Private Const VK_RMENU = &HA5

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyShift And Shift = vbShiftMask And (GetAsyncKeyState(VK_LSHIFT) And &H8000)
Then MsgBox "you click the Left Shift"
If KeyCode = vbKeyShift And Shift = vbShiftMask And (GetAsyncKeyState(VK_RSHIFT) And &H8000)
Then MsgBox "you click the RIGHT Shift"

If KeyCode = vbKeyMenu And Shift = vbAltMask And (GetAsyncKeyState(VK_LMENU) And &H8000)
Then MsgBox "you click the Left ALT" ' only ALT was pressed
If KeyCode = vbKeyMenu And Shift = vbAltMask And (GetAsyncKeyState(VK_RMENU) And &H8000)
Then MsgBox "you click the RIGHT ALT" ' only ALT was pressed

If KeyCode = vbKeyControl And Shift = vbCtrlMask And (GetAsyncKeyState(VK_LCTRL) And &H8000)
Then MsgBox "you click the Left CTRL"
If KeyCode = vbKeyControl And Shift = vbCtrlMask And (GetAsyncKeyState(VK_RCTRL) And &H8000)
Then MsgBox "you click the Right CTRL"

End Sub

Private Sub Form_Load()
Me.KeyPreview = True
End Sub
全部回答
  • 1楼网友:怀裏藏嬌
  • 2021-04-06 14:16
C#,控件的KeyDown事件 private void txtBarcode_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if(e.KeyCode==Keys.LControlKey) { //左ctrl键 } //Keys.LControlKey; // //Keys.RControlKey; //右ctrl键 //Keys.LShiftKey; //左shift //Keys.RShiftKey; //右shift } 其他的可以通过 Keys枚举类型查找。
  • 2楼网友:妄饮晩冬酒
  • 2021-04-06 13:48
用左手就是左面
  • 3楼网友:不如潦草
  • 2021-04-06 12:24
左手就是左边的右手也是右边的 娃哈哈阿
  • 4楼网友:十鸦
  • 2021-04-06 12:06
先检查你的电脑设置是否正常,然后检查键盘连接与键盘内部!
  • 5楼网友:千杯敬自由
  • 2021-04-06 11:59
没办法
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯