打开microsoftspy++,在工具栏选择Find工具,在弹出的windowsearch窗口中拖动Findertool的图标至目标窗口即可.坏兔子(Bad Rabbit)病毒查杀软件最新免费版
使用microsoftspy++工具可以检查系统中所有窗口的层次关系,查看其属性遍历窗口,捕捉并查看特定窗口的消息。查看任意windows界面的handle,caption,class信息.另外DELPHI和BCB里有一个WINSIGHT好像和SPY++差不多。
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);
至此,基本操作实现。其实我觉得,只要做的好,完全可以自己做一个界面来,取
代它的界面。
展开内容
飞翔的箭矢游戏1.3 安卓手机版
米果视频剪辑APP下载官方版-米果视频剪辑V1.0.0.1 最新版
知之阅读PDF阅读器下载-知之阅读PDF1.3.3.1官方版
索尼克狂欢全人物全宝石全奖牌完美存档1.0 最新版
.net framework sdk下载-.net framework sdk 1.1 简体中文版for x86 win32简体中文官方版
衣订豹app1.0.21 安卓版
分身大师app官方下载-分身大师模拟定位2025v4.9.2 官方版
精灵竞技场游戏下载-精灵竞技场Arena of Sprite手游1.0.0手机版
雁微服app下载-雁微服1.7.0.14 安卓版
椰券app0.0.5 最新版
终结将至中文版下载-终结将至完整版(The End Is Nigh)官方简体中文免安装硬盘版
壁虎驾考最新免费版
催眠麦克风手游下载台服-催眠麦克风手游中文版3.64.0 繁中版
仿苹果横条下载-仿苹果横条(X Home Bar)0.4 最新版
微商助手安卓版下载-微商助手app3.4.0 微商版
哈哈游戏迷2.1.1 官网最新版
期刊杂志app下载-期刊杂志免费阅读网站app1.0.6 安卓版
文森的奇妙人头世界手游下载-文森的奇妙人头世界中文版(Vincent)1.0安卓版
新年贺卡制作图片2018-2018新年贺卡手工制作图片大全doc 高清图文版
amcap win7摄像头驱动9.11 最新免费版
真人翻译手机版-真人翻译官方appv1.1.3 安卓版
不返手游下载-不返手游官方版1.00.09 正版
我在大清当皇帝百度版下载-我在大清当皇帝百度版10.3.0.0 安卓手机版
維京崛起手游下载-維京崛起(Viking Rise)1.3.5 国际服
微爱app下载-微爱(最有爱的社交应用)6.0.7官方最新版
9.1/190.8M
这是一款经典的传奇类RPG游戏,魔界之门缓缓打开,大量怪物涌入人世,无数村庄惨遭被屠戮,为了拯救天下苍生,惩奸除恶,拿起你的武器吧勇士,去帮助那些被魔物践踏的村...
7.9/743.9M
互联网+的房地产家居服务平台,美嘉美户app支持定制分享,新房二手房低价专享,发现更多精彩活动和资讯,智能推荐更多适合的家居用品,一键玩转房产信息。功能介绍首页...
9.0/1,242.0M
猩际雅思是一款专门为准备考雅思的同学设计的学习软件,这里有最完备的雅思考试学习资料,海量题库帮助大家快速掌握陌生题型,或者查漏补缺,甚至还有ai改题与解析,帮助...
2017年开学第一课读后感作文600字-2017年开学第一课九月一日读后感范文大全doc完整版
7.9/1,739.1M
现在正值开学时节,不少学校都在组织开学第一课活动,看完节目总少不了观后感,小编给大家带来了2017年开学第一课九月一日读后感范文大全,有需要的朋友们可点击下载。...
itunes遥控器下载-iTunes遥控器app4.5.1官方版
7.7/323.0M
无论您在家中什么地方,都能借助iTunes遥控器随心掌控“音乐”、iTunes或“视频”App。只需在iPhone或iPad上下载该App,然后直接连接Mac或...
8.3/1,660.6M
如果你的小孩子正好刚刚开始上小学识数,可以用我们的这款软件哦,完全的免费。 无需安装就可以直接使用,有加减乘除,可以随意设置数字范围,是很好的数学练习帮手...
乐学英语手机版-乐学英语app1.5.140303 安卓最新版
9.2/1,734.2M
软件是一款英语学习app,在上面有着很多的英语知识可以查看,非常生动的英语可以了解,超过几千种口语知识,随时随地轻松学习英语,让大家学习更加轻松!乐学英语app...
8.4/1,527.0M
平安好医生app是大家的手机上面都是会免费的下载的一款生活软件,有病情都是可以免费的去咨询医生的,现在就可以来直接的下载看看苹果版的怎么样!平安好医生怎么赚钱赚...
8.4/1,604.3M
钢琴独奏大师是一款创新的钢琴游戏,挑战玩家用指尖跟随音乐的节奏和旋律,创造出无与伦比的乐趣和技巧的融合。这款节奏游戏将钢琴游戏、乡村风格的挑战和歌唱游戏独特地融...
BurnAware Free教程-BurnAware Free Edition9.2官方最新版
9.7/650.7M
BurnAwareFreeEdition是一款强力的刻录工具,支持CD,DVD,蓝光光盘和HD-DVD的媒体,支持所有标准的光存储介质包括CD-R/RW,DVD...
9.2/981.1M
大庆公积金app是一款功能强大的公积金人个账户查询软件,支持贷款查询、缴存支取情况,贷款进度表、房贷信息等内容,还有最新公积金新闻信息和房贷计算等功能。大庆市住...
专注森林安卓中文版下载-Forest专注森林app4.64.2 官方正版
8.5/1,256.4M
专注森林app是一款画风非常清爽的养成类型的app,你可以通过种植小树苗来记录生活之中的点滴,小树苗每一天都会成长,并且达到一定的年龄就可以为贫困地区免费献上金...
10.0/1,698.8M
奥拉星小米版由经典动画改编,这个版本将会给到各位玩家们很多的福利,游戏的主创人员也是动画的制作班底完成,在保留原作的基础上,还加入了更多收集、精灵养成更有的丰富...
9.6/1,342.8M
疯狂赏金赚钱平台是款靠谱的赚钱APP,这里的任务佣金是比较高的,币其他平台的高很多的,每天能够获取不错的奖励,在线领取任务没有任何的限制。疯狂赏金赚钱平台优势1...
8.0/983.9M
影院语音播报系统软件是一款专业化的语音软件,主要适用于剧场、影院,用户能直接自定义播报内容,播报时机,让你操作起来更加方便,真人化的语音播报,音质方面非常不错。...
犯罪城警车模拟器下载-Crime City - Police Car Simulator(犯罪城警车模拟器安卓版)1.3 最新版
8.8/1,685.0M
犯罪城警车模拟器是一款逼真的警车驾驶模拟器游戏,在游戏中,你将是一位警察,你需要去在城市道路中巡逻,看到有犯罪分子你要去第一时间的制止,是一款非常的正义感游戏!...
8.6/1,687.6M
Diskeeper是一款非常实用的磁盘整理工具,它操作简单,使用方便,可自动分析磁盘文件系统,支持FAT和NTFS格式,可安全、快速和最好的效能状态下整理,...
躺平发育冒险游戏下载-躺平发育冒险吃金豆游戏1.0.58 最新版
9.0/71.5M
躺平发育冒险吃金豆游戏这是文字版本的躺平发育小游戏,玩法与吃豆豆游戏类似,解决不同的个文字问题去抵御猛鬼,看上去密密麻麻的,其实玩起来十分有趣,喜欢的小伙伴欢迎...
爱拼才会赢游戏下载-爱拼才会赢2025方块消除游戏4.24.0 手机版
8.5/978.8M
新版俄罗斯单机游戏,益智超放松,左滑,右滑,Combo!挑战全球1%的用户,朋友们都用疯啦,一款汇聚超多游戏玩家的休闲益智游戏,不要等待,立即下载有趣且具有挑战...
7.5/639.9M
人菜瘾还大是一款绝对休闲解压的趣味连线游戏,卡通的农场画风,玩家在游戏中需要避开所有障碍物将奶牛送回家。丰富的游戏关卡,独具挑战。关卡由易到难逐步上手,在工作之...
西华大学成绩查询工具下载-西华大学成绩查询工具1.0.0 绿色免费版
7.5/325.1M
西华大学所有同学都是可以使用下面的这款软件来选课以及查询自己的成绩的,有需要的朋友现在就可以直接的来下载西华大学成绩查询工具到自己的电脑上!西华大学成绩查询工具...
次元时代APP下载最新版本2025-次元时代APP官方版1.0.1 最新版
8.4/132.5M
次元时代APP官方版为广大二次元爱好者搭建起一座丰富多彩、便捷高效的专属平台。它融合海量资源、特色功能与活跃社区于一体,全方位满足用户对二次元世界的探索与互动需...
考上状元就回来娶我吧游戏下载-考上状元就回来娶我吧手游官方版1.0 最新版
8.5/1,396.7M
新版本的古代养成玩法的手游,可以让你扮演有钱的大小姐养成穷书生的游戏,看看你可以把他培养成为状元,还是以你的穷书生的角度去体验这个养成的古代游戏!考上状元就回来...
8.2/1,988.9M
爱尔信是一款教育软件,无论是会计资格证还是专升本等只要是考证学习方面的事我们这边都有课程和学习资源,提供全方面的学习资料课程、直播等只为用户能过好好学,考取自己...
上海燃气app客户端下载-上海燃气缴费软件4.9手机ios版
9.6/1,071.3M
天然气已经成为了家家必备的生活资源,小编为上海地区的朋友提供上海燃气app,用户安装之后就能在线充值,还能燃气报修,足不出户就能缴纳天然气费用,非常便捷。软件介...