使用microsoftspy++工具可以检查系统中所有窗口的层次关系,查看其属性遍历窗口,捕捉并查看特定窗口的消息。查看任意windows界面的handle,caption,class信息.另外DELPHI和BCB里有一个WINSIGHT好像和SPY++差不多。未知标题
打开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);
至此,基本操作实现。其实我觉得,只要做的好,完全可以自己做一个界面来,取
代它的界面。
展开内容
大航海之路小米版下载-大航海之路小米手机版1.1.28安卓版
字谜大全-小学生猜字谜语大全最新免费word下载
月升沧海手游下载-月升沧海游戏1.1.0 最新版
机动都市阿尔法uc服下载-机动都市阿尔法九游版1.0.12243九游客户端
开源中国app-开源码中国5.0.3 官方版
嗨猫猫赚钱游戏下载-嗨貓猫红包版3.0.5红包版
双开空间下载安装-双开空间最新版1.0.8 安卓版
全能指南针手机版下载-全能指南针app官方版8.5.6 安卓版
怡生活Vipapp下载-怡生活Vip3.3.1安卓版
金太阳点读宝app-金太阳点读宝小学英语app2.4.0 全国版
人造发光植物ppt-人教版四年级语文上册人造发光植物教学课件免费版【共16页】
我的世界新超级英雄mod整合包-籽岷我的世界新超级英雄模组整合包1.7.1.0 最新Forge版
南明英杰传福利版下载-南明英杰传满V版1.19福利版
勇士特攻队手游下载-勇士特攻队1.0.0 最新版
嗨格式PDF转Excel转换器1.0.13.109 最新版
哔哩哔哩ios版下载-哔哩哔哩苹果版8.41.0 iphone客户端
睿慕课手机版下载-睿慕课app1.1.1 安卓版
仙魔纪手游下载-仙魔纪游戏1.0.1 官方正版
百家姓全文下载-百家姓拼音版大全免费完整word版
wim镜像安装器-WIM镜像处理工具(DBC WimKit)1.21 绿色免费版
英雄学院2手游下载-英雄学院2(Hero Academy 2)1.35.1806 官方安卓版
PureTie官网下载-PureTie贴吧app0.8.8 安卓版
微商宝具APP下载-微商宝具1.0.0 最新版
万族点名册手游下载-万族点名册游戏1.5.0.0.11 正版
2019初级药师考试题库软件-初级药师考试最新题库1.0 安卓免费版
9.5/957.3M
在地铁上玩这款游戏超打发时间!近期超火的小游戏,休闲解压,没有WIFI也可以玩!2021年超好玩的游戏!在地铁上玩这款游戏超打发时间!游戏使我快乐,来玩它,模拟...
7.6/1,741.2M
大学生毕业后首先就是要制作简历,那么制作简历有什么好用的模板呢?聪慧好简历是一款专门的简历制作软件。这款软件简历模板有很多,操作也简洁流畅。接下来,介绍一下。聪...
7.9/1,385.4M
是一款针对女生打造社交主动权的社交软件,软件中女生作为主导方你可以选择男生来进行聊天,你可以事先看男生的脸来决定是否聊天,让你在社交中更好选择心仪的人。软件介绍...
猫咪日记游戏下载-猫咪日记游戏Cat Diary1.9.2 最新版
7.8/890.5M
让我们开始养猫咪的神奇旅程!猫咪日记是一款超级有趣且令人上瘾的合成和放置收集游戏。你可以随意装扮你的小猫咪,和它们尽情互动!让自己沉浸在一个充满猫咪的卡哇伊世界...
8.6/1,312.5M
石头追书永久免费版免费阅读,所有书籍全部免费,这是一款比较经典的小说搜索阅读软件了,软件支持很多平台小说的搜索,你喜欢什么小说都可以直接在这里搜索查找的,软件完...
8.7/1,141.1M
轻松休闲的挂机游戏,随心放置你可以自由的搜集角色去冒险,搜集装备,在挂机战斗中不断的成长起来,能让你快乐是我们做游戏最大的满足。游戏玩法1、培养你的专属英雄,不...
火柴人忍者战斗游戏下载-火柴人忍者战斗手游v1.25 安卓版
9.7/1,702.3M
火柴人忍者战斗一款可以随时战斗的手游,在危险的环境中战斗并开始挑战,玩家通过自己选择的角色与自己的对手进行战斗,多种不同的对战方式,玩家可以体验不同的战斗操作,...
查看
7.7/1,821.8M
在我们不能够做出决定的时候可以用到这款小决定喵app,提供了多种选择方式,小决定大转盘,通过随机抽取的方式帮助你做出选择。小决定喵app介绍小决定喵是一个帮你快...
9.6/539.2M
橘子天气是一款很好用的手机天气预报查询助手。这里包含了各种强大的功能,不仅可以实时天气预报、天气预测。还有一些天气预警、日历赚取,让你不会忘记每一个纪念日哦!橘...
7.9/1,743.0M
马赛可可APP是一款专注于图片隐私保护的专业智能打码工具,致力于为用户提供高效、便捷的隐私防护服务。它搭载精准的智能文字识别技术,能快速提取图片中的文字内容,同...
印尼巴士模拟器mod国产车包下载-印尼巴士模拟器国产车辆模组3.7.1 最新版
9.8/1,232.2M
印尼巴士模拟器国产车辆模组,也是mod国产车包版本,进入游戏后需要另外加载哦。实际上这就是一款巴士模拟驾驶类的游戏,可以联机,可以涂装皮肤,可以自由驾驶,操作简...
8.1/488.1M
ta聊天伴侣是您最佳的掌上聊天app,24小时的聊天机器人。东坡小编推荐,跨越时空的恋情,作为你的心理慰藉、解闷的伙伴。ta聊天伴侣官方介绍TA是一款融合现代科...
8.3/667.8M
视频号剪辑app是一款非常优质的视频剪辑软件,用户下载这款软件能够在上面进行优质的图像剪辑服务,app上所涵盖的功能能够有效的帮助用户处理视频或者图片上的所有问...
9.5/320.8M
游戏是青春版诛仙游戏,有很多明星代言,超青春rpg仙侠游戏,每一个角色都是精心塑造,可以在游戏之中自由选择你喜欢的职业,这个青春版本上线送很多神器,而且可以轻松...
Isocube游戏下载-Isocube(3d方块拼图)1.9 安卓最新版【附数据包】
8.0/1,368.1M
画面非常棒的3d拼图游戏,Isocube(3d方块拼图)中有着丰富的关卡,多种场景可以自由选择,可以随意放大和缩小,操作简单,画面的渲染效果极好,小编温馨提醒一...
租房直通车app下载-厦门租房直通车app1.0.4 安卓最新版
7.8/600.2M
厦门租房直通车app是厦门市管理中心推出的租房软件,软件为用户提供最准确的房源信息,租户可以直接在软件上查看满意的房子并且进行租贸,非常的方便实用。软件介绍租房...
8.4/428.0M
四叶草办公助手是一款用来定时提醒你工作的软件,可以自定义设置提醒时间,简单好用,非常适合上班族!软件介绍主要是定时提醒的功能,支持屏幕边缘吸附(我觉得这个比较爽...
9.9/1,090.2M
优缘会(婚恋交友),一款社交婚恋手机软件,我们会为用户进行智能匹配,便于用户认识同城的单身男女,约会交友,浪漫邂逅!有需要的快来试试吧!优缘会(婚恋交友)功能介...
9.2/1,788.4M
武当张三丰是一款经典的武侠题材为主题的游戏,游戏中改变了传统的职业升级模式,让玩家自由探索这个武侠世界,你可以遇到各式各样的奇遇,或者拜入隐世高手门下,打造独一...
7.6/1,939.0M
为大家带来永劫无间捏脸数据大全,游戏中的捏脸功能十分强大,网友们对此功能乐此不疲,捏出了各种脸型,但是也有很多玩家不太擅长捏脸,下面小编就为大家带来永劫无间捏脸...
8.1/1,231.8M
医学学术研究通常需要使用幻灯片来进行生动的表述,这里为您提供的是6套专业精美的医学ppt模板,让您轻松的完成您的学术展示。6套专业医学ppt模板缩略图...
摩尔庄园涂色下载-摩尔庄园涂色游戏1.1.21101303S安卓手机版
7.6/1,551.2M
摩尔庄园涂色游戏是一款儿童非常喜欢玩的涂色类型游戏,根据摩尔庄园里面的人物和屏幕下方的颜色,可以画出各种五颜六色的样子,适合宝宝画画启蒙试玩!摩尔庄园涂色游戏介...
9.9/806.6M
兜兜友是一款比较火的聊天交友的软件,您是不是还愁找不到合适的男女朋友?没事这里有非诚勿扰。您是不是怕不够了解对方而唐突了对方?没事我们这里有全面的个人资料让你了...
长沙通论坛官方app下载-长沙通论坛3.5.1 官网最新版【长沙购物交流平台】
7.7/1,056.6M
长沙通论坛app是一个长沙地区的交流社区app,网友们可以分享自己的购物心得,分享自己吃过的美食,分享身边的趣事乐闻,为长沙地区的市民搭建一个交流社区!欢迎来下...