VBA如使用ChangeWindowMessageFilter这个API函数
BGG = ShellExecute(0, "Open", "D:\SinoTrans.exe", vbNullString, vbNullString, 1) '
IOTHER(1).Delay 5000 '启动系统并延迟3秒
h(0) = IWINDOW(1).FindWindow("WindowsForms10.Window.8.app3", "Logon SinoTrans operation system")
h(1) = IWINDOW(1).FindWindowEx(h(0), 0, "WindowsForms10.STATIC.app3", "Login name:")
R = IWINDOW(1).GetWindowRect(h(1))
L = IWINDOW(1).GetWindowCenter(h(1))
h(2) = IWINDOW(1).WindowFromPoint(R(2) - R(0) + L(0), L(1)) '输入账户开始
IOTHER(1).Delay 1000
I = SendMessage(h(2), WM_SETTEXT, ByVal 0&, ByVal "chenjin") '输入账户结束
h(3) = IWINDOW(1).WindowFromPoint(R(2) - R(0) + L(0), R(3) - R(1) + L(1)) '输入密码开始
IOTHER(1).Delay 1000
I2 = SendMessage(h(3), WM_SETTEXT, ByVal 0&, ByVal "laizi7021") '输入密码结束
h(4) = IWINDOW(1).FindWindowEx(h(0), 0, "WindowsForms10.BUTTON.app3", "Login")
IOTHER(1).Delay 1000
IMESSAGE(1).LeftButtonDown h(4) '点击LOGIN按钮进入系统
IMESSAGE(1).LeftButtonUp h(4)
---------利用上面的API函数ShellExecute打开一个EXE,成功打开了登录界面,并输入账号和密码,但是正式登录进去
就提示:调用的目标发生了异常。未将对象引|用设置到对象的实例。后来查了一下是因为WINDOWS的UIPI影响了,所以想问一下我如何在
这段VBA里添加发送消息的白名单,使打开这个EXE的时候能够正确的初始化。谢谢大家。