vb模拟键盘
我想用vb做一个屏幕锁程序,但模拟键盘不知道怎么做要用vb模拟键盘上的大部分按键(Enter和backspace键不能少)请高手帮我写代码,要尽可能详细点与提问无关的就不...
我想用vb做一个屏幕锁程序,但模拟键盘不知道怎么做
要用vb模拟键盘上的大部分按键(Enter和backspace键不能少)
请高手帮我写代码,要尽可能详细点
与提问无关的就不用回答了
谢谢 展开
要用vb模拟键盘上的大部分按键(Enter和backspace键不能少)
请高手帮我写代码,要尽可能详细点
与提问无关的就不用回答了
谢谢 展开
展开全部
'函数申明
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = &H2 '释放按键常数
'回车键例子
Private Sub Command1_Click()
Text1.SetFocus
Call keybd_event(13, 0, 0, 0) '按下
Call keybd_event(13, 0, KEYEVENTF_KEYUP, 0) '释放
End Sub
键码
常数 值 描述
vbKeyLButton 1 鼠标左键
vbKeyRButton 2 鼠标右键
vbKeyCancel 3 CANCEL 键
vbKeyMButton 4 鼠标中键
vbKeyBack 8 BACKSPACE 键
vbKeyTab 9 TAB 键
vbKeyClear 12 CLEAR 键
vbKeyReturn 13 ENTER 键
vbKeyShift 16 SHIFT 键
vbKeyControl 17 CTRL 键
vbKeyMenu 18 菜单键
vbKeyPause 19 PAUSE 键
vbKeyCapital 20 CAPS LOCK 键
vbKeyEscape 27 ESC 键
vbKeySpace 32 SPACEBAR 键
vbKeyPageUp 33 PAGEUP 键
vbKeyPageDown 34 PAGEDOWN 键
vbKeyEnd 35 END 键
vbKeyHome 36 HOME 键
vbKeyLeft 37 LEFT ARROW 键
vbKeyUp 38 UP ARROW 键
vbKeyRight 39 RIGHT ARROW 键
vbKeyDown 40 DOWN ARROW 键
vbKeySelect 41 SELECT 键
vbKeyPrint 42 PRINT SCREEN 键
vbKeyExecute 43 EXECUTE 键
vbKeySnapshot 44 SNAP SHOT 键
vbKeyInser 45 INS 键
vbKeyDelete 46 DEL 键
vbKeyHelp 47 HELP 键
vbKeyNumlock 144 NUM LOCK 键
vbKeyA 65 A 键
vbKeyB 66 B 键
vbKeyC 67 C 键
vbKeyD 68 D 键
vbKeyE 69 E 键
vbKeyF 70 F 键
vbKeyG 71 G 键
vbKeyH 72 H 键
vbKeyI 73 I 键
vbKeyJ 74 J 键
vbKeyK 75 K 键
vbKeyL 76 L 键
vbKeyM 77 M 键
vbKeyN 78 N 键
vbKeyO 79 O 键
vbKeyP 80 P 键
vbKeyQ 81 Q 键
vbKeyR 82 R 键
vbKeyS 83 S 键
vbKeyT 84 T 键
vbKeyU 85 U 键
vbKeyV 86 V 键
vbKeyW 87 W 键
vbKeyX 88 X 键
vbKeyY 89 Y 键
vbKeyZ 90 Z 键
vbKey0 48 0 键
vbKey1 49 1 键
vbKey2 50 2 键
vbKey3 51 3 键
vbKey4 52 4 键
vbKey5 53 5 键
vbKey6 54 6 键
vbKey7 55 7 键
vbKey8 56 8 键
vbKey9 57 9 键
vbKeyF1 112 F1 键
vbKeyF2 113 F2 键
vbKeyF3 114 F3 键
vbKeyF4 115 F4 键
vbKeyF5 116 F5 键
vbKeyF6 117 F6 键
vbKeyF7 118 F7 键
vbKeyF8 119 F8 键
vbKeyF9 120 F9 键
vbKeyF10 121 F10 键
vbKeyF11 122 F11 键
vbKeyF12 123 F12 键
vbKeyF13 124 F13 键
vbKeyF14 125 F14 键
vbKeyF15 126 F15 键
vbKeyF16 127 F16 键
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = &H2 '释放按键常数
'回车键例子
Private Sub Command1_Click()
Text1.SetFocus
Call keybd_event(13, 0, 0, 0) '按下
Call keybd_event(13, 0, KEYEVENTF_KEYUP, 0) '释放
End Sub
键码
常数 值 描述
vbKeyLButton 1 鼠标左键
vbKeyRButton 2 鼠标右键
vbKeyCancel 3 CANCEL 键
vbKeyMButton 4 鼠标中键
vbKeyBack 8 BACKSPACE 键
vbKeyTab 9 TAB 键
vbKeyClear 12 CLEAR 键
vbKeyReturn 13 ENTER 键
vbKeyShift 16 SHIFT 键
vbKeyControl 17 CTRL 键
vbKeyMenu 18 菜单键
vbKeyPause 19 PAUSE 键
vbKeyCapital 20 CAPS LOCK 键
vbKeyEscape 27 ESC 键
vbKeySpace 32 SPACEBAR 键
vbKeyPageUp 33 PAGEUP 键
vbKeyPageDown 34 PAGEDOWN 键
vbKeyEnd 35 END 键
vbKeyHome 36 HOME 键
vbKeyLeft 37 LEFT ARROW 键
vbKeyUp 38 UP ARROW 键
vbKeyRight 39 RIGHT ARROW 键
vbKeyDown 40 DOWN ARROW 键
vbKeySelect 41 SELECT 键
vbKeyPrint 42 PRINT SCREEN 键
vbKeyExecute 43 EXECUTE 键
vbKeySnapshot 44 SNAP SHOT 键
vbKeyInser 45 INS 键
vbKeyDelete 46 DEL 键
vbKeyHelp 47 HELP 键
vbKeyNumlock 144 NUM LOCK 键
vbKeyA 65 A 键
vbKeyB 66 B 键
vbKeyC 67 C 键
vbKeyD 68 D 键
vbKeyE 69 E 键
vbKeyF 70 F 键
vbKeyG 71 G 键
vbKeyH 72 H 键
vbKeyI 73 I 键
vbKeyJ 74 J 键
vbKeyK 75 K 键
vbKeyL 76 L 键
vbKeyM 77 M 键
vbKeyN 78 N 键
vbKeyO 79 O 键
vbKeyP 80 P 键
vbKeyQ 81 Q 键
vbKeyR 82 R 键
vbKeyS 83 S 键
vbKeyT 84 T 键
vbKeyU 85 U 键
vbKeyV 86 V 键
vbKeyW 87 W 键
vbKeyX 88 X 键
vbKeyY 89 Y 键
vbKeyZ 90 Z 键
vbKey0 48 0 键
vbKey1 49 1 键
vbKey2 50 2 键
vbKey3 51 3 键
vbKey4 52 4 键
vbKey5 53 5 键
vbKey6 54 6 键
vbKey7 55 7 键
vbKey8 56 8 键
vbKey9 57 9 键
vbKeyF1 112 F1 键
vbKeyF2 113 F2 键
vbKeyF3 114 F3 键
vbKeyF4 115 F4 键
vbKeyF5 116 F5 键
vbKeyF6 117 F6 键
vbKeyF7 118 F7 键
vbKeyF8 119 F8 键
vbKeyF9 120 F9 键
vbKeyF10 121 F10 键
vbKeyF11 122 F11 键
vbKeyF12 123 F12 键
vbKeyF13 124 F13 键
vbKeyF14 125 F14 键
vbKeyF15 126 F15 键
vbKeyF16 127 F16 键
展开全部
将一个或多个按键(注意可以是多个)消息发送到活动窗口,就如同在键盘上进行输入一样。
语法
SendKeys
string[,
wait]
SendKeys
语句的语法具有以下几个命名参数:
部分
描述
string
必需的。字符串表达式,指定要发送的按键消息。
Wait
可选的。指定等待方式的
BooleandefBooleanDataType@veendf98.chm
值。如果为
False(缺省值),则控件在按键发送出去之后立刻返回到过程。如果为
True,则按键消息必须在控件返回到过程之前加以处理。
说明
每个按键由一个或多个字符表示。为了指定单一键盘字符,必须按字符本身的键。例如,为了表示字母
A,可以用
"A"
作为
string。为了表示多个字符,就必须在字符后面直接加上另一个字符。例如,要表示
A、B
及
C,可用
"ABCD"
作为
string。
对
SendKeys
来说,加号
(+)、插入符
(^)、百分比符号
(%)、上划线
(~)
及圆括号
(
)
都具有特殊意义。为了指定上述任何一个字符,要将它放在大括号
({})
当中。例如,要指定正号,可用
{+}
表示。方括号
([
])
对
SendKeys
来说并不具有特殊意义,但必须将它们放在大括号中。在其它应用程序中,方括号有特殊意义,在出现动态数据交换
(DDE)
的时候,它可能具有重要意义。为了指定大括号字符,请使用
{{}
及
{}}。
为了在按下按键时指定那些不显示的字符,例如
ENTER
或
TAB
以及那些表示动作而非字符的按键,请使用下列代码:
按键
代码
BACKSPACE
{BACKSPACE},
{BS},
或
{BKSP}
BREAK
{BREAK}
CAPS
LOCK
{CAPSLOCK}
DEL
or
DELETE
{DELETE}
或
{DEL}
DOWN
ARROW
{DOWN}
END
{END}
ENTER
{ENTER}或
~
ESC
{ESC}
HELP
{HELP}
HOME
{HOME}
INS
or
INSERT
{INSERT}
或
{INS}
LEFT
ARROW
{LEFT}
NUM
LOCK
{NUMLOCK}
PAGE
DOWN
{PGDN}
PAGE
UP
{PGUP}
PRINT
SCREEN
{PRTSC}
RIGHT
ARROW
{RIGHT}
SCROLL
LOCK
{SCROLLLOCK}
TAB
{TAB}
UP
ARROW
{UP}
F1
{F1}
F2
{F2}
F3
{F3}
F4
{F4}
F5
{F5}
F6
{F6}
F7
{F7}
F8
{F8}
F9
{F9}
F10
{F10}
F11
{F11}
F12
{F12}
F13
{F13}
F14
{F14}
F15
{F15}
F16
{F16}
为了指定那些与
SHIFT、CTRL
及
ALT
等按键结合的组合键,可在这些按键码的前面放置一个或多个代码,这些代码列举如下:
按键
代码
SHIFT
+
CTRL
^
ALT
%
为了说明在按下其它按键时应同时按下
SHIFT、CTRL、及
ALT
的任意组合键,请把那些按键的码放在括号当中。例如,为了说明按下
E
与
C
的时候同时按下
SHIFT
键,请使用
"+(EC)"。为了说明在按下
E
的时候同时按下
SHIFT
键,但接着按
C
而不按
SHIFT,则使用
"+EC"。
为了指定重复键,使用
{key
number}
的形式。必须在
key
与
number
之间放置一个空格。例如,{LEFT
42}
意指
42
次按下
LEFT
ARROW
键;{h
10}
则是指
10
次按下
H
键。
注意
不能用
SendKeys
将按键消息发送到这样一个应用程序,这个应用程序并没有被设计成在
Microsoft
Windows
中运行。Sendkeys
也无法将
PRINT
SCREEN
按键
{PRTSC}
发送到任何应用程序。
语法
SendKeys
string[,
wait]
SendKeys
语句的语法具有以下几个命名参数:
部分
描述
string
必需的。字符串表达式,指定要发送的按键消息。
Wait
可选的。指定等待方式的
BooleandefBooleanDataType@veendf98.chm
值。如果为
False(缺省值),则控件在按键发送出去之后立刻返回到过程。如果为
True,则按键消息必须在控件返回到过程之前加以处理。
说明
每个按键由一个或多个字符表示。为了指定单一键盘字符,必须按字符本身的键。例如,为了表示字母
A,可以用
"A"
作为
string。为了表示多个字符,就必须在字符后面直接加上另一个字符。例如,要表示
A、B
及
C,可用
"ABCD"
作为
string。
对
SendKeys
来说,加号
(+)、插入符
(^)、百分比符号
(%)、上划线
(~)
及圆括号
(
)
都具有特殊意义。为了指定上述任何一个字符,要将它放在大括号
({})
当中。例如,要指定正号,可用
{+}
表示。方括号
([
])
对
SendKeys
来说并不具有特殊意义,但必须将它们放在大括号中。在其它应用程序中,方括号有特殊意义,在出现动态数据交换
(DDE)
的时候,它可能具有重要意义。为了指定大括号字符,请使用
{{}
及
{}}。
为了在按下按键时指定那些不显示的字符,例如
ENTER
或
TAB
以及那些表示动作而非字符的按键,请使用下列代码:
按键
代码
BACKSPACE
{BACKSPACE},
{BS},
或
{BKSP}
BREAK
{BREAK}
CAPS
LOCK
{CAPSLOCK}
DEL
or
DELETE
{DELETE}
或
{DEL}
DOWN
ARROW
{DOWN}
END
{END}
ENTER
{ENTER}或
~
ESC
{ESC}
HELP
{HELP}
HOME
{HOME}
INS
or
INSERT
{INSERT}
或
{INS}
LEFT
ARROW
{LEFT}
NUM
LOCK
{NUMLOCK}
PAGE
DOWN
{PGDN}
PAGE
UP
{PGUP}
SCREEN
{PRTSC}
RIGHT
ARROW
{RIGHT}
SCROLL
LOCK
{SCROLLLOCK}
TAB
{TAB}
UP
ARROW
{UP}
F1
{F1}
F2
{F2}
F3
{F3}
F4
{F4}
F5
{F5}
F6
{F6}
F7
{F7}
F8
{F8}
F9
{F9}
F10
{F10}
F11
{F11}
F12
{F12}
F13
{F13}
F14
{F14}
F15
{F15}
F16
{F16}
为了指定那些与
SHIFT、CTRL
及
ALT
等按键结合的组合键,可在这些按键码的前面放置一个或多个代码,这些代码列举如下:
按键
代码
SHIFT
+
CTRL
^
ALT
%
为了说明在按下其它按键时应同时按下
SHIFT、CTRL、及
ALT
的任意组合键,请把那些按键的码放在括号当中。例如,为了说明按下
E
与
C
的时候同时按下
SHIFT
键,请使用
"+(EC)"。为了说明在按下
E
的时候同时按下
SHIFT
键,但接着按
C
而不按
SHIFT,则使用
"+EC"。
为了指定重复键,使用
{key
number}
的形式。必须在
key
与
number
之间放置一个空格。例如,{LEFT
42}
意指
42
次按下
LEFT
ARROW
键;{h
10}
则是指
10
次按下
H
键。
注意
不能用
SendKeys
将按键消息发送到这样一个应用程序,这个应用程序并没有被设计成在
Microsoft
Windows
中运行。Sendkeys
也无法将
SCREEN
按键
{PRTSC}
发送到任何应用程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数申明
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = &H2 '释放按键常数
'回车键例子
Private Sub Command1_Click()
Text1.SetFocus
Call keybd_event(13, 0, 0, 0) '按下
Call keybd_event(13, 0, KEYEVENTF_KEYUP, 0) '释放
End Sub
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = &H2 '释放按键常数
'回车键例子
Private Sub Command1_Click()
Text1.SetFocus
Call keybd_event(13, 0, 0, 0) '按下
Call keybd_event(13, 0, KEYEVENTF_KEYUP, 0) '释放
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询