如何用VB写一个程序以判断是敲击了左control键还是右control键?请高手指点,谢谢!

我看到了你的留言,但是使用keydown,keypress,keyup事件无法识别特殊功能KEY的左右键,譬如shift,control,alt。 你讲的使用API函数,我倒是查了一些API函数,但不知道怎么用,你教教我吧,谢谢

Dim i, j, intmin As Integer, n As Integer
Dim sngsq(), sngt As Single '输入原始数据
n = 5 'Val(InputBox("请输入排序的个数N的值"))
ReDim sngsq(n) '重新定义数组
Print "排序前"
For i = 1 To n
MsgBox "请输入第" & Str(i) & "个数:"
sngsq(i) = Val(InputBox("请输入")) '将输入的数据转换为数值型
Print sngsq(i);
Next
Print
Print "排序后"
'排序
For i = 1 To n - 1
intmin = i '对第i遍排序,初始假定第i个元素最小
For j = i + 1 To n '找出最小的元素序号
If sngsq(j) < sngsq(intmin) Then intmin = j
Next j
'将找出的最小元素与第i个元素交换
sngt = sngsq(i)
sngsq(i) = sngsq(intmin)
sngsq(intmin) = sngt
Next i
'打印输出
For i = 1 To n
Print sngsq(i); '不换行输出
Next i
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-26
键盘可以触发keydown、keypress、keyup事件,调用相关API函数就可以了

如何用VB写一个程序以判断是敲击了左control键还是右control键?请高手指...
Dim i, j, intmin As Integer, n As Integer Dim sngsq(), sngt As Single '输入原始数据 n = 5 'Val(InputBox("请输入排序的个数N的值"))ReDim sngsq(n) '重新定义数组 Print "排序前"For i = 1 To n MsgBox "请输入第" & Str(i) & "个数:"sngsq(i) = Val(Input...

VB判断键盘左control响应还是右control响应程序
If KeyCode = vbKeyControl And Shift = vbCtrlMask And (GetAsyncKeyState(VK_LCTRL) And &H8000) Then MsgBox "你按的是左CTRL"If KeyCode = vbKeyControl And Shift = vbCtrlMask And (GetAsyncKeyState(VK_RCTRL) And &H8000) Then MsgBox "你按的是右CTRL"End Sub Private Sub Form_Load...

写一个批处理或vbs简易小程序调换鼠标左右手习惯
createobject("wscript.shell").run "rundll32 user32,SwapMouseButton"

VB中左右ctrl键的区别?
你用SendMessage函数松开按键试试,两个CTRL的常数如下: Private Const VK_LCONTROL = &HA2 '左 Private Const VK_RCONTROL = &HA3 '右 试试SendMessage Me.hwnd, VK_LCONTROL , 0, ByVal 0& 没测试,不知道行不行。不过SendMessage发送按键是分左右CTRL的 ...

vb中按下ctrl键和松开ctrl的命令怎么写
在事件KeyDown和KeyUp中有个Shift。要判断Ctrl键是否按下,使用该常数。该参数用作位屏蔽。它可被用来测试任何键组合。CtrlDown = (Shift And VbCtrlMask) > 0 ShiftDown = (Shift And vbShiftMask) > 0 AltDown = (Shift And VbAltMask) > 0 用命令按下和松开Ctrl键:使用API函数keybd_...

VB做个程序 通过左右键和计时器 让图片一直往左(右)走 出边框后从另...
不知道你说的左右键是指键盘的左右光标键还是指鼠标的左右键,假定是键盘的吧:Dim fx As IntegerPrivate Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)If KeyCode = 37 Then fx = -60ElseIf KeyCode = 39 Then fx = 60End IfEnd SubPrivate Sub Form_Load()Me.KeyPreview = ...

VB键盘判断按键
如果是在自己的程序中,可以利用自身的按键事件,如果是全局键盘,那就要用到键盘hook技术了,比较复杂。Private Sub Form_Load()Label1.Caption = ""Text1 = ""End Sub Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then '回车键 Label1.Caption = 1 ElseIf KeyAscii = 8...

用VB写一个小程序可以代替键盘输入
'真长啊 Private Sub Command3_Click()Dim i As Long '单击后等同于如下效果:'1:按键盘的 ALT+TAB(是先按ALT然后不松开ALT按TAB 目的就是为了切换)SendKeys "%{TAB}"'2:按键盘的 TAB(4下)For i = 1 To 4 SendKeys "{TAB}"Next i '3: 按键盘的 1 SendKeys "1"'4: 按键盘的 ...

如何用VB实现模拟按ctrl键同时按下鼠标左键,从而控制后台程序?
Private Sub Timer1_Timer()MsgBox anctlejiang If anctlejiang <> 0 Then Dim aa As Long PostMessage 65674, 201, 1, 0 '这个是按下左键 Label1.Caption = "以按下左键"aa = anctlejian If aa <> anctlejian Then PostMessage 65674, 202, 1, 0 '弹起左键 Label1.Caption = "以...

请教专家:怎么用VB是编一个小程序,可以举例简述吗?
第一步,设计界面。打开VB开发环境,新建一个Windows窗体项目。在窗体上添加一个命令按钮,可以通过右键选择属性设置按钮的Caption属性为"显示"。第二步,编写代码。双击命令按钮,跳转至代码编辑器。编写以下代码:Private Sub Command1_Click()Print Command1_Click()Print "欢迎使用VB"End Sub 这段代码...

相似回答
大家正在搜