VBA如使用ChangeWindowMessageFilter这个API函数

Nash Chen 2020-03-19 08:17:38
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的时候能够正确的初始化。谢谢大家。


...全文
114 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,172

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧