免费体验120秒视频_榴莲榴莲榴莲榴莲官网_2021国产麻豆剧果冻传媒入口_一二三四视频社区在线

東坡下載:內容最豐富最安全的下載站!

幫助|文件類型庫|最新更新|下載分類|排行榜

編程相關破解相關編程工具反編譯安裝制作程序源碼軟件補丁數據庫Visual Studiovc++visualbasicdreamweaver

首頁編程開發編程相關 → Microsoft Spy++ 9.10 中文綠色版

Microsoft Spy++

Microsoft Spy++9.10 中文綠色版

  • 大小:1.9M
  • 語言:中文
  • 平臺:WinXP
  • 更新:2015-06-03 10:58
  • 等級:
  • 類型:編程相關
  • 網站:http://www.jjwgzx.com
  • 授權:免費軟件
  • 廠商:
  • 產地:國產軟件
好用好玩 50%(0)
坑爹 坑爹 50%(0)
軟件介紹軟件截圖相關軟件軟件教程網友評論下載地址

使用microsoft spy++工具可以檢查系統中所有窗口的層次關系,查看其屬性遍歷窗口,捕捉并查看特定窗口的消息。查看任意windows界面的handle,caption,class信息.另外DELPHI和BCB里有一個WINSIGHT好像和SPY++差不多。

打開microsoft spy++,在工具欄選擇Find工具,在彈出的window search窗口中拖動Finder tool的圖標至目標窗口即可.

Spy++使用方法

Windows程序都是基于消息機制的,每個程序中都會有各種各樣的消息,
如果想通過消息來控制程序的運行,我們只用關心程序中的命令消息
(WM_COMMAND)就行了,其他關于程序界面等等的消息,可以不管。要查看程
序運行的消息,使用Visual Studio中自帶的工具spy++。

打開spy++,選擇 spy|Windows,然后就會顯示出當前的所有窗口,一
些主窗口中的字窗口也會顯示出來,比如說工具欄窗口,編輯窗口等等。在
其中找到目標窗口。

以下是我運行spy++時顯示的部分spy++窗口,其中有FineReader窗口
001702A6 - tooltips_class32
000C01FE - "M" MSCTFIME Ul
001C02A0 - "Default IME" IME
002401DO - tooltips_class32
003B009A - "Microsoft Spy++ - [Windows 2]" Afx:100000:0:10011:0:2600515
00300244 - "M" MSCTFIME Ul
002E032E - FineReaderTipWindowClass
004F02B4 - tooltips_class32
00410254 - "Untitled batch - ABBYY FineReader 7.0 Professional Edition"
FineReader7MainWindowClass
003E0370 - "DDE Server Window" OleDdeWndClass
005002DC - ComboLBox
000D02B6 - ComboLBox
00270320 - ComboLBox
00AB0366 - ComboLBox
00A000A4 - tooltips_class32
(注:以上是使用print screen抓圖,然后使用FineReader識別的結果)

選擇FineReader窗口,點擊右鍵,彈出菜單中選擇“Messages”,即可開始
監聽該窗口的消息。你要是實際操作一下就會發現,消息非常多,根本無法從中
找到自己想看的消息。為了選出我們想看的消息,我們需要對消息進行過濾。選擇
Messages|Options,彈出菜單中選擇Messages Tab頁,可以看見很多消息過濾選項。
我想監聽WM_COMMAND消息,所以我Clear All之后,只選擇General消息。

以上設置好之后,開始監聽消息,然后到FineReader窗口中點擊Read快捷按鈕
(安該按鈕之后,FineReader開始識別當前選擇的圖片),然后回到spy++,監聽到
的消息仍然不少,但是可以找到我們要查看的消息。如果你只按了一個按鈕或者一個
菜單,在監聽到的消息中間,你應該可以找到兩個WM_COMMAND消息,一個發送出去的
消息,一個返回的消息,相信信息見下文。

以下是我在spy++中監聽到的消息,其中有一個WM_COMMAND消息
<00039> 00410254 R...................WM_NOTIFY
<00040> 00410254 S...................WM_COMMAND v/NotifyCode:0 (sent from a
menu] wlD:4O2O3
<00041> 00410254 S...................WM_GETTEXT cchTextMax:512
lpszText:0012E200
<00042> 00410254 R...................WM_GETTEXT cchCopied:72
lpszText:0012E200 f'U'l
(注:以上是使用print screen抓圖,然后使用FineReader識別的結果)

雙擊這個WM_COMMAND消息,可以看見關于這個消息的詳細信息,如下
Window Handle 001F00AA //FineReader窗口句柄
Nesting Level 2
Message 0111 (Sent) //WM_COMMAND消息ID,這個消息是發送出的消息
WM_COMMAND
wParam 00009D0B //WM_COMMAND消息的兩個參數
lParam 00000000

在spy++中監聽到的另外一個WM_COMMAND消息
<00089> 00410254 S...................WM_GETTEXT cchTextMax:512
lpszText:0012E1E0
<00090> 00410254 R...................WM_GETTEXT cchCopied:71
lpszText:0012E1E0 (V")
<00092> 00410254 S...................WM_NOTIFY idCtrl:177 pnmh:0012F988
(注:以上是使用print screen抓圖,然后使用FineReader識別的結果)

雙擊這個WM_COMMAND消息,可以看見關于這個消息的詳細信息,如下
Window Handle 001F00AA //FineReader窗口句柄
Nesting Level 2
Message 0111 (Return) //WM_COMMAND消息ID,這個消息是的消息
WM_COMMAND
wParam 00009D0B //WM_COMMAND消息的兩個參數
lParam 00000000

既然可以查看到程序中消息的ID及消息的參數,那么我們可以自己編寫
程序,向被控制的程序發送對應的消息,從而控制程序的運行。

第一步,在自己的程序中打開目標程序,使用一下API,具體請查看MSDN。
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);

在我的程序中,目標程序為FineReader,打開程序的代碼如下:
HINSTANCE hRet = 0;
hRet = ShellExecute(m_hWnd,
NULL,
"D:\\Program Files\\ABBYY FineReader 7.0 Professional
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 - ABBYY FineReader 7.0 Professional
Edition");
}

第三步,向目標窗口發送消息。
可以使FineReader開始運行時,自動打開最后一次運行的一個Batch,所以我們只用
發送消息,
讓FineReader開始識別就可以了。通過spy++可以查看到FineReader識別的WM_COMMAND
信息如下
Message 0111 (Sent)
WM_COMMAND
wParam 00009D0B
lParam 00000000
按以下方式向FineReader發送這個消息,使用SendMessage,等待消息返回后,再進
行下一步操作
::SendMessage(pWnd->GetSafeHwnd(), 0x0111, 0x9D0B, 0 );
FineReader識別完成之后,可以選擇把結果保存為文件,或者發送到剪貼板,我選
擇的是讓其
把識別結果發送到剪貼板。同樣使用spy++監聽消息及其參數,然后發送對應的消息,
如下:
Message 0111 (Sent)
WM_COMMAND
wParam 00009DA1
lParam 00000000
::SendMessage(pWnd->GetSafeHwnd(), 0x0111, 0x9DA1, 0 );

進行這些操作之后,FineReader識別之后,就可以直接從剪貼板得到識別結果了,
相關代碼如下
if (!IsClipboardFormatAvailable(CF_TEXT))
return;
if (!OpenClipboard())
return;

HGLOBAL hglb = GetClipboardData(CF_TEXT);
if (hglb != NULL)
{
LPTSTR lptstr = (char*)GlobalLock(hglb);
if (lptstr != NULL)
{
MessageBox(lptstr, "識別結果");
GlobalUnlock(hglb);
}
}
EmptyClipboard();
CloseClipboard();

第四步,操作完畢之后,關閉目標程序,同樣通過發送消息完成。
最先我以為直接發送WM_QUIT消息就可以了,后來發現不行,用spy++監聽后發現,
應該發送WM_CLOSE消息。
::SendMessage(pWnd->GetSafeHwnd(), WM_CLOSE, 0, 0 );
至此,基本操作實現。其實我覺得,只要做的好,完全可以自己做一個界面來,取
代它的界面。

PC官方
安卓官方手機版
IOS官方手機版

Microsoft Spy++截圖

下載地址

Microsoft Spy++ 9.10 中文綠色版

熱門評論
最新評論
第 1 樓 廣東河源聯通 網友 客人 發表于: 2014/3/18 17:16:01
是一個非常好的查看Windows操作系統的窗口、消息、進程、線程信息的工具,簡單易用,功能強大(Delphi也提供了一個類似的工具

支持( 0 ) 蓋樓(回復)

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)

編輯推薦

報錯

請簡要描述您遇到的錯誤,我們將盡快予以修正。

轉帖到論壇
輪壇轉帖HTML方式

輪壇轉帖UBB方式

免费体验120秒视频_榴莲榴莲榴莲榴莲官网_2021国产麻豆剧果冻传媒入口_一二三四视频社区在线
主站蜘蛛池模板: 欧洲午夜视频| 久操免费在线观看| 黄网站免费在线观看| 国产又粗又长又更又猛的视频| 亚洲日韩乱码久久久久久| 久久国产精品99精品国产| 狠狠色综合网站久久久久久久高清| 欧美最猛性xxxx| 97色伦综合在线欧美视频| 搞av网| 日韩免费视频| 国产精品美女久久久久av福利 | 亚洲色无码一区二区三区| 欧美FREESEX潮喷| 亚洲av无一区二区三区| 国模精品一区二区三区视频| а√最新版在线天堂| 久久久久亚洲av成人网人人软件| 伊人久久大香线蕉AV一区| 人妻巨大乳hd免费看| 午夜免费1000部| 欧美最猛黑人XXXXX猛交| 精品人妻无码区在线视频 | 99久久免费国产精精品| 亚洲愉拍一区二区三区| 国产精品久免费的黄网站| 日日躁夜夜躁狠狠躁| 精品一区二区三区四区在线| 成人年无码AV片在线观看 | 国产一区二区精品久久岳| 国产在线视频www色| 亚洲av无码精品色午夜| 人妻被按摩师玩弄到潮喷| 国产精品www| 91青青国产在线观看免费| 国产网红主播无码精品| 国产精品99久久免费| 国精品无码一区二区三区在线| 同城免费妇女寂寞| 正在播放露脸一区| 成人狠狠色综合|