为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕丝7291255 2022-01-06 11:07:07
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.enable=falseend subprivate sub timer1_timer()str2=mid(str1,pos+1,1)sendkeys str2pos=pos+1if (pos+1)>len1 thensendkeys "{enter}" '这个语句也不好使。pos=0endifend subprivate sub command1_click()timer1.enable=trueend subprivate sub command2_click()timer1.enable=falsepos=0str2=""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+str2text1.text=str3pos=pos+1if (pos+1)>len1 then' sendkeys "{enter}" '这个语句也不好使。pos=0endifend sub
查看完整描述

3 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

'说明,发送key的时候注意把焦点给要发送的地方
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.Enabled = False
End Sub

Private Sub timer1_timer()
str2 = Mid(str1, pos + 1, 1)
Text1.SetFocus
SendKeys str2
pos = pos + 1
If (pos + 1) > len1 Then
Text1.SetFocus
SendKeys "{enter}" '这个语句也不好使。
pos = 0
End If
End Sub

Private Sub command1_click()
Timer1.Enabled = True
End Sub

Private Sub command2_click()
Timer1.Enabled = False
pos = 0
str2 = ""
str3 = ""
End Sub



查看完整回答
反对 回复 2022-01-10
?
四季花海

TA贡献1811条经验 获得超5个赞

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

查看完整回答
反对 回复 2022-01-10
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

<> 0 then sendkeys "{"+c+"}" else sendkeys c end if next i 其中,你要按的键放在s字串中,循环的作用是剥离每个字符,看是否为特殊字符

查看完整回答
反对 回复 2022-01-10
  • 3 回答
  • 0 关注
  • 374 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号