VBsendkey可以向指定窗口发送消息吗?

VBsendkey可以向指定窗口发送消息吗?,第1张

PrivateSubForm_Load()

Dimx

x=Shell("Notepad.exe",vbNormalFocus)

SendKeys"这是一个文本文件的测试程序.",True'模拟输入英文字符

SendKeys"{Enter}{Enter}",True'两次回车

waittime(2)'延时2秒

SendKeys"自动输入文字",True

SendKeys"{Enter}{Enter}",True

waittime(2)

SendKeys"既不是病毒,也不是木马!",True

SendKeys"{Enter}{Enter}",True

waittime(2)

SendKeys"开始退出...看菜单项{(}F{)}...",True

SendKeys"%",True'Alt键激活菜单条

waittime(1)

SendKeys"(F)",True'按字母"F",选择"文件(F)"菜单

waittime(1)

SendKeys"(X)",True'按字母"X",选择"退出(X)"

waittime(2)

SendKeys"(N)",True'd出一个对话框,询问文件是否存盘,按"N"不存盘

End'结束本模拟程序

EndSub

PrivateSubwaittime(delayAsSingle)

DimstarttimeAsSingle

starttime=Timer

DoUntil(Timer-starttime)>delay

Loop

EndSub

PrivateSubForm_Load()\x0d\x0aDimx\x0d\x0ax=Shell("Notepad.exe",vbNormalFocus)\x0d\x0aSendKeys"这是一个文本文件的测试程序.",True'模拟输入英文字符串\x0d\x0aSendKeys"{Enter}{Enter}",True'两次回车\x0d\x0awaittime(2)'延时2秒\x0d\x0aSendKeys"自动输入文字",True\x0d\x0aSendKeys"{Enter}{Enter}",True\x0d\x0awaittime(2)\x0d\x0aSendKeys"既不是病毒,也不是木马!",True\x0d\x0aSendKeys"{Enter}{Enter}",True\x0d\x0awaittime(2)\x0d\x0aSendKeys"开始退出...看菜单项{(}F{)}...",True\x0d\x0aSendKeys"%",True'Alt键激活菜单条\x0d\x0awaittime(1)\x0d\x0aSendKeys"(F)",True'按字母"F",选择"文件(F)"菜单\x0d\x0awaittime(1)\x0d\x0aSendKeys"(X)",True'按字母"X",选择"退出(X)"\x0d\x0awaittime(2)\x0d\x0aSendKeys"(N)",True'd出一个对话框,询问文件是否存盘,按"N"不存盘\x0d\x0aEnd'结束本模拟程序\x0d\x0aEndSub\x0d\x0aPrivateSubwaittime(delayAsSingle)\x0d\x0aDimstarttimeAsSingle\x0d\x0astarttime=Timer\x0d\x0aDoUntil(Timer-starttime)>delay\x0d\x0aLoop\x0d\x0aEndSub

SendKeys

语句

将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样。

语法

SendKeys

string[,

wait]

SendKeys

语句的语法具有以下几个命名参数:

部分

描述

string

必需的。字符串表达式,指定要发送的按键消息。

Wait

可选的。指定等待方式的

BooleandefBooleanDataType@veendf98.chm

值。如果为

False(缺省值),则控件在按键发送出去之后立刻返回到过程。如果为

True,则按键消息必须在控件返回到过程之前加以处理。

说明

每个按键由一个或多个字符表示。为了指定单一键盘字符,必须按字符本身的键。例如,为了表示字母

A,可以用

"A"

作为

string。为了表示多个字符,就必须在字符后面直接加上另一个字符。例如,要表示

A、B

C,可用

"ABC"

作为

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}

发送到任何应用程序。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11434542.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存