欢迎来到天天文库
浏览记录
ID:46665206
大小:67.00 KB
页数:6页
时间:2019-11-26
《基于SPY软件功能扩展探究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于SPY++软件功能扩展探究摘要:利用微软VisualStudio6.0的工具软件SPY++找出要操作的运行软件窗口的图形树,最终找出要操作的控件ID,再使用VC++6.0建立了一个软件向该控件发送消息和模拟要操作控件的事件,最终实现现有软件功能扩充。关键词:进程;线程;句柄;SPY++中图分类号:TP312文献标识码:A文章编号:1007-9599(2013)01-0189-02进程间通信的主要目的是实现同一计算机系统内部的相互协作的进程之间的数据共享与信息交换,由于这些进程处于同一软件和硬件环境下,利用操作系统提供的编程接口,用户可以方便地在程序中实现这种通信。进程
2、是装入内存并准备执行的程序,每个进程都有自己的虚拟地址空间,由代码、数据以及它可利用的系统资源组成。多进程/多线程是Windows操作系统的一个基本特征。MicrosoftWin32应用编程接口(API)提供了大量支持应用程序间数据共享和交换的机制,这些机制行使的活动称为进程间通信(IPC),通信的目的是在不同进程间进行数据共享和数据交换。如何进行进程间通信为现有软件的功能进行扩充,已成为应用开发中的一个常见问题,下面本文将通过Windows进程通信的API来对一个视频格式软件视频转换大师的多个视频文件转换的批处理功能进行了扩充。1相关的技术1.1Spy++功能Spy卄是
3、一个基于Win32的实用工具,它提供系统的进程、线程、窗口和窗口消息的图形视图。使用Spy++可以执行下列操作:显示系统对象(包括进程、线程和窗口)之间关系的图形树;搜索指定的窗口、线程、进程或消息;查看选定的窗口、线程、进程或消息的属性;直接从视图中选择窗口、线程、进程或消息;通过鼠标定位,使用查找程序工具选择窗口;使用复杂的消息日志选择参数设置消息选项。提不使用Spy++时,在许多实例中都可以单击鼠标右键显示常用命令的弹出式菜单。1.2有关WindowsAPI的使用1.2.1SendMessage函数将指定的消息发送到指定窗口,由窗口调用程序,直至窗口程序处理完消息再
4、返回。LRESULTSendMessage(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMIParam);参数:hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口。Msg:指定被发送的消息。wParam:指定附加的消息特定信息。IParam:指定附加的消息特定信息。返回值:返回值指定消息处理的结果,依赖于所发送的消息。1.2.2findwindowHWNDFindWindow(LPCSTRIpCIassName,LPCSTRlpWindowName);参数:IpCIassNam
5、e:指向一个以NULL结尾的、用来指定类名的字符串或一个可以确定类名字符串的原子。这个原子(一个16bit的值),必须被放置在IpCIassName的低位字节中,IpCIassName的高位字节置零。如果该参数为NULL时,将会寻找任何与lpWindowName参数匹配的窗口。1pWindowName:指向一个以NULL结尾的、用来指定窗口名(即窗口标题)的字符串;如果此参数为NULL,则匹配所有窗口名。返回值:如函数执行成功,则返回相应的窗口句柄;执行失败,则返回NULLo1.2.3CreateThread函数原型如下:HANDLECreateThread(LPSECU
6、RITY_ATTRIBUTESlpThreadAttributes,//线程安全属性DWORDdwStackSize,//堆栈大小LPTHREAD_START_ROUTINEIpStartAddress,〃线程函数LPVOIDIpParameter,//线程参数DWORDdwCreationFlags,//线程创建属性LPDWORDlpThreadld//线程ID);参数:lpThreadAttributes:指向SECURITY_ATTRIBUTES型态的结构的指针。在WindowsNT中,NULL使用默认安全性,不可以被子线程继承。dwStackSize:设置初始栈的
7、大小,以字节为单位,如果为0,那么默认将使用与调用该函数的线程相同的栈空间大小。IpStartAddress:指向线程函数的指针,即函数名称。IpParameter:向线程函数传递的参数,是一个指向结构的指针,不需传递参数时,为NULLodwCreationFlags:线程标志。lpThreadld:保存新线程的ido返回值:函数成功,返回线程句柄;函数失败,返回NULLo2软件实现2.1查看指定窗口句柄运行视频转换大师软件,将程序运行到要进行的操作界面,然后运行VO+6.0中spy++工具软件,打开spy++窗口中的树,找到
此文档下载收益归作者所有