使用microsoftspy++工具可以检查系统中所有窗口的层次关系,查看其属性遍历窗口,捕捉并查看特定窗口的消息。查看任意windows界面的handle,caption,class信息.另外DELPHI和BCB里有一个WINSIGHT好像和SPY++差不多。种地500亩一年能赚多少
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的图标至目标窗口即可.
展开内容
10.0/567.0M
忍者神龟曼哈顿突变体十四项修改器风灵月影版是全版本游戏通用,忍者神龟曼哈顿突变体是“忍者神龟”系列最新的游戏作品,提供无限生命,无限BP,无限训练点数等14项修...
8.1/121.1M
赣鄱垂钓APP是一款优质的钓鱼服务软件,它是专门为热爱钓鱼的朋友准备的。用户通过软件可以找到各种钓场,附近的钓场都可以找到,这样就不用担心没地方钓鱼了。另外还有...
9.1/93.8M
qq精简模块是一款手机模块软件,这个模块运行的时候需要框架配合,软件包含了众多功能可以使用,如果你想要隐藏某些功能或者是主动去聊天都是可以进行使用的哦!qq精简...
7.9/1,263.9M
萌战记是一款多人在线回合战斗手游,清新自然的游戏界面,生动形象的角色造型,还有大气磅礴的世界地图,搭配你的阵容,享受战斗的乐趣!萌战记特色:1、多变的形态你可以...
9.9/637.7M
在英语学习的漫漫长路中,词汇量的积累宛如基石,支撑着听、说、读、写各项技能的提升。然而,传统的背单词方式往往枯燥乏味,难以让学习者持之以恒。松果单词软件的出现,...
8.8/1,322.3M
小霸王游戏机模拟器是一款集合了多种小游戏的游戏集,各种经典红白机游戏,满满的回忆,小时候都玩过的小游戏这里都有!小霸王游戏机模拟器介绍小霸王游戏机模拟器,模拟器...
9.9/307.6M
这是一款模拟经营养成的游戏,你可以建设各种菜地,然后种植你喜欢吃的蔬菜,然后不断地做任务获得肥料和浇水,合成各种农作物来赚钱。幸福菜园游戏介绍幸福菜园红包版是一...
9.2/1,554.1M
粉笔说app是一个互动问答平台,在这里可以提出自己的问题,也可以帮助其他人解决各种学习问题,互帮互助,共同提升成绩!软件介绍粉笔说是面向家长和老师的一款教育社区...
9.3/1,895.6M
游戏茶苑大厅拥有美观、舒适的外观,从温州出发,以经典双扣系列为起点,接连为广大休闲游戏爱好者打造了多款颇具人气的精品佳作。一场游戏一壶茶的游戏理念,让用户在休闲...
7.6/433.0M
农村入党申请书2018范文大全总共有5份,有最新的农村青年入党申请书,也有老干部这些的入党申请书,十分的丰富,言辞也很准确恰当。欢迎前来东坡下载使用。农村入党申...
9.2/1,829.3M
速腾农资管理系统是一款农资进销存管理系统,软件包括基本功能、增强功能、连锁功能、独门密技四大板块,历经16年市场打拼,用户众多,成熟稳定,功能全面,使用方便。功...
9.4/1,466.8M
地铁抓捕是一款由b站大神m木糖m自制的跑酷手游,根据地铁跑酷改编而成,在游戏中你将成为抓捕地铁小子后面的那位角色,玩起来充满趣味性,感兴趣的小伙伴快来东坡下载吧...
10.0/1,177.5M
攻沙传奇是一款非常好玩的手机游戏,这款游戏高度还原传奇游戏中的玩法与特色,还在原有的基础上增添了许多新的玩法,同时这款游戏中的装备都可以回收换元宝哦。装备都可以...
7.7/595.6M
恐怖黎明升级+官方MOD工具破解补丁怪物基地阻力减少对精英/最终困难,健康增加,以弥补。此外,电阻已归在多人游戏中,这样的怪物不再获得额外的阻力与额外的玩家。相...
9.6/688.5M
随时的关注以及查询自己的电脑上面的各种性能,同时也是可以对流量以及网速和cpu使用率方面进行全方面的监控,目前就是可以使用TrafficMonitor桌面悬浮窗...
8.3/1,208.3M
一款陌生人的交友软件,聊声app有各种玩法模式,可以用兴趣,用声音去进行交友,和附近的人交朋友,带你认识到更多的人。聊声特色1、附近的话题随意聊,快速的进行邂逅...
9.7/1,339.5M
荒漠乐园是一款模拟养成游戏,游戏的玩法属于生命创造类的,玩家要在荒漠之中慢慢的建造出一片欣欣向荣的景象,开放的大世界所有的资源由玩家自行获取并且建造,自由度超高...
9.7/526.2M
真爱网苹果版是一款在线婚恋平台,非常安全的恋爱约会平台,全会员实名制在线聊天,用户可以根据自身选择身份认证、学历认证、资产认证的模式选择结婚和约会对象,感兴趣的...
7.8/261.5M
我们总听说“纪律在我心中”这句话,那么到底什么是纪律呢?这句话为什么又会一而再再而三的被提及呢?本节内容东坡小编为大家整理带来的是一份纪律在我心中主题班会课件p...
8.4/164.3M
这是一款游戏社区论坛软件,这里提供很多端游手游的攻略分享,这里还有很多玩家在一起交流沟通,你可以了解更多游戏的玩法和最新的动态消息!软件简介激核游戏社交app,...
8.7/1,281.5M
这是一款聚合免费资源的手机应用市场,有基本的办公软件,也有很多精品资源下载,还有就是支持ai小工具,类似于机器人帮助你找到问题答案一样,只要向它提问就可以了,基...
8.8/1,528.5M
晋中通app为晋中市民的出行带来了极大的便利,功能丰富强大,为市民提供公交查询功能,自驾出行的朋友可以通过晋中通app找停车点、查询违章情况,非常实用!欢迎来下...
9.5/944.6M
动物变形竞赛是一款非常有趣好玩的休闲手游,玩法多样,操作简单,轻松上手。玩家只需在游戏中控制自己的游戏角色,躲避前方的攻击即可。游戏画风采用了独特可爱的卡通风格...
7.7/160.9M
全能领袖5.0是一款专门为ios用户打造的微商辅助工具,具有强大的全网独家功能,摇一摇自动爆粉、一键语音转发、自动语音回复等,该软件完美兼容ios1011系统,...
查看