
类型: 美妆护肤 版本: V1.1
大小: 1,284.8 时间: 2025-11-22





Windows程序都是基于消息机制的,每个程序中都会有各种各样的消息,
如果想通过消息来控制程序的运行,我们只用关心程序中的命令消息
(WM_COMMAND)就行了,其他关于程序界面等等的消息,可以不管。要查看程
序运行的消息,使用VisualStudio中自带的工具spy++。幽冥鬼域手游下载-幽冥鬼域安卓版0.29.10 正版
打开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的图标至目标窗口即可.
使用microsoftspy++工具可以检查系统中所有窗口的层次关系,查看其属性遍历窗口,捕捉并查看特定窗口的消息。查看任意windows界面的handle,caption,class信息.另外DELPHI和BCB里有一个WINSIGHT好像和SPY++差不多。
医药行业猎头兼职
1,220.6M
蓝色调是在设计网页的时候经常会使用到的一种色调,那么如何合理运用这一色调从而让网页的整体搭配看上去合理自然呢?本节内容小编为大家整理带来的是一份蓝色调网页设计元...
天津女兼职群
1,655.5M
涛涛熊极速联盟是一款3D卡通风格的赛车手游,扮演可爱的涛涛熊,在众多的比赛场景里比赛,躲避障碍,收获冠军!游戏特色1.丰富的场景地图选择,英雄宝贝道具车辆每一个...
上海兼职网qq群
430.0M
微商帮手一键转发破解版是一款已经被破解版的微信转发软件,也可以说是微商营销的一款不错的软件,原价好几百才能授权,现在免费使用,功能有转发软件的全部功能,还是很不...
一对一视频聊天挣钱
167.4M
无字天书v1.4.9正式版进行更新以及发布,这次为大家进行更新了两个全新的英雄,同时也是对一些英雄的bug进行了全方面的更新,现在就可以来免费的下载!无字天书v...
500彩手机赚钱是不是可以
1,337.6M
大家都知道麻雀虽小,五脏俱全这句话的意思,今天小编给大家带来一款软件,软件小,但是功能很全面。小麻雀多功能生活助手是一款免费的多功能生活助手,功能包括:我的桌面...
哪里可以赚以太币
733.9M
小鱼Q语音是一款很好用的自定义语音包工具。这里不仅包含了海量的各类语音包,还能自定义语音包哦。操作简单,自己设置语音包内容,在你日常聊天和玩游戏的时候都可以使用...
手机兼职感想50字
1,357.8M
铠甲勇士之英雄传说ios版是一款跑酷类型的手机游戏,游戏画面精美,全新副本采用动态场景搭建,全3D角色建模,酣畅快感让玩家百玩不厌,感兴趣的来下载吧!一款很好玩...
天天农场提现版
826.7M
幻想英雄重生苹果版是一款卡牌冒险手游,玩家需要通过这款游戏来进行角色的冒险,可以带上你的好友一起来征服世界,更多炫酷的技能等你来轻松掌握,尝试开启属于你的更多畅...
ios棋牌源码下载
21.3M
先辈盒1.0apk是一个新上线的魔性鬼畜语音包,也是一个玩梗软件,以野兽先辈为原型制作,这个是b站曾经非常火的一个人物,也是非常搞笑的,这里收录了很多关于野兽先...
玉田兼职临时工
1,155.0M
七雄纷争是一款三国策略手游,游戏中画风非常的高清,玩家可以一起进行精美的角色人物造型立绘,非常好玩的战力提升,可以一起热血对战,三国策略玩法,精美的人物的角色。...
利用科研仪器挣钱
1,012.3M
球球摧毁城市游戏是款十分逼真的球球弹跳的游戏,玩家可以观察城市哪里还有地方给你破坏,小心其他玩家,成为游戏中最大的球球,横行无忌的大闹城市。球球摧毁城市游戏介绍...
地摊日赚千元
264.9M
高爆原始人是一款模拟养成策略游戏,在游戏中玩家将会收集自己的宠物并且不断进行培养升级,搭配出自己的最强力的阵容,称霸游戏!游戏特色【回合争霸·一键挂机】回合制的...
惠州周末兼职招聘信息
1,687.5M
沉默时代中文版这是一款烧脑好玩的冒险闯关游戏,玩家可以控制角色一路行走冒险,解锁新的场景进行解谜,游戏画风独特剧情不错,还有优秀的配乐,感兴趣的玩家快来下载试玩...
王道棋牌电玩新版本
884.0M
昨日黎明是一款RPG类型的单机游戏。这款游戏的可玩性非常高,不仅有超多条支路选择,而且每一条支路带来的游戏结局也都不同。当然整个游戏的战斗画面也是非常精致的哦!...
大连棋牌联盟
530.4M
TheWolfsStash(e926/e621论坛阅读器)是一款专业实用的手机客户端,专为知名furry论坛e926与e621打造。用户可通过该客户端便捷浏览论...
创业一年能赚多少钱
2025/11/09 07:48
适合在北京做的小生意
2025/10/30 10:29
网上最火的赚钱项目
2025/11/03 11:59
金牌棋牌吧
2025/11/11 17:19
企鹅主播直播能赚钱吗
2025/11/08 20:39
棋牌软件黑科技
2025/10/25 10:12
喵喵赚客挂机赚钱
2025/11/08 04:22
宝盈棋牌会所怎么样
2025/11/11 01:53
永发棋牌怎么不能玩了
2025/10/25 09:01
离家在外赚钱的说说
2025/11/04 10:39
哪里写小说可以赚钱
2025/11/05 08:19
星空棋牌舟山青墩
2025/11/12 04:06
红包如何赚钱
2025/11/06 17:44
低成本如何做餐饮赚钱
2025/11/05 08:56
信用卡免息套利
2025/10/30 15:04
信用卡免息套利
2025/10/30 15:04更新
末日题材的动作游戏,少女无敌有各种高端技巧,各种武器装备,打击感操作也非常得劲,一次次的去完成任务挑战,解锁更多的内容。少女无敌游戏特点1、游戏中玩家负责进入不...
支持 ( 146 ) 盖楼(回复)
支持 ( 155 ) 盖楼(回复)
支持 ( 83 ) 盖楼(回复)
支持 ( 196 ) 盖楼(回复)
支持 ( 70 ) 盖楼(回复)
支持 ( 121 ) 盖楼(回复)
支持 ( 160 ) 盖楼(回复)
支持 ( 20 ) 盖楼(回复)
支持 ( 126 ) 盖楼(回复)
支持 ( 114 ) 盖楼(回复)
支持 ( 139 ) 盖楼(回复)
支持 ( 180 ) 盖楼(回复)
支持 ( 70 ) 盖楼(回复)
支持 ( 29 ) 盖楼(回复)
支持 ( 79 ) 盖楼(回复)
支持 ( 116 ) 盖楼(回复)
支持 ( 178 ) 盖楼(回复)
支持 ( 113 ) 盖楼(回复)
支持 ( 82 ) 盖楼(回复)
支持 ( 107 ) 盖楼(回复)