使用microsoftspy++工具可以检查系统中所有窗口的层次关系,查看其属性遍历窗口,捕捉并查看特定窗口的消息。查看任意windows界面的handle,caption,class信息.另外DELPHI和BCB里有一个WINSIGHT好像和SPY++差不多。DVD光盘完美快速复制工具(DVDFab Platinum)9.2.0.1 简繁体中文特别版
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的图标至目标窗口即可.
亚博电竞优惠码 众博投注软件 体育用品商城 柳州大公体育 马博体育博 bet365官网登陆网站 manbetx网址谁知道 12选五5爱彩乐 乐鱼附近sasa 九游会存款到账快的01 球吧网体育直播手机版 南京万合体育怎么样 注册体育公司需要哪些手续 水浒传有声小说博听网 博鱼送的世界杯足球展开内容
萌宠小窝下载安装-萌宠小窝游戏1.0.1 最新版
玩具熊痛苦之夜游戏下载-玩具熊痛苦之夜(Torture Nights)1.0 安卓版
实况足球2015广告补丁包1.0 免费版
王者放置版游戏下载-王者放置版官方版1.0 最新版
文字锁屏软件官方下载-文字锁屏软件5.4.2 官方最新版
聚多生活app下载-聚多生活平台3.0.5 安卓最新版
新笑傲江湖渠道服互通版-新笑傲江湖小米专属礼包版1.0.280.0安卓互通版
学天下1对1app下载-学天下1对1app2.9.25 安卓版
粉笔会计电脑客户端免费下载-粉笔会计电脑版1.2.6官网最新版
王牌飞车传奇游戏下载-王牌飞车传奇1.0.0 安卓版
煮厨家常菜谱app下载-煮厨家常菜谱3.5.0 手机最新版
社区慧生活app下载-社区慧生活2.0.8 苹果最新版
奇妙昆虫日记下载-奇妙昆虫日记游戏9.73.00.00 安卓版
Inventor HSM 2015 破解版免费下载-Inventor HSM 2015 破解版【附破解教程】
金馆长红包搞笑表情包-金馆长红包表情包绿色版
MyEclipse2015 SVN插件下载1.9.3 最新汉化版【离线安装包】
8.9/566.8M
SVN是Subversion的简称,是一个开放源代码的版本控制系统。大家在使用MyEclipse2015的过程中,几乎都得用到SVN插件,小编这里分享汉化版的M...
8.7/1,633.6M
海棠花你的精选购物商城,货比三家,绝不买错! 致力于打造精选特价,爆款商品、热荐单品应有尽有,还有你想像不到的超低价格,支持多供应商价格对比,不仅买的...
8.9/963.5M
一芽宝贝APP,新生妈妈必备的宝宝记录神器。不但帮助妈妈们方便记录宝宝成长轨迹,她还为妈妈们惠聚周边高性价比的亲子游,帮助你们解决各种的难题。一芽宝贝APP软件...
7.7/874.7M
三国之文字吃鸡,一款纯粹三国题材的文字策略游戏,更多的玩法,更新奇的挑战,游戏中能够成为架空历史的一名君主,挑战众多英雄,来成功活下来三国吃鸡。三国之文字吃鸡游...
7.7/1,534.0M
倾行是一款线上实用健身运动软件,海量的健身课程,超详细的视频动作解析,为用户提供专业好用的健身课程,还能在线制作课程,每天上线打卡。监督用户打造健康好身材,每天...
7.7/95.3M
角虫绘图app是一款非常实用,非常有趣的二次元绘画学习软件。对于二次元宅来说,如果能够自己绘画出喜爱的二次元角色,是不是一件非常幸福满足的事情呢?如果你有这种想...
9.0/64.2M
黑月Extend手游内购版是末世题材的手机横版格斗游戏,自由度很高,我们可以去探索这个世界的真香,去开发出更多的技能,去冒险,游戏有更多的随机事件在等着大家。黑...
9.6/718.5M
新星音频格式转换工厂破解版是一款非常好用的音频格式转换工具,给大家提供的是最新版本的破解版,更多vip功能开启,免费下载使用,需要的用户快来下载吧!新星音频格式...
8.1/1,320.8M
《Sparticles》是Zarbuz制作发行的一款画风绚丽的2D横版动作冒险游戏。玩家的目标是打败敌人,达到每个关卡的终点。但是关卡中的路是不可见的,玩家可以...
8.7/1,369.9M
风之大陆手游华为版独创的AR抓宠玩法,让你在游戏中体验到独家的AR场景,增强现实的乐趣和效果,让你即刻拥有非凡的体验;各种历练转职,顶级策略只剩,让你可以不断解...
Dev Is You手游下载-Dev Is You(DeV就是你)1.0 安卓版
8.1/948.5M
全新一款脑筋急转弯游戏,DevIsYou(DeV就是你),如果你想成为一个胜利者,你就必须去改变环境,让自己变成一块石头或者一个爱心。简介DevIsYou是一个...
7.6/1,675.2M
这款游戏是一款非常好玩的细胞战斗类手机游戏,游戏中你可以操作着细胞进行自由的跑动,通过技巧完成各种比赛,游戏玩法十分多样,让游戏独具特色!战斗细胞介绍这是一款由...
8.9/1,449.4M
华易财务软件是一款专业的面向行政事业单位、中小企业的财务软件,操作简单方便,功能全面细致,具有反结帐、反记帐、科目拆细、重排凭证号、科目级长扩展...
电子屏幕画笔app下载-电子屏幕画笔app手机版3.1.0 安卓最新版
10.0/1,899.9M
电子屏幕画笔是一款为主播开发的实用小工具,流畅的电子屏幕书写能力,各类线条、形状、箭头标注能够满足您在直播中的各种需求。是网络直播、网络授课、线上会议的辅助工具...
撸极品游戏激活码app下载-撸极品游戏激活码手机版1.2 亲测可用版
9.4/1,228.4M
撸极品游戏激活码手机版可以抢到世面上面大部分的内测游戏的激活码,而且这个是完全免费的,直接的可以使用助力帮助你抢到,不限制抢到多少次,可以免费帮助你提前玩游戏!...
superpads faded按键-superpads faded按键教程图片完整版【零基础】
7.5/1,881.3M
superpads是一款非常火爆的音乐按键类游戏,通过不断的按手机屏幕上的按钮来演奏出优美的音乐,非常好玩,小编为您带来了superpadsfaded按键教程图...
8.7/1,902.0M
小律是一款能帮用户养成自律习惯的软件,可以记录任务、自由规划计划,还能通过自律打卡记录情况,软件会智能统计打卡数据,方便用户查看,同时有专注计时功能,帮助提高学...
8.5/436.6M
生活中处处充满着科学,让宝宝学习有趣的小知识,宝宝科学岛就是宝宝巴士打造的系列游戏,充满童真和生机的卡通游戏画面,趣味的科普,建立百科知识库。宝宝科学岛介绍《宝...
8.1/1,852.1M
这款游戏是超经典的仙缘游戏,以传统的怀旧版为亮点,在游戏之中可以体验到经典的热血对战乐趣,游戏有着怀旧的玩法,超炫酷的画风可以自由的体验,因为怀旧版更加的经典哦...
9.4/586.0M
爱动计步器app是一款使用十分方便的运动计步器软件,盖如那件支持按照时间进行统计,用户可以随时查看自己的运动情况以及步数,掌握健康状况从现在开始,赶紧下载爱动计...
9.5/1,781.9M
分动手环,是一款集运动记录、心率监测、睡眠监测,实时消息推送等功能于一体的健康管理类APP。您可以通过该应用+智能手环(手表)实现运动,睡眠,心率,闹钟,久坐提...
7.8/1,211.6M
龙之谷是经典的游戏,游戏中有九大职业,战士、弓箭手、牧师、魔法师、学者、舞娘、刺客、萌骑士、兽娘这9个基础职业,还有银色机甲师、黑暗死神、黑暗复仇者、银色猎人、...
9.7/1,752.4M
电影文件怎么转换mp4格式,相信很多朋友都不会这个,其实很简单,在本界面下载一个格式工厂,然后按照步骤来就可以了,感兴趣就快来下载吧。电影怎么转换mp4格式软件...
8.2/469.5M
动力场(运动社交软件)是一款基于地理位置的运动社交类软件,用户通过本软件能够便捷的在这里搜索你周边有没有一起运动的朋友,相互认识,一起运动,一起感受运动带来的快...
7.6/1,540.5M
包头智慧普法app是一款法律知识普及软件,方便用户随时查看最新的法律相关新闻资讯,在线学习法律知识,提供便捷的法律咨询服务,欢迎下载。软件介绍“包头智慧普法”A...