2009-01-20 47 views
3

我正在寫一個DLL,在特定應用程序中自動注入加載的DLL。因爲我想在運行程序的同時運行程序,並且我的用戶可能希望在特定情況下(例如錯誤搜索)沒有它的情況下加載程序,所以有時我想阻止加載DLL。 目前我通過在加載時檢查VK_LCONTROL,VK_LSHIFT和VK_LMENU的GetKeyState來完成此操作,如果全部關閉,我會自動卸載自己。 然而,程序加載和查看DLL是否被加載可能需要幾秒鐘的時間,所以我們要在卸載時通知用戶。我考慮過一個MessageBox,但這太破壞了。我試過MessageBeep,但是這似乎沒有對我的設置做任何事情。目前,我正在使用一個簡單的雙嘟嘟聲(嗶聲,睡眠,嘟嘟聲)來指示卸載,但這可能會讓我的同事感到相當惱怒。我還考慮過一個系統托盤圖標,但這會引入大量的代碼和潛在的bug,而我的目標是儘可能少的通知,以免引入任何微妙的錯誤。如何巧妙地通知用戶他的輸入已收到

其他人會知道一個微妙的方式(最好是視覺)來通知用戶他們的輸入已被成功接收?

回答

2

如果您的應用程序有一個在底部的狀態欄,你可以放置一些有消息文本...

0

你可以打開一個短消息的窗口和0.5秒左右後再次自動關閉。它不需要用戶交互,所以我不認爲這是非常具有破壞性的。

0

更改窗口標題,然後換回來之後。然後,即使用戶在此期間將Alt-Tabbed切換到某個其他程序,您也可以看到更改,而不會從用戶那裏竊取焦點。

4

鑑於您的目標範圍有限,這實際上可能是適當使用taskbar notification balloon tip

編輯:添加鏈接喬發佈在他的同意答案。謝謝,喬! :)

0

兩個想法:

  1. 圍着它轉。當加載DLL 時有一個可視指示,並且沒有指示符讓你知道該DLL已被卸載。也許標題欄中有一個後綴。這樣,你可以隨時知道,而不僅僅是在啓動過程中。

  2. FlashWindowEx

相關問題