使用microsoftspy++工具可以检查系统中所有窗口的层次关系,查看其属性遍历窗口,捕捉并查看特定窗口的消息。查看任意windows界面的handle,caption,class信息.另外DELPHI和BCB里有一个WINSIGHT好像和SPY++差不多。超易餐饮管理软件下载-超易餐饮管理软件3.53 官方版
打开microsoftspy++,在工具栏选择Find工具,在弹出的windowsearch窗口中拖动Findertool的图标至目标窗口即可.
Windows程序都是基于消息机制的,每个程序中都会有各种各样的消息,
如果想通过消息来控制程序的运行,我们只用关心程序中的命令消息
(WM_COMMAND)就行了,其他关于程序界面等等的消息,可以不管。要查看程
序运行的消息,使用VisualStudio中自带的工具spy++。
打开spy++,选择spy|Windows,然后就会显示出当前的所有窗口,一
些主窗口中的字窗口也会显示出来,比如说工具栏窗口,编辑窗口等等。在
其中找到目标窗口。
以下是我运行spy++时显示的部分spy++窗口,其中有FineReader窗口
001702A6-tooltips_class32
000C01FE-"M"MSCTFIMEUl
001C02A0-"DefaultIME"IME
002401DO-tooltips_class32
003B009A-"Microsoft Spy++-[Windows2]"Afx:100000:0:10011:0:2600515
00300244-"M"MSCTFIMEUl
002E032E-FineReaderTipWindowClass
004F02B4-tooltips_class32
00410254-"Untitledbatch-ABBYYFineReader7.0ProfessionalEdition"
FineReader7MainWindowClass
003E0370-"DDEServerWindow"OleDdeWndClass
005002DC-ComboLBox
000D02B6-ComboLBox
00270320-ComboLBox
00AB0366-ComboLBox
00A000A4-tooltips_class32
(注:以上是使用printscreen抓图,然后使用FineReader识别的结果)
选择FineReader窗口,点击右键,弹出菜单中选择“Messages”,即可开始
监听该窗口的消息。你要是实际操作一下就会发现,消息非常多,根本无法从中
找到自己想看的消息。为了选出我们想看的消息,我们需要对消息进行过滤。选择
Messages|Options,弹出菜单中选择MessagesTab页,可以看见很多消息过滤选项。
我想监听WM_COMMAND消息,所以我ClearAll之后,只选择General消息。
以上设置好之后,开始监听消息,然后到FineReader窗口中点击Read快捷按钮
(安该按钮之后,FineReader开始识别当前选择的图片),然后回到spy++,监听到
的消息仍然不少,但是可以找到我们要查看的消息。如果你只按了一个按钮或者一个
菜单,在监听到的消息中间,你应该可以找到两个WM_COMMAND消息,一个发送出去的
消息,一个返回的消息,相信信息见下文。
以下是我在spy++中监听到的消息,其中有一个WM_COMMAND消息
<00039>00410254R...................WM_NOTIFY
<00040>00410254S...................WM_COMMANDv/NotifyCode:0(sentfroma
menu]wlD:4O2O3
<00041>00410254S...................WM_GETTEXTcchTextMax:512
lpszText:0012E200
<00042>00410254R...................WM_GETTEXTcchCopied:72
lpszText:0012E200f'U'l
(注:以上是使用printscreen抓图,然后使用FineReader识别的结果)
双击这个WM_COMMAND消息,可以看见关于这个消息的详细信息,如下
WindowHandle001F00AA//FineReader窗口句柄
NestingLevel2
Message0111(Sent)//WM_COMMAND消息ID,这个消息是发送出的消息
WM_COMMAND
wParam00009D0B//WM_COMMAND消息的两个参数
lParam00000000
在spy++中监听到的另外一个WM_COMMAND消息
<00089>00410254S...................WM_GETTEXTcchTextMax:512
lpszText:0012E1E0
<00090>00410254R...................WM_GETTEXTcchCopied:71
lpszText:0012E1E0(V")
<00092>00410254S...................WM_NOTIFYidCtrl:177pnmh:0012F988
(注:以上是使用printscreen抓图,然后使用FineReader识别的结果)
双击这个WM_COMMAND消息,可以看见关于这个消息的详细信息,如下
WindowHandle001F00AA//FineReader窗口句柄
NestingLevel2
Message0111(Return)//WM_COMMAND消息ID,这个消息是的消息
WM_COMMAND
wParam00009D0B//WM_COMMAND消息的两个参数
lParam00000000
既然可以查看到程序中消息的ID及消息的参数,那么我们可以自己编写
程序,向被控制的程序发送对应的消息,从而控制程序的运行。
第一步,在自己的程序中打开目标程序,使用一下API,具体请查看MSDN。
HINSTANCEShellExecute(
HWNDhwnd,
LPCTSTRlpOperation,
LPCTSTRlpFile,
LPCTSTRlpParameters,
LPCTSTRlpDirectory,
INTnShowCmd
);
在我的程序中,目标程序为FineReader,打开程序的代码如下:
HINSTANCEhRet=0;
hRet=ShellExecute(m_hWnd,
NULL,
"D:\ProgramFiles\ABBYYFineReader7.0Professional
Edition\FineReader.exe",
NULL,
NULL,
SW_HIDE);
if((int)hRet<=32)
{
MessageBox("打开FineReader失败!");
}
第二步,找到目标窗口,获得目标窗口的句柄
CWnd*pWnd=NULL;
//可能程序启动较慢,需要尝试多次才能找到目标窗口
while(pWnd==NULL)
{
Sleep(1000);
pWnd=FindWindow(NULL,"Batch-ABBYYFineReader7.0Professional
Edition");
}
第三步,向目标窗口发送消息。
可以使FineReader开始运行时,自动打开最后一次运行的一个Batch,所以我们只用
发送消息,
让FineReader开始识别就可以了。通过spy++可以查看到FineReader识别的WM_COMMAND
信息如下
Message0111(Sent)
WM_COMMAND
wParam00009D0B
lParam00000000
按以下方式向FineReader发送这个消息,使用SendMessage,等待消息返回后,再进
行下一步操作
::SendMessage(pWnd->GetSafeHwnd(),0x0111,0x9D0B,0);
FineReader识别完成之后,可以选择把结果保存为文件,或者发送到剪贴板,我选
择的是让其
把识别结果发送到剪贴板。同样使用spy++监听消息及其参数,然后发送对应的消息,
如下:
Message0111(Sent)
WM_COMMAND
wParam00009DA1
lParam00000000
::SendMessage(pWnd->GetSafeHwnd(),0x0111,0x9DA1,0);
进行这些操作之后,FineReader识别之后,就可以直接从剪贴板得到识别结果了,
相关代码如下
if(!IsClipboardFormatAvailable(CF_TEXT))
return;
if(!OpenClipboard())
return;
HGLOBALhglb=GetClipboardData(CF_TEXT);
if(hglb!=NULL)
{
LPTSTRlptstr=(char*)GlobalLock(hglb);
if(lptstr!=NULL)
{
MessageBox(lptstr,"识别结果");
GlobalUnlock(hglb);
}
}
EmptyClipboard();
CloseClipboard();
第四步,操作完毕之后,关闭目标程序,同样通过发送消息完成。
最先我以为直接发送WM_QUIT消息就可以了,后来发现不行,用spy++监听后发现,
应该发送WM_CLOSE消息。
::SendMessage(pWnd->GetSafeHwnd(),WM_CLOSE,0,0);
至此,基本操作实现。其实我觉得,只要做的好,完全可以自己做一个界面来,取
代它的界面。
展开内容
电子贺卡制作软件-照片制作贺卡(Ashampoo Photo Card 2)2.0.2 中文注册版
花生小说阅读下载-花生小说app1.0.7.3 安卓版
2017世界卫生日手抄报资料-世界卫生日手抄报内容资料完整版
守望先锋自动战斗脚本-守望先锋自动战斗刷盒子脚本最新免费版
IE修复工具(不显示内嵌图片)v1.0 绿色免费版
VMware Workstation中文正式下载-VMware Workstation中文版12.5.5.52347 官方正式版
疯狂猜车标所有答案-疯狂猜车标3.0 官网最新版
一彩进销存管理系统免费下载-一彩进销存软件最新版V1.21官方版
免费Mp3 CD制作专家 v4.3.6.916注册机
广发易淘金证券官网下载-广发易淘金app手机版最新版10.0.4.0官方免费版
淘宝宝贝描述模板提取器Build 2011.1002 破解免费版
像素大逃杀ios下载-像素大逃杀ios版1.9.7 苹果版
风暴英雄掌游宝app下载-风暴英雄掌游宝2.1.8 安卓最新版
签名获取工具app下载-签名获取工具软件1.0 安卓版
返利省钱联盟下载-返利省钱联盟app6.1.7安卓版
全能机器人下载-全能机器人1.1.3 绿色免费版
比亚迪蓝牙钥匙app下载-比亚迪蓝牙钥匙2.2.1 官方安卓最新版
PrinterShare电脑版下载-PrinterShare(打印机共享设置软件)2.4.04 官方电脑版【32位/64位通用】
爆肝游戏公司下载-爆肝游戏公司手游0.0.1 中文版
2017喜迎国庆班会ppt课件免费版
客户达开店软件免费版-客户达开店助手1.44 官方绿色版
冲顶大会答题答案app-冲顶大会全民竞答答题app1.0.2 ios苹果版
delphi 10 seattle 注册机-delphi 10 seattle 破解工具免费版
macs fan control mac版下载-macs fan control for mac1.4.10 最新版
青橙影院app安卓最新版下载-青橙影院app1.0.3 最新版
8.0/1,717.5M
每一个大学生毕业的时候都要面对很多的问题,其中一个就是你的职业是什么,怎么就业,这个时候你都会需要职业生涯的规划书,现在为大家提供这个2020最新的模板,清爽大...
9.1/1,196.3M
平常碰到陌生的单词时,都会上网找百度在线翻译,次数多了就觉得很麻烦,于是找来了一款在线翻译的小工具,分享给大家,让你翻译更加方便快捷,省去很多时间和操作。使用说...
9.5/1,609.6M
专业的教育学习软件,整合了最新最全的课程,让用户可以学习到非常丰富的知识,将自己不太熟练的知识收藏起来反复观看。快乐学习帮app功能【免费教程】内容、知识点丰富...
7.9/1,296.8M
极品列车时刻绝对是出差旅行者不可多得的必备工具!它包含最新的火车查询、航班查询、特价酒店等信息,以及电子地图、在线升级、在线订票、车票代够等超级功能!除此,最具...
9.2/671.4M
看视频或者是在自己的手机上面需要看各种电影电视剧的话,现在就可以试试这款安卓万能盒子,功能也是非常的强大的,直接的可以在线的解析的!万能盒子软件功能vip视频解...
还让不让人说真话了表情包下载-还让不让人说真话了表情包合集完整无水印版
8.4/1,304.5M
还让不让人说真话了表情包是一款现在非常火爆的表情包。还让不让人说真话了表情包,一组新的熊猫头抬杠ky表情包,最经典的“我纯路人”,各种黑子杠精表情包,非常的有趣...
9.8/934.7M
本游戏是一款益智策略游戏,它精致细腻的背景,外加神秘的印加音乐衬托,彷佛置身在古老国度里面,进行一个神秘的Game,值得你再三玩味!此Game的主角是一只石...
9.0/274.9M
新浪下载助手是新浪最新推出的一款界面小巧,操作简单易用,普通下载和bt下载二合一,支持断点续传的下载工具。功能介绍高速稳定:下载速度快、性能稳定,支持断点续传和...
团风网手机客户端下载-团风网app苹果版3.0.0 官网ios版
8.7/1,192.4M
团风网是一个团风地区本地生活信息资讯网站,为广大网友提供最新新闻,周边生活服务,小编带来了团风网手机客户端,网友可以随时随地查看本地新闻,欢迎来下载!团风网手机...
9.3/958.2M
销售在日常生活中随处可见,不论是在店面还是在大街上都可能遇到这种情况。但是你会发现销售其实一门学问,当你被说服的时候就是销售技巧起了作用。今天东坡小编给大家探讨...
聚分享美篇刷阅读软件下载-聚分享刷美篇阅读app1.0 安卓免费版
8.3/1,939.0M
聚分享刷美篇阅读app是针对美篇app打造的一款刷阅读量软件,美篇是图文编辑分享工具,很多人写了文章之后发现没有阅读量,这款软件就可以给你带来成千上万的阅读量。...
小天鹅给个机会gif动图下载-小天鹅给个机会表情包2020动态版
9.6/1,596.3M
这是一套在抖音上非常火的表情包,善于发现各种趣味表情包的大家想必已经在抖音中发现了那么一个趣味的小天鹅系列表情包了吧,这个表情包非常的适合在套路中使用。小天鹅给...
8.2/1,013.3M
小幽灵万象网管通杀工具是一款万象网吧破解工具,成功破解万象网吧计费系统,成功破解了就是怕被网管打断腿,不说了新买的轮椅到了。小幽灵万象网管通杀工具破解版使用方法...
7.5/255.5M
为大家带来的是初中语文世说新语ppt下载,根据原文课文制作,内容丰富,排版新颖,难点分析讲解,使学生的学习更加轻松有效,欢迎下载使用。初中语文世说新语ppt素材...
饥饿小猫数字绘画手游-饥饿小猫数字绘画(Hungry Cat Picross)1.77 安卓免费版
9.9/1,301.3M
这里为玩家们介绍的是一款萌系的数字填图游戏,在游戏中玩家将要和可爱小猫一起填满各种图片,游戏的难度还是非常的高的,想要挑战一下的玩家可以来试试,各种关卡都非常的...
8.2/446.6M
2017年3月桌面日历壁纸是有小编整理的日历壁纸,高清大图,各种风景美照,非常亮眼,喜欢换日历壁纸的朋友可以来下载!2017年3月桌面日历壁纸描写三月春天的诗句...
Meltdown&Spectre检测工具1.0.0.1 免费版
8.1/226.0M
Meltdown&Spectre检测工具是一款腾讯反病毒实验室推出的漏洞检测工具,可以用来检测你的电脑是否感染Meltdown、Spectre病毒,并可...
9.4/402.2M
三界之乱是一张十分不错的魔兽防守地图,这里为大家带来的是三界之乱全新2.8正式版,新本地图修改已知BUG,修复地图卡顿的问题以及一些装备错误的提示,欢迎大家前来...
文件操作监控软件-文件操作监控(记录指定目录下所有操作)2014.13 绿色版
8.9/1,875.4M
文件操作监控是一款可以帮助用户监控电脑文件夹的软件,该软件可记录指定目录下的文件操作及改动情况,并支持日志导出,让用户对文件夹的任何行为都了如指掌。文件操作监控...
9.3/519.8M
飞速手机清理大师是一个专业的手机垃圾清理工具,具有一键清理功能,快速清理手机垃圾,释放空间,还有微信专项清理功能!软件介绍飞速手机清理大师,只需一键清理释放内存...
7.8/1,725.3M
为大家带来的是九年级化学元素ppt课件,内容丰富,排版新颖,文字通俗易懂,再加上图片的搭配,学生学习更加轻松有趣,欢迎下载使用。九年级化学元素ppt课件素材化学...
机甲战队最新版下载-机甲战队官方正版下载11.3.3 手机版
8.1/1,589.0M
机甲战队作为一款fpx机甲游戏来说还是很不错的,尽管游戏的美术略微有点差但可以用丰富的机甲和武器来弥补,玩法上和普通的fpx差不多,六个为同一阵营然后淘汰对方全...
8.7/339.2M
糖猫在家app是智能机器人软件,为糖猫推出的智能机器人产品服务,用户可以通过手机app接通机器人,给家人打电话,查看家里的情况!糖猫在家app介绍糖猫在家是一款...
8.1/150.5M
二四节秋分已经正式的开始了!相信很多人都是知道的,现在为大家带来二四节秋分ppt图片,可以让你直接的进行查看,如果你对这个感兴趣的话就可以使用哦!二四节秋分介绍...
7.8/466.2M
全世界最小巧,使用最简单,界面最清爽的免费定时关机软件。不仅如此这款软件还是绿色版的无需安装,想用就用要删就删,非常方便。软件介绍晨睿定时关机软件是一款非常小巧...