请问在vb中sendkeys 显示的问题?如下该怎么解决?

dim pos as integer
dim str1 as string
dim str2 as string
dim str3 as string
dim len1 as long
private sub form_load()
str1=''好雨知时节。''
len1=len(str1)
str2=''''
str3 =''''
pos =0
timer1.enable=false
end sub

private sub timer1_timer()
str2=mid(str1,pos+1,1)
sendkeys str2
pos=pos+1
if (pos+1)>len1 then
sendkeys "{enter}" '这个语句也不好使。
pos=0
endif
end sub

private sub command1_click()
timer1.enable=true
end sub

private sub command2_click()
timer1.enable=false
pos=0
str2=""
str3=""
end sub

' 窗体上有文本框控件,multiline属性为真,scrollbars属性 2
' timer 控件,interval值30
' 还有两个按钮,用于控制 timer 的enable的真或假。
我想问的是,为什么在文本框中不显示哪?窗体和图片框中有autoredraw属性,可文本框中并没有此属性啊。
逻辑上应该没问题,可能还是和我不知道的某个属性的设置有关,或是其它方面的问题。
在timer过程中,用以下语句可以,可知文本框是没问题的:
private sub timer1_timer()
str2=mid(str1,pos+1,1)
str3=str3+str2
text1.text=str3
pos=pos+1
if (pos+1)>len1 then
' sendkeys "{enter}" '这个语句也不好使。
pos=0
endif
end sub

慕丝7291255
浏览 375回答 3
3回答

大话西游666

'说明,发送key的时候注意把焦点给要发送的地方Dim pos As IntegerDim str1 As StringDim str2 As StringDim str3 As StringDim len1 As LongPrivate Sub form_load()str1 = "好雨知时节。"len1 = Len(str1)str2 = ""str3 = ""pos = 0Timer1.Enabled = FalseEnd SubPrivate Sub timer1_timer()str2 = Mid(str1, pos + 1, 1)Text1.SetFocusSendKeys str2pos = pos + 1If (pos + 1) > len1 ThenText1.SetFocusSendKeys "{enter}" '这个语句也不好使。pos = 0End IfEnd SubPrivate Sub command1_click()Timer1.Enabled = TrueEnd SubPrivate Sub command2_click()Timer1.Enabled = Falsepos = 0str2 = ""str3 = ""End Sub

四季花海

发送按键之前先设置焦点:if (pos+1)>len1 thentext1.setfocussendkeys "{enter}"pos=0endif

慕盖茨4494581

<> 0 then sendkeys "{"+c+"}" else sendkeys c end if next i 其中,你要按的键放在s字串中,循环的作用是剥离每个字符,看是否为特殊字符
打开App,查看更多内容
随时随地看视频慕课网APP