关于VB中的sendkeys的问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 23:34:48
在VB中执行sendkeys时所要求程序自动按键盘的动作是否会与程序启动的响应时间有关?
比如说,用它启动一个EXE程序登陆界面时并在对应位置输入用户名和密码然后回车登陆。可是还没有等到程序登陆界面启动完毕就已经执行了sendkeys动作。或者在登录界面根本没有看到键盘的输入。导致出现意外错误。但是有时候可以看到sendkey动作完成登录有时候就不行。比如打开了N个程序登陆界面,甚至死机。我也试过用timer延迟一点时间执行sendkeys,还是时好时坏。如果是执行VB生成的EXE程序往Text中输入时就绝对没有问题。
谢谢大家帮忙分析下。

试试doevents

这样是你思路的问题!
我不知道你的EXE是怎么启动的,不管你是手动启动还是使用Shell函数启动,VB都不可能自己知道什么时候该输入数据了,所以正确的做法是窗体启动后天加一个时间控件Timer来监视程序启动到什么地方了。监视的方法很简单,使用FindWindows函数,如果启动和启动到输入地方的窗体名是一样的,那么就查询该窗体上的子类控件名就可以了!这样做的好处是完全根据情况来决定什么时候输入,不会存在错误的情况!