|
不知道各位有没用WINRUNNER获取HANDLE后使用PostMessageA结合VC的SPY++来编写使用消息控制的自动化测试.
load_dll ("user32.dll");
extern int PostMessageA(in long, in long, in long, in long);
extern int BroadcastSystemMessage........
invoke_application("C:\\MoiSystem.exe","","",SW_SHOW);
win_get_info("MOIS","handle",hWnd);
PostMessageA(hWnd, WM_CHAR, 00000041, C01E0001);
WINDOWS上运行的程序都是基于消息机制的,就是窗口有一个消息循环来等待接收消息并分发给下面处理.我们在用MFC写窗口程序的时候就经常用到SENDMESSAGE来通知和处理各种操作.我觉得程序代码里和WINRUNNER这里使用WIN API调用的原理是一样的.
所以理论上我觉得既然WINRUNNER能拿到具体的HANDLE,并且用SPY++能拿到发送的消息的具体内容,那么应该就能通过POSTMESSAGEA和WINDOWS 的其他API函数来发送控制指令实现对程序的控制,不过我试验后发现只有一些简单的CLOSE等消息可以响应,其他通过SPY++拿到的消息放到代码里运行发现很多是无效的.
希望大家分享一下这方面的经验.
[ 本帖最后由 mythxhg 于 2007-11-19 16:25 编辑 ] |
|