注册 登录
编程论坛 VB6论坛

vb 用api如何控制另一个软件?

再下一城 发布于 2015-04-06 22:37, 1297 次点击
我想用vb控制另一个软件,实现这样的目的

1.打开软件,这步我知道怎么做
2,用鼠标点击这个软件菜单栏的file然后在下拉菜单中点export job
3,在弹出的export job窗口输入信息,然后点OK

各位高手能否给个思路,要用到哪些api函数
10 回复
#2
风吹过b2015-04-07 09:18
可以使用按键精灵的流程,然后根据流程去找API函数。

1、整个屏幕截图。一个API,截图。
2、在图片中,找标题栏。如以应用程序的图标为基准,计算出菜单项的准确的坐标。
3、根据坐标,移动鼠标,点击鼠标。一个API或二个API,移动鼠标并点击,延时。
4、再抓图。
5、查找 export job 窗体,计算坐标。计算出各个输入框的坐标。
6、移动鼠标,输入内容。二个API,移动鼠标并点击和键盘输入。
7、确定。一个API,移动鼠标并点击。

===================
一般情况下的操作。
找到菜单hWnd,发事件消息。
找到  export job ,发输入事件消息。发 OK 按钮事件消息。
这个有写起来更简单,但分析起来更难。
#3
renxiaoyao362015-04-07 20:57
另一个软件如果知道源代码,可以想办法在代码层查找临时储存的变量进行修改,那个软件根据修改的变量执行某个代码,这只是个思路,如何在代码层搜索特定的进程的变量,我也不清楚。但是CE(Cheat Engine)却做到了,你可以找找怎么做到的。
#4
再下一城2015-04-07 22:09
回复 2楼 风吹过b
谢谢版主的回复,刚接触api,弱弱地问一句,为什么要捉图?
另外,你的思路是根据坐标点来点击对吗?
#5
再下一城2015-04-07 22:09
回复 3楼 renxiaoyao36
谢谢你
#6
wube2015-04-13 21:41
樓主這需求我還真做過,不過源代碼在公司。
寫這個需要用到VS的Tool,要確認取得的句柄是否正確用的。
明天再去公司找找。
#7
wube2015-04-14 12:02
用spy++获取程式class name和Handle或Caption
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录


FindWindow
FindWindowEx
ListAllChildWindow
GetWindowRect
GetClassName
GetWindowText
Sendmessage

..等做以上功能排列组合
#8
再下一城2015-04-14 13:12
回复 7楼 wube
程序能否發給我看,謝謝!
#9
wube2015-04-14 16:18
以前测试功能前试做的...
只有本站会员才能查看附件,请 登录
#10
再下一城2015-04-15 23:10
http://bbs.
#11
lurenluo2016-08-17 11:56
谢谢分享啊
1