東坡下載:內(nèi)容最豐富最安全的下載站!

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

編程相關(guān)破解相關(guān)編程工具反編譯安裝制作程序源碼軟件補(bǔ)丁數(shù)據(jù)庫(kù)Visual Studiovc++visualbasicdreamweaver

首頁(yè)編程開發(fā)編程相關(guān) → Microsoft Spy++ 9.10 中文綠色版

Microsoft Spy++

Microsoft Spy++9.10 中文綠色版

  • 大。1.9M
  • 語(yǔ)言:中文
  • 平臺(tái):WinXP
  • 更新:2015-06-03 10:58
  • 等級(jí):
  • 類型:編程相關(guān)
  • 網(wǎng)站:http://sfsensi.com
  • 授權(quán):免費(fèi)軟件
  • 廠商:
  • 產(chǎn)地:國(guó)產(chǎn)軟件
好用好玩 50%(0)
坑爹 坑爹 50%(0)
軟件介紹軟件截圖相關(guān)軟件軟件教程網(wǎng)友評(píng)論下載地址

相關(guān)推薦: Spy++ Microsoft Spy++

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

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

    Spy++使用方法

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

    打開spy++,選擇 spy|Windows,然后就會(huì)顯示出當(dāng)前的所有窗口,一
    些主窗口中的字窗口也會(huì)顯示出來(lái),比如說(shuō)工具欄窗口,編輯窗口等等。在
    其中找到目標(biāo)窗口。

    以下是我運(yùn)行spy++時(shí)顯示的部分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識(shí)別的結(jié)果)

    選擇FineReader窗口,點(diǎn)擊右鍵,彈出菜單中選擇“Messages”,即可開始
    監(jiān)聽該窗口的消息。你要是實(shí)際操作一下就會(huì)發(fā)現(xiàn),消息非常多,根本無(wú)法從中
    找到自己想看的消息。為了選出我們想看的消息,我們需要對(duì)消息進(jìn)行過(guò)濾。選擇
    Messages|Options,彈出菜單中選擇Messages Tab頁(yè),可以看見很多消息過(guò)濾選項(xiàng)。
    我想監(jiān)聽WM_COMMAND消息,所以我Clear All之后,只選擇General消息。

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

    以下是我在spy++中監(jiān)聽到的消息,其中有一個(gè)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識(shí)別的結(jié)果)

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

    在spy++中監(jiān)聽到的另外一個(gè)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識(shí)別的結(jié)果)

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

    既然可以查看到程序中消息的ID及消息的參數(shù),那么我們可以自己編寫
    程序,向被控制的程序發(fā)送對(duì)應(yīng)的消息,從而控制程序的運(yùn)行。

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

    在我的程序中,目標(biāo)程序?yàn)镕ineReader,打開程序的代碼如下:
    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失敗!");
    }

    第二步,找到目標(biāo)窗口,獲得目標(biāo)窗口的句柄
    CWnd* pWnd = NULL;

    //可能程序啟動(dòng)較慢,需要嘗試多次才能找到目標(biāo)窗口
    while(pWnd == NULL)
    {
    Sleep(1000);
    pWnd = FindWindow(NULL, "Batch - ABBYY FineReader 7.0 Professional
    Edition");
    }

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

    進(jìn)行這些操作之后,F(xiàn)ineReader識(shí)別之后,就可以直接從剪貼板得到識(shí)別結(jié)果了,
    相關(guān)代碼如下
    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, "識(shí)別結(jié)果");
    GlobalUnlock(hglb);
    }
    }
    EmptyClipboard();
    CloseClipboard();

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

    PC官方
    安卓官方手機(jī)版
    IOS官方手機(jī)版

    Microsoft Spy++截圖

    下載地址

    Microsoft Spy++ 9.10 中文綠色版

    熱門評(píng)論
    最新評(píng)論
    第 1 樓 廣東河源聯(lián)通 網(wǎng)友 客人 發(fā)表于: 2014/3/18 17:16:01
    是一個(gè)非常好的查看Windows操作系統(tǒng)的窗口、消息、進(jìn)程、線程信息的工具,簡(jiǎn)單易用,功能強(qiáng)大(Delphi也提供了一個(gè)類似的工具

    支持( 0 ) 蓋樓(回復(fù))

    發(fā)表評(píng)論 查看所有評(píng)論(1)
    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)

    編輯推薦

    本類軟件必備

    編程UltraEditvc++6.0Notepad++編譯VBILSpyHopper數(shù)據(jù)MySQLoracleaccess設(shè)計(jì)DreamweaverfireworksFlash

    報(bào)錯(cuò)

    請(qǐng)簡(jiǎn)要描述您遇到的錯(cuò)誤,我們將盡快予以修正。

    轉(zhuǎn)帖到論壇
    輪壇轉(zhuǎn)帖HTML方式

    輪壇轉(zhuǎn)帖UBB方式