使用microsoftspy++工具可以检查系统中所有窗口的层次关系,查看其属性遍历窗口,捕捉并查看特定窗口的消息。查看任意windows界面的handle,caption,class信息.另外DELPHI和BCB里有一个WINSIGHT好像和SPY++差不多。自考管家手机版下载-自考管家ios版1.0.2官网苹果版
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);
至此,基本操作实现。其实我觉得,只要做的好,完全可以自己做一个界面来,取
代它的界面。
打开microsoftspy++,在工具栏选择Find工具,在弹出的windowsearch窗口中拖动Findertool的图标至目标窗口即可.
万博最新 nba下注 极速麻将九游版 众博最少存多少 墙体彩绘名片展开内容
模拟东京滤镜安卓版下载-analog tokyo模拟东京5.8.1 安卓免费版
不夜城0.2.02.05地图下载-不夜城0.2.02.05小峰破解版【作弊脚本+自定义等级+p闪无cd】
光与夜之恋云游戏下载-光与夜之恋云游戏5.0.1.4019306 官方正版
巩义行app下载最新版-巩义行app下载1.0.2 安卓版
upx加壳脱壳工具下载-UPX加脱壳软件【附PEID查壳工具】
克鲁赛德战记国际服官方下载-克鲁赛德战记国际服7.5.3.KG 最新版本
《仁王2》蕾丝边黑色过膝袜MOD免费版
Sling Man手游下载-Stickman Sling火柴人吊工1.0.0 安卓版
木子空间app下载-木子空间1.0.1 安卓版
风月幻想0.1折下载-风月幻想0.1折国风卡牌1.0 送满V特权
宝宝消防员下载-宝宝消防员9.10官方最新版
实况足球2018曼联与皇马众将脸型纹身包
猴了个猴游戏下载-猴了个猴1.0.0 安卓版
cctv开学第一课2017观后感-2017九月cctv开学第一课观后感【100字+150字+300字】
油桐树下游戏下载-剧情大挑战II油桐树下104 中文免安装版
路人江湖手游1.0 中文版
抢券屋app1.0.3 官方安卓版
无他恋爱app1.1.6 安卓手机版
儿童英语儿歌学单词ios官网下载-儿童英语儿歌学单词app2.80 苹果版
win10系统64位iso镜像14393.693-ghost windows10 x64专业版(14393.693)
熊猫绘图软件下载-熊猫绘图软件100 最新版
企业名录搜索软件-翱奔企业名录搜索软件2015.2.1 绿色版
猪场超级管家软件下载-猪场超级管家免注册码版6.0电脑版
打印机日志管理工具(PaperCut Print Logger)1.6 安装版
原神抽卡模拟器5.6版本下载安装最新-原神抽卡模拟器5.6版本下载v0.56 最新版
9.0/1,557.4M
《尊龙》是一款凸显休闲向的养成小游戏,游戏主要玩法就是扮演主角进行主线任务的互动和推进,其中会有繁多的任务系统让玩家进行处理,对于战斗、养成等以点击形式的互动较...
9.8/1,108.2M
初中语文app是一款非常优质的手机线上教材学习软件,用户下载这款软件能够看到app里面涵盖了整个初中阶段所有的语文教材,并且上面的教材课程讲解都非常的精细,还有...
计算机保密检查工具-SecScan下载(SecScan保密检查软件)2016 最新破解版
9.1/387.9M
有时候,我们需要保证自己的电脑处于绝对安全的环境,如果电脑上的机密资料被窃取,可能会造成不可估量的损失。小编这里给大家带来一款工具,名为SecScan,它可以用...
辐射4野兽皮肤兽耳朵mod-辐射4动物皮肤兽耳朵MOD绿色版
9.8/1,325.4M
辐射4相信很多的人都是知道的吧!现在为大家带来的是最新的辐射4动物皮肤兽耳朵MOD,他的玩法还是非常的不错的,可以为你带来不一样的游戏体验!感兴趣的可以看看哦!...
海洋游牧民族存活游戏(Ocean Nomad)1.139 安卓版
9.1/137.2M
海洋游牧民族存活游戏(OceanNomad)是最新版本的海洋模拟生存游戏,加入了新的场景地图、人物、敌人,3d的游戏场景和画风,收集多一些的资源让自己在岛上更好...
极品单车正式版-Bicycle Riding(极品单车手游)1.0.3 安卓手机版
9.8/1,379.3M
极品单车手游是一款以自行车为题材的竞赛赛车游戏,游戏画风清奇,玩法比较简单,驾驶你的自行车在道路上前进,闯过各种奇特的关卡!极品单车游戏特色1、模拟真实的山地路...
9.8/100.3M
将球拍与炸弹相结合的休闲游戏,球拍炸弹(RacketBOOM)中玩家可以与好友一起来体验,选择单人或者两人操作,利用球拍将球传给对方,谁优先得到7分就能获胜。玩...
8.1/33.2M
好百联建材app是一个建材商城,用户可以在这里购买各种精美的家具,还可以在该平台选择喜欢的家居设计方案!软件介绍好百联家居汇聚家具、建材、家电、家纺、家饰、灯具...
pptv会员账号共享器-深蓝PPTV会员共享器2.0 绿色免费版
8.0/191.9M
深蓝PPTV会员共享器是一款绿色免费的PPTV会员账号共享器。软件可以免费获取PPTV会员账号,不定期更新。欢迎有需要的用户下载使用!PPTV会员账号共享器怎么...
9.4/1,136.7M
地理信息技术在区域地理环境研究中的应用是一节地理课程,主要让同学们了解各种信息技术原理,老师可以用小编带来的ppt备课!ppt课件预览教学目标1.了解遥感、全球...
9.9/1,560.6M
斑马物联网管理软件是一款非常好用的免费物流行业软件,东坡为大家带来了斑马物联网管理软件免费版,喜欢的同学快来免费下载试试吧!斑马物联网管理软件使用说明1、打印租...
蝙蝠侠阿甘之城通关存档-蝙蝠侠阿甘之城大头模式通关存档免费下载
9.2/1,121.3M
蝙蝠侠阿甘之城大头模式通关存档是游戏蝙蝠侠阿甘之城最新的存档,由网友分享,可以完美通过大头模式,需要的朋友可以来下载使用!蝙蝠侠阿甘之城大头模式通关存档使用说明...
摆客单车app安卓版下载-摆客单车app官方正版1.0.1 安卓版
8.2/1,477.0M
摆客单车app官方正版是一款非常不错的共享单车手机软件,在这里用户可以在APP中认购自行车,并且在骑行的时候还能够赚钱,非常不错,快点来看看吧。软件介绍摆客单车...
穆飞大神自制变身模拟器FaizNext下载安装-假面骑士Next Faiz变身模拟器手机版1.0 安卓版
9.4/615.0M
B站UP主@穆飞大神爆肝十几个小时设计素材+裁剪音效+写代码才完成的假面骑士NextFaiz安卓手机模拟器,目前功能还在持续更新当中,如果你也是假面骑士爱好者,...
7.9/1,302.6M
创业号创业工具箱是一款可以帮助用户编辑制作互联网产品宣传的工具,也就是一款可视化的编辑工具,实现了自助制作互联网宣传产品技术,轻松几步搞定。软件简介创业号创业工...
京东众包官方APP下载-京东众包(京东秒送骑士)12.11.1 最新版
9.7/847.3M
京东众包叫什么?其实京东众包也叫达达秒送骑士,或者又叫京东到家,是达达集团为配送员提供的接单、配送管理工具,主要用于同城即时配送业务。京东众包骑手能通过它获得丰...
齐天大战神变态版下载-齐天大战神bt变态版1.1.3 福利版
9.3/1,466.8M
齐天大战神闲着无聊就可以打开挂机的好游戏,升级快且不用一直关注着剧情进度,装备获取也没有那么难。当然一个首充就可以渡过前期的尴尬期,可以说是我理念中的不肝不氪了...
艾听客解忧馆下载-艾听客解忧馆app(原咋啦app)3.1.0 安卓版
8.4/1,505.4M
艾听客解忧馆是一个为用户提供心理支持和情感倾诉的平台,通过书信的方式,让用户感受到温暖和关爱,帮助他们解决问题,获得成长和进步。艾听客解忧馆app(原咋啦app...
天正电气T20注册机破解版-天正电气T20破解版(64位/32位 )天正电气t20注册机
9.4/1,083.0M
天正电气T20是由天正公司推出的一款专业的电气设计软件,支持32位AutoCAD2004-2014平台和64位AutoCAD2010-2014平台,该软件拥有建...
最强三国单机版2游戏下载-最强三国单机版2手游1.3.7 安卓最新版
8.7/1,943.7M
专注三国史实的一款三国策略游戏,最强三国单机版2手游是最新的本,玩家将召幕更多的名将来搭配出一个最强的战队攻打其它国家,实现统一天下的壮举,游戏离线也可以操作,...
9.2/430.8M
新极光淘宝后台修改软件是一款功能强大、简单实用的淘宝后台修改器,此款软件能够为用户提供修改待发货、待收货、待评价、修改评价管理等功能。新极光淘宝后台修改软件功能...
晨曦秒赞工具-晨曦qq空间自动秒赞圈人工具2016 最新免费版
9.2/1,942.4M
晨曦qq空间自动秒赞圈人软件是一款qq空间的秒赞辅助工具,可以轻松实现自动秒赞圈人的功能,提高空间的人气,使用稳定,需要的朋友可以免费下载使用。晨曦qq空间自动...
9.2/154.6M
华润通金融app是一款由华润集团官方推出的金融理财服务软件,为用户提供便捷的贷款服务,用户可以通过软件申请消费分期产品,满足你全方面的需求,解决你的燃眉之急,欢...
9.4/1,045.4M
超好玩的冒险rpg僵尸生存逃生系列游戏,游戏是多人僵尸生存游戏,有着大量不同的生存关卡可以挑战,游戏是生化逃离游戏,可以自由进行进化变异,合成强大的僵尸,轻松体...
8.0/47.7M
魔童觉醒礼包版是由魔童降世改编而来的,游戏中的主角哪吒的形象就是电影中成年版的哪吒,这也是风靡海内外的魔童手游,开局输入礼包码即送战神哪吒!限时新手礼包新手用户...