使用microsoftspy++工具可以检查系统中所有窗口的层次关系,查看其属性遍历窗口,捕捉并查看特定窗口的消息。查看任意windows界面的handle,caption,class信息.另外DELPHI和BCB里有一个WINSIGHT好像和SPY++差不多。饥饿鲨世界联机版下载-饥饿鲨世界游戏联机版4.3.0 安卓最新版
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的图标至目标窗口即可.
球天下能买球吗 博辉亚新现状 平阳亚博徽章 老虎机体育 888体育彩票展开内容
邮箱密码破解-邮箱密码破解软件升级版2.0 绿色版
百万萌娘H手游变态版下载-百万萌娘H手游变态版1.1.1 安卓最新版
得力标签打印机驱动清除工具-得力标签打印机驱动删除工具2020.3 绿色免费版
人教版三年级下册语文课件-三下语文园地一ppt课件免费下载【小学三年级语文】
牧羊人之心百度版-牧羊人之心百度版1.10.1最新版
topaz denoise ai汉化破解版下载-Topaz DeNoise AI(图片降噪软件)2.3.4 中文破解版
代驾达人2.6 安卓最新版
节奏大师歌曲包下载2014-节奏大师歌曲包大全1.0 官方最新版
鲨鱼模拟狙击手游下载-鲨鱼模拟狙击1.0.0 安卓版
美丽拍滤镜app下载-美丽拍滤镜5.4.3 安卓最新版
隐藏的物体餐厅手游2.05 安卓汉化版
snaptube软件安装下载-snaptube最新版7.42.0.74250110 最新版
布鲁诺动物健身房(Bruno Animal Gym)0.1 安卓版
龙之战神狂暴版下载-龙之战神狂暴版手游1.0.14876 安卓版
快返修app-快返修(手机上门快修app)1.0.200506 专业版
随大同手游下载-随大同游戏1.0 安卓版
可怕的死尸之夜(Scary Zombie Night)1.0 安卓版
sundy(台湾最受欢迎的橱柜设计软件)V1.0 免费版
磊科随身WiFi驱动程序下载-磊科随身WiFi驱动程序1.1.20140520版
u盘备份工具-邦宁U盘备份器15.03.21.1 绿色版
洋葱骑士团羊驼版下载-洋葱骑士团2小游戏2.0.0 羊驼版
王城争霸游戏下载2017-王城争霸手游1.0 官网最新版
口袋田园红包版下载安装-口袋田园app1.4.5 最新版本
千云物流司机端app下载-千云司机端app2.4.58 安卓版
路路通时刻表最新版下载-路路通app5.2.2.20251111 中文免费版
Mysql workbench中文版下载-Mysql workbench数据库设计工具8.0.28 CE免费版
7.7/1,554.6M
Mysqlworkbench数据库设计工具是一款非常实用的数据库设计类管理工具,你可以直接设计自己喜欢的数据库,让你的数据快速的完成,各种数据都能让你快速的发展...
8.2/621.6M
公交行app是一款超级强大的公交行程软件,用户下载这款软件能够再上面了解到非常丰富的公交线路信息,能够实时了解公交发车时间和公交车实时地点,更方便的看到还有几站...
幼儿园教师中国梦演讲ppt模板-幼儿园教师中国梦演讲ppt模板免费下载【恢弘大气】
10.0/102.3M
幼儿园教师中国梦演讲ppt模板,是一份非常大气磅礴的主题ppt模板。给人一种昂扬向上的恢弘大气之感。下面还给大家带来了幼儿园教师中国梦演讲稿范文呢,希望有需要的...
约翰尼·格拉夫:未被选中之人下载-约翰尼·格拉夫:未被选中之人免安装硬盘版
9.6/1,593.8M
约翰尼·格拉夫:未被选中之人是一款好玩的rpg游戏,他是《约翰尼·格拉夫》第一部作品,在游戏中玩家扮演约翰尼,一名特工,你需要通过自己的努力终止邪恶的计划,喜欢...
车辆定位找车追踪器APP下载官方版-车辆定位找车追踪器2.1.1 最新版
7.8/1,261.7M
车辆定位找车追踪器APP可帮助用户实时精准定位到爱车位置,对于车辆的动态信息完全掌握在用户手中。打开APP,地图界面上,车辆的图标实时跳动,精准展示其行驶轨迹,...
8.7/753.4M
华科众富app是一款全新的发家致富平台,具体的功能和操作模式,都可以进入app后了解。操作简单保障无忧,多样工具收益展现,真金白银指不定哪天就到了,这样的新软件...
8.5/658.1M
莽荒OL是一款非常好玩的手机游戏,这款游戏以上古神话故事为背景,游戏中还原了部分上古神话故事中的人物与情节,并且这款游戏中还有超多的福利。游戏评测今天小编为你们...
9.3/665.3M
百家助手是一款热文采集助手,可以采集网络上热门的文章资源,正式版是需要注册机进行注册的,小编提供的是百家助手注册机,免费破解注册,需要的朋友可以免费下载。百家助...
9.6/47.9M
教师资格证准题库2017是一款非常好用的学习办公软件,教师资格证准题库2017包含2017年最新的教师题库,用户不但可以随时查看考试题目,也可以随时的使用这个题...
洪兴神途vip版下载-洪兴神途手游40.2.20210816 登录器
8.7/434.2M
洪兴神途手游版,80后的集体回忆,神装靠打,爆率9.8!洪兴神途,装备自由交易,挂机一晚神装爆9阶橙装!在洪兴神途游戏里面开局上线就送你免费vip,后期还有大量...
全国助学教育云课堂app下载-全国助学教育云课堂app3.1.6 官方版
7.5/777.1M
一款免费的在线学习软件,全国助学教育云课堂app有很多丰富的学习知识内容,学生可以随时随地的进行线上学习,也可以通过测验来测试自己的学习情况,为全国贫困地区的学...
9.3/676.0M
申银贵金属行情分析系统是一款专业的贵金属行情分析软件,帮助你实时监控市场变化,第一时间掌握价格趋势,让你能够运筹帷幄,是现货、外汇等市场交易产品必备的好帮手。软...
像素火影青春哥版本下载-U鼬神像素火影青春哥1.00.12 最新版
9.3/1,608.3M
U鼬神像素火影青春哥是像素火影的最新版本,该游戏还哦是挺有创意的,将火影格斗场像素化,玩起来别有一番趣味,木叶的苍蓝猛兽凯,被粉丝们称为青春哥,登场了!U鼬神像...
守护者之魂正式版下载-守护者之魂ios版1.2.8.3i 手机最新版
8.6/1,402.2M
守护者之魂是一款非常好玩的大型rpg冒险游戏。玩家将为了拯救世界,解放被封印的守护者,然后与他们一起击退恶魔。集合了收、策略、养成等多种玩法。精美的游戏画风,直...
8.4/1,300.1M
剑荡八荒360版是一款大型的国战游戏,可以让你感受千人同屏战斗的快感,很多的模式都是你没见过的玩法,小编味360手机的用户打包了这款apk.,大家可以下载在模拟...
王牌机战折扣平台版本下载-王牌机战折扣充值版2.9.1 最新版
8.4/639.7M
王牌机战折扣充值版是折扣平台版本,可以免费获得大量福利。王牌机战是一款飞机题材手游,细腻的画面设计、丰富的战机成长体系、建筑制造及数百种弹幕关卡设计王牌机战折扣...
9.9/6.1M
老谢文件批量更名器是一款简单实用的文件批量改名软件,能够给音乐、图片、小说等文件批量重命名。此外,还可以批量的去除或者添加文件名中的字符,使用简单方便。功能特点...
水族馆乐园游戏下载-水族馆乐园Aquarium Land2.0.1 最新版
9.8/1,960.8M
水族馆乐园AquariumLand游戏,是一款非常受欢迎的模拟经营类游戏,经营水族馆,照顾好水族箱中的各种生物,和他们的互动,让这些生物健康的生存,游戏玩法简单...
8.9/1,871.5M
托福超能学app是一款专门为了需要考托福的同学装备的一款托福练习APP,这里汇聚了往年考试真题,内置中英翻译、精听精读,帮助你考高分!亮点功能1.权威托福题库T...
8.9/479.7M
cnmua系列表情包是小编为大家分享的一套非常流行的表情图片,大家在微博进场看到有人发这个表情,表示很生气的亲别人,是一种特别的心情,使用场景特别多,需要的下载...
8.3/1,751.8M
键鼠点击器是款非常实用性的一款键盘鼠标点击的辅助工具,功能强大,采用易语言的编写,实现了循环定点定时的点击功能。键鼠点击器软件亮点1、运行次数指的是列表中的所有...
9.3/1,032.5M
这是一个追女神的游戏,我喜欢上她了游戏攻略和结局分享,你需要通过一些细节和方法来让女神注意到你,每个关卡都有不同的玩法,非常有趣!我喜欢上她了小游戏介绍我喜欢上...
上海贝尔无线猫设置工具(RG200o-CA配置工具)1.2 绿色中文版
8.1/563.6M
电信光纤入户,免费提供了贝尔e8-C终端RG200O-CA(俗称“光猫”),据产品简介称,该终端具有自动拨号、无线路由等功能。1、自动检测e8ehome账号是否...
银河战甲 app 下载-银河战甲(Galaxy ZEGA)客户端1.0 官方最新版【智能对战坦克】
9.5/449.4M
应该来说很多的大人或者是小孩子都是非常的喜欢各种各样的模型的,特别是最近的银河战甲系列的模型更是心动不已,现在买了银河战甲的朋友,就赶快往自己的手机上下载下面的...
9.6/1,475.1M
广东众巢网络有限公司打造的一款餐饮产业共享软件,众巢餐盟app汇集了众多的美食平台,分类详细,搜索周围美食商家,介绍都非常详细。官方介绍改变餐饮行业生态模式,凝...