
类型: 休闲益智游戏 版本: V7.0
大小: 404.4 时间: 2025-11-21





使用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,321.2M
火绒右键菜单管理独立版是从火绒互联网安全软件提取出来的小工具。有了它,用户可以轻松的使用鼠标右键更改菜单的内容。同时还可以保留自己想要的功能,关闭不想要的,非常...
微信群主怎么挣钱
1,607.6M
软件是一款生活日历记录软件,可以轻松的记录生活之中所发生的各种内容,并且还可以对每一天创建工作的计划,可以更加便捷的进行日历服务,随时添加重要的办公事项!快查日...
韩国大学生兼职电影
927.2M
葡萄阅读这是一个手机本地阅读器,软件里面可以导入本地的书籍资源,支持多种文本格式,支持一键导入,大家有什么喜欢的小说书籍都可以导入里面进行阅读,这里都进行了很人...
地宝网兼职
941.9M
猫玩具app顾名思义就是给猫咪玩的玩具,app上有各种模式能够给猫咪玩起来,是一款非常不错的逗猫游戏,选择一个玩具让猫咪来点击消灭,只有用户才能控制解锁,非常的...
寄拍兼职
1,262.0M
gfx游戏助推器专业版(GFXTool)很棒,这么快就支持新出的超高清画质了,现在可以120帧超高清画质游戏了。抱着试试的状态搞,结果发现居然是真的,就是设置里...
创业十大赚钱方法
25.6M
三国志战略版折扣端是款三国战争题材的策略性游戏,在这里你将化身为三国中的历史风云人物,建造你的丰功伟业,这里有众多的英雄等你来招募,历史上有名的人物都系数登场。...
棋牌的收费价格表
904.8M
玩上古卷轴的玩家大部分都不是很习惯游戏中自带的那种欧美风格的人物模型,于是很多人都会用各种MOD来对人物的皮肤和外貌进行各种修改。但是很多时候脖子部分会因为头部...
赚钱钱的图片
869.3M
幻想神谕是一款非常好玩的手机游戏,游戏采用的是日系漫画风格,然而这款游戏中没有职业设定,取而代之的是双武器系统,玩家创建角色可以从十二种武器中选择其一作为主武器...
招商棋牌推荐
1,662.6M
太阳神三国杀作为目前国内最好的单机版三国杀,目前游戏的武将数量众多,相信带很多玩家都尚未接触过这些武将,不论是游戏的界面还是对战的类型上都与官方有着高度的相似,...
一米兼职网是真是假
1,789.6M
武侠之类的手机游戏在现在是很多的朋友都是不怎么陌生的,现在小编就给喜欢玩手游武侠的朋友介绍一款最新的经典武侠大作--天天爱剑侠手游!天天爱剑侠手游介绍《天天爱剑...
澳门注册送300彩金
144.4M
庆国庆迎中秋双节,小编为大家整理了一些国庆中秋的祝福语图片,分享朋友圈空间的必备祝福图,需要的小伙伴们快来下载高清动图发送祝福吧!一组国庆中秋动图图片庆国庆迎中...
搭建小程序看广告挣钱靠谱吗
757.2M
这是一款搞笑社区软件,这里提供各种搞笑的段子,图片,小视频等等,每日更新,很多网友一起评论,转发,大家分享各种段子,图片等等!软件简介魔豆是一个纯粹的搞笑社区,...
中签债券能赚多少钱
887.3M
云聚货滴司机端是一款专为货运司机提供的接单、抢单平台,司机通过平台可更方便更快速的提高收入。软件功能实名认证,专业可靠货源多,新运单实时语音提醒,接单方便。货运...
县城小投资项目
1,184.4M
晨曦快递批量查询高手破解版是一款免费的快递查询软件,功能强大,支持快递单号批量查询,需要的朋友可以来下载使用!晨曦快递批量查询高手使用步骤1、批量添加快递单号(...
加盟分享汇怎么赚钱
930.7M
邪恶之门:被盗符文是一款冒险解谜益智游戏,为了方便那些不懂英文的玩家也能够进行游戏,在这里给大家带来的是邪恶之门:被盗符文的汉化补丁,通过本补丁能够将游戏的语言...
赚钱网络游戏排名榜
2025/11/12 03:55
如何用阅读赚钱
2025/11/09 10:50
凤楼兼职信息zip
2025/11/21 15:28
娱乐圈棋牌官网
2025/11/15 05:23
硬盘挖矿一天赚多少钱
2025/11/05 15:18
龙虎棋牌房卡批发
2025/11/15 07:49
棋牌手游赚钱游戏
2025/11/12 10:22
dnf搬砖地图
2025/11/16 15:48
大概做什么兼职一天有200多
2025/11/21 01:31
保险师app可以赚钱吗
2025/11/07 21:58
夏季最暴利小吃
2025/11/16 09:20
怎么抖音带货赚钱
2025/11/19 15:58
喜洋洋棋牌下载
2025/11/16 00:02
手机赚钱提现的游戏
2025/11/18 23:47
兼职工作青岛
2025/11/21 23:36
兼职工作青岛
2025/11/21 23:36更新
幸福新芜app是一个新芜本地智慧生活服务平台,用户可以通过软件获得周边生活服务信息,体验智慧移动智能生活!软件介绍你还在因为没时间做早餐,饿着肚子赶去工作吗?工...
支持 ( 125 ) 盖楼(回复)
支持 ( 151 ) 盖楼(回复)
支持 ( 167 ) 盖楼(回复)
支持 ( 93 ) 盖楼(回复)
支持 ( 56 ) 盖楼(回复)
支持 ( 34 ) 盖楼(回复)
支持 ( 153 ) 盖楼(回复)
支持 ( 53 ) 盖楼(回复)
支持 ( 14 ) 盖楼(回复)
支持 ( 73 ) 盖楼(回复)
支持 ( 186 ) 盖楼(回复)
支持 ( 124 ) 盖楼(回复)
支持 ( 145 ) 盖楼(回复)
支持 ( 17 ) 盖楼(回复)
支持 ( 41 ) 盖楼(回复)
支持 ( 198 ) 盖楼(回复)
支持 ( 173 ) 盖楼(回复)
支持 ( 114 ) 盖楼(回复)
支持 ( 54 ) 盖楼(回复)
支持 ( 163 ) 盖楼(回复)