打开microsoftspy++,在工具栏选择Find工具,在弹出的windowsearch窗口中拖动Findertool的图标至目标窗口即可.街机水浒传手机版棋牌
使用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);
至此,基本操作实现。其实我觉得,只要做的好,完全可以自己做一个界面来,取
代它的界面。
展开内容
9.3/1,129.0M
小球看看是国内首款具有远程视频智能看护和安防功能的软件。可以远程监控你要监控的地方,给你的家里安全的保障!小球看看软件应用在手机或平板上通过小球看看访问智能看护...
9.1/201.4M
三国志大战手游国服版是一款由世嘉官方授权的一款国产游戏,该游戏和之前官方推出的三国志大战口袋版的游戏内容将会不同,下面小编就为大家带来三国志大战手游国服版下载。...
9.1/332.7M
极迅路由APP是一款针对极迅游戏路由器研发的控制软件,通过链接极迅游戏路由器WIFI,可以实现操作极迅游戏路由器的上网设置、WIF设定、设备管理、设备限速、网络...
8.0/1,290.0M
腾讯极光工作室打造的妖神记上线了,根据国漫改编的卡牌游戏,高度还原了动漫,浓郁的中国风元素,丰富的游戏剧情,玩家都可以通过此游戏体验到,游戏中的配乐是由日本音乐...
8.0/397.6M
樱花迷你秀模拟器是一款很好玩的角色扮演模拟游戏。玩家将在游戏中重新体验校园生活,海量的服装可以自由选择,你可以和喜欢人物进行互动。多种游戏模式,极高的自由度,给...
8.0/748.0M
您还在为资产无法管理而烦恼吗?您还在为办公用品混软而苦恼吗?资产及办公用品管理系统可以为你解决这方面的烦恼。资产及办公用品管理系统功能介绍资产及办公用品管理系统...
9.2/182.2M
喜欢使用手机上网的朋友,你是不是觉得自己的手机上网总是不怎么方便了,想体验更加方便的上网,就需要给自己的手机安装一款1616手机上网导航,给你的上网提供全方面的...
9.2/1,916.1M
移动加密宝是专门针对U盘和移动硬盘配备的加密软件,它简单好用,全方位为你的数据保驾护航。移动加密宝”简单易用,安全性高,加密速度极快,是优盘和移动硬...
9.4/842.4M
建造AR实景软件是款AR全景动画的学习软件,大大的满足了建筑行业相关人群的使用,在最大程度上帮助他们更好的进行绘画。建造AR实景软件特色AR技术先人一步,进入末...
8.0/454.0M
一款休闲的火箭发射游戏,RocketInc(火箭公司),你需要打造速度超级快的火箭,并且要不断的进行升级,飞向更远的太空。游戏玩法目的就是打造世界上最好的火箭建...
7.5/1,506.3M
一周节目回放(电视回放软件)是一款小巧免费的电视节目回放软件。软件支持CCTV以及全国各大卫视节目近一周的内容回放,不落下一分钟的内容,完美回放,效果清晰不卡顿...
9.1/173.0M
剑魄王朝,一款大型仙侠题材角色扮演手游。游戏打造热血仙域,超大仙盟自由探索,丰富的职业角色任你体验,还能闯荡仙域,挑战BOSS,解锁无限神装,开启你的修仙精彩。...
9.8/1,327.9M
究极宝贝GM免费刷充版游戏玩法简单,适合休闲玩家,容易上手。画面和玩法都很赞,福利也很到位。刷副本掉真充卡碎片,可以换真充,不过有获取上限,初始每天是1000的...
7.5/226.7M
maimai可视化制谱器是一款可以为maimai做音乐谱的软件,这款应用能够帮助广大用户带来特别的制谱体验,在这里随时都是能够导入音乐制谱的,整体的操作也是比较...
7.9/1,958.3M
三国杀移动版oppo账号版是oppo渠道服最新版本。三国杀移动版oppo账号版在这款游戏中,你可以指挥着三国中鼎鼎有名的武将如诸葛亮,关羽等为你战斗,还有神话传...
9.5/1,512.1M
BorlandDelphi8.0光盘版本人亲测,在xp上面可以安装,但是注册机怎么搞都打不开,但是在win7上正常。BorlandDelphi8.0光盘版要安装...
9.8/460.6M
云秒剪APP是一款定位“好物混剪”的免费手机视频剪辑工具,主打高效、智能的视频二次创作,尤其适配好物分享、带货宣传等场景,同时满足日常Vlog剪辑需求,而且基础...
8.0/747.0M
龙游系统大师是龙游优化精灵的升级版本,集垃圾清理、系统修复、系统优化、综合于一体的软件。可以辅助各种杀毒软件全面优化您的电脑,龙游系统大师是您身边的电脑系统维护...
8.1/709.5M
鑫湖医院ios版是一款专门针对患者提供的一款掌上医疗软件,用户可以在这里进行诊前咨询,一键挂号,线上支付等功能,大大的方便了你的看病效率!软件介绍好医院(诊所)...
9.4/1,039.1M
一款非常唯美的旅游软件,这里有很多旅游爱好者分享他们的宁夏之旅,专业的功能,支持查看景区门票,导游信息,旅游路线,酒店等等!软件介绍“游宁夏”是宁夏丝路风情旅游...
7.7/282.1M
九世轮回是一款非常好玩的修仙手游,这款游戏中玩家有霸气的坐骑,炫酷的神装翅膀,还有漂亮的仙女陪你闯荡修真界。喜欢的朋友就来东坡下载吧。游戏介绍突破传统玩法,实时...
8.7/1,861.4M
大姨妈小助手专为女性朋友打造的,给你带来全方面的呵护,为你的健康安全提供更多的保证!如果你的手机上还没有这款软件的话,就赶快来下载使用大姨妈小助手吧!大姨妈小助...
8.6/1,419.1M
智行云搜是一款个性化智能交通移动应用软件。该系统利用遍布南京市主次干道的500多个监控点,提供由实景监控照片和电子地图定位组合而成的实时路况信息。此外,还结合了...
8.5/1,068.3M
虾哔哩app是一款聊天社交软件,里面的聊天都是匿名的,用户可以创建自己的圈子和有缘人进行聊天,还可以拍摄有趣的小视频。虾哔哩功能介绍小视频拍摄分享精彩时刻,发现...
7.9/1,911.3M
DiskMagik是一款简单强大的磁盘碎片整理工具,完美支持win10系统,虽说是英文版,但是并不影响使用,不会用小编也提供了教程!小编这里也提供了软件的激活码...