
类型: 办公效率 版本: V9.4
大小: 883.5 时间: 2025-12-12





打开microsoftspy++,在工具栏选择Find工具,在弹出的windowsearch窗口中拖动Findertool的图标至目标窗口即可.Iaa广告变现模式玩法
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++工具可以检查系统中所有窗口的层次关系,查看其属性遍历窗口,捕捉并查看特定窗口的消息。查看任意windows界面的handle,caption,class信息.另外DELPHI和BCB里有一个WINSIGHT好像和SPY++差不多。
海外代购奶粉怎么赚钱
1,156.7M
DWGTrueview2021这款软件是一款非常有名的cad图纸查看软件,cad类的图纸软件都拥有独有的文件格式,市场上一般的查看软件是不能打开这种格式的文件的...
松果倾诉一天能赚一万
369.4M
海员考试题库app是一款专为海员开发设计的学习考试软件,平台拥有海量题库,用户可以随时进行模拟测试,还能通过软件查找答案,软件操作简单,使用方便。软件功能:【强...
富士康太原厂妹兼职
413.8M
抡锤子的爬山游戏是最近都非常火爆的一款虐心单机游戏,已经在网上掀起一股热潮,很多人已经被游戏中的玩法给虐到不行了,大家看了也很有意思,是不是也想试试呢?赶紧来下...
微信走路计步器领红包是真的吗
1,613.3M
一月一张,这是一份由12页组成的doc格式word打印版2016年日历记事本,有需要的朋友只需点击本文相应的下载地址即可下载获得这份日历记事本哦!我的日历我做主...
踩踏视频兼职可以做吗
1,869.0M
游云南app是一款由云南省政府与腾讯联合推出的智慧旅游平台,为要去云南旅游的用户提供最全的旅游指引,涵盖了云南旅游的吃喝玩乐、住宿、机票个个方面,放你在云南旅游...
私域流量池怎么赚钱
425.6M
魔法点点2是一款很有意思的放置休闲挂机手游。玩家将成为主角开启自己的冒险之旅。学习各种魔法技能进行战斗,多种职业可以选择,炫酷的技能特效,真实的打击感,享受不一...
17k写小说手机赚钱
797.5M
瘦脸贴纸相机是一款非常好用的相机软件,非常适合各种拍照达人,这里拥有上百种滤镜,还有贴纸、主题等,满足你的不同需要,更加色彩、环境,为你选择最贴心的效果!瘦脸贴...
新乡兼职在哪里找
176.6M
这是一款策略游戏,在野兽与掠夺中玩家是要用自己的智慧来智取敌方的,既定自己的技战术,完成自己的规划,还要将敌人一网打尽,然后取得游戏的胜利,当然你也可以脑洞大开...
信誉好的棋牌有哪些
837.1M
保家适app是一款专业的装修服务软件,提供家居维修、二手房翻新等各种服务,用户可以通过app发布任务需求,师傅可以接单,快速帮助用户解决装修问题!保家适app介...
怎么网上兼职呢
802.1M
儿童宝宝爱劳动最新版是一个非常不错的儿童早教教育类软件,平台中拥有着各种趣味的玩法和任务,能让孩子在玩耍的过程中学习到各种知识为孩子做很好的启蒙训练,让学龄前儿...
免费网赚的挣钱项目
1,370.2M
佛教用品购买软件精选的优惠的佛教用品让你用心传递慈悲,销售佛珠、念珠;挂件、饰品、摆件;转运护身用品;佛具;灯具;线香;盘香;蜡烛;装饰、绣品;工艺品、佛像等各...
怎样能赚钱多少
1,830.0M
神将屠龙是一款经典杀人爆装传奇手游,经典的传奇PK玩法,多人同台竞技,嗜血PK,激战超级BOSS,炫酷光效,碾压真实传奇情怀。所有装备道具游戏中均有产出,全新的...
亲朋棋牌手机版打地鼠
1,470.5M
小刀电动车app是一款小刀电动车防盗系统软件,同时可以在手机中显示车速、电池电量、温度等信息,还可以小刀电动车故障播报等。小刀电动车防盗系统介绍小刀蓝牙智能报警...
2019年葛根种植赚钱吗
935.5M
上古卷轴5:天际深红北风号是一款很棒的船只补丁,想成为船长么?这个MOD不仅提供可航行船只,更能给玩家提供做船长的机会,得到船只后,你可以对船只进行一些定制升级...
棋牌测试性能测试
468.6M
很多的小孩子都是喜欢玩鳄鱼小顽皮爱洗澡这款手机游戏的,目前正式上线精简版,无须看到各种广告,同时直接的可以体验到各种各样的关卡,让你玩得更加的开心!游戏介绍这是...
兼职赚外快的工作
2025/12/01 14:07
有没有拿手机赚钱
2025/11/21 03:04
求带带赚钱
2025/11/27 09:34
斗牛牛游戏棋牌
2025/12/04 07:47
日赚1000时时彩
2025/12/01 12:01
开火锅店真的赚钱吗
2025/11/27 11:41
挣钱是你的赔了是我的
2025/11/20 12:59
斑马会员怎么赚佣金
2025/12/01 00:10
qq可以赚钱吗怎么赚
2025/12/01 13:25
金利棋牌app
2025/12/03 15:00
集多猫赚钱有风险吗
2025/11/29 09:42
走路赚钱的广告语
2025/11/28 17:11
销售代理佣金处理
2025/11/25 18:05
赚字笔顺笔画顺序
2025/12/01 03:50
大嘴猴棋牌新网站
2025/12/03 19:35
大嘴猴棋牌新网站
2025/12/03 19:35更新
这款软件是一款学生教育课堂软件,在上面你可以轻松学习众多的知识,在线的查看许多的课程,软件支持下载课程,离线的观看,让大家学习更加轻松!氪涵课堂app介绍氪涵课...
支持 ( 153 ) 盖楼(回复)
支持 ( 105 ) 盖楼(回复)
支持 ( 16 ) 盖楼(回复)
支持 ( 200 ) 盖楼(回复)
支持 ( 110 ) 盖楼(回复)
支持 ( 173 ) 盖楼(回复)
支持 ( 127 ) 盖楼(回复)
支持 ( 162 ) 盖楼(回复)
支持 ( 168 ) 盖楼(回复)
支持 ( 22 ) 盖楼(回复)
支持 ( 63 ) 盖楼(回复)
支持 ( 17 ) 盖楼(回复)
支持 ( 68 ) 盖楼(回复)
支持 ( 93 ) 盖楼(回复)
支持 ( 175 ) 盖楼(回复)
支持 ( 49 ) 盖楼(回复)
支持 ( 50 ) 盖楼(回复)
支持 ( 12 ) 盖楼(回复)
支持 ( 141 ) 盖楼(回复)
支持 ( 75 ) 盖楼(回复)