做一个东西,模拟执行某个软件。

东方小黑 2012-12-13 08:03:30
登陆窗口要输入账号、密码,两个输入框的类名相同,我怎样用findwindowex等函数来判断哪个是账号,哪个是密码,并把数输入到两个框中?
...全文
170 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
YshuuiNew 2012-12-19
  • 打赏
  • 举报
回复
自动恐怕不好判断。
科比布莱恩特 2012-12-19
  • 打赏
  • 举报
回复
引用 1 楼 s11ss 的回复:
账号、密码框的Z-order肯定不同的,可以用spy++看看(alt+f3,瞄准登陆窗口,然后点“OK”)。 代码大概这样(假设根据z-order,在类名为输入框的控件中,测试框1排第一,账号框排第二,测试框2第三, 密码框第四): hTestEdit1 := FindWindowEx(hLoginWindow{登陆窗口句柄}, 0{从hLoginWindow的第一个……
不懂的路过。
s11ss 2012-12-13
  • 打赏
  • 举报
回复
账号、密码框的Z-order肯定不同的,可以用spy++看看(alt+f3,瞄准登陆窗口,然后点“OK”)。 代码大概这样(假设根据z-order,在类名为输入框的控件中,测试框1排第一,账号框排第二,测试框2第三, 密码框第四): hTestEdit1 := FindWindowEx(hLoginWindow{登陆窗口句柄}, 0{从hLoginWindow的第一个控件开始找}, 输入框类名{可用spy++查看}, nil); hAccountEdit := FindWindowEx(hLoginWindow, hTestEdit1{根据z-order从测试框1的下一个控件开始找}, 输入框类名, nil); hTestEdit2 := FindWindowEx(hLoginWindow, hAccountEdit, 输入框类名, nil); hPassEdit := FindWindowEx(hLoginWindow, hTestEdit2, 输入框类名, nil); SendMessage(hAccountEdit, WM_SETTEXT, 0, Integer(PChar('abc')));{账号框填入abc} SendMessage(hPassEdit, WM_SETTEXT, 0, Integer(PChar('123')));{密码框填入123}

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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