2009-07-03 64 views
1

我們有第三方Windows應用程序,我們認爲這對我們的用戶來說太複雜以至於無法有效使用。該應用程序管理我們用來每天掃描3000個文檔的掃描儀。攔截來自其他應用程序的模式對話框彈出式對話框

使用鍵盤可以完全掃描掃描儀應用程序。

因此,我們正在編寫一個簡單的WinForms應用程序,該應用程序具有少量大按鈕,它使用SendKeys和一些Win32 API調用將按鍵發送到掃描儀應用程序。我們計劃將此WinForms應用程序全屏顯示並設置到Z-Order的頂部。

但是,掃描儀應用程序有時會在模態對話框中顯示錯誤消息(例如掃描儀卡紙等)。我們需要在我們的WinForms應用程序中顯示這些錯誤消息。

任何人都可以提出一種技術,可以讓我們捕獲這些錯誤信息並將它們展示給我們的用戶嗎?

回答

2

不知道這是否是最有效的方法,但假設您有一種方法來識別這些錯誤消息,您可以有一個循環,每隔一段時間將遍歷所有打開的窗口,然後查找其中的一個錯誤窗口。

探索的另一個可能的方向是注入你的DLL到另一個應用程序,並觀看消息通過。我不能肯定地說你會發現這些信息,目前我不能做進一步的研究,但我相信它應該是可能的。當這樣的消息被彈出時,只需Spy ++另一個應用程序,並識別相關的消息。

+0

我在那裏 - 因爲模態窗口總是有相同的標題,我可以使用定時器的FindWindow來獲取它。現在我需要將它設置爲與我的WinForms應用程序窗口有關的任何想法......關於如何? – 2009-07-03 15:52:39