2012-11-02 97 views
0

我需要攔截SendMessage API以防止某人通過發送WM_GETTEXT從特定窗口獲取文本。所以,請建議我如何做到這一點如何攔截Sendmessage API

+2

你是否擁有上述窗口?如果你告訴我們爲什麼你需要防止這種情況,那麼想出一個合理的解決方案可能會更容易。 – chris

+0

是啊...其實我們正在研究文件保護意味着我們正在處理文件中的數據,所以如果有人試圖通過SendMessage API發送GET_TEXT消息來複制數據,我們現在無法保護,所以我們需要保護數據從SendMessage方法也泄漏.. – user1746087

+0

在不同的用戶會話中運行應用程序。 –

回答

4

最簡單的解決辦法是簡單地繼承目標HWND的窗口過程,並丟棄任何WM_GETTEXT消息,你不調用自己。

+2

或者只是爲所有的'WM_GETTEXT'查詢返回一個空字符串,並讓您的內部文本管理使用私有機制。很多控制已經做到了。 (例如,發送'WM_GETTEXT'到樹視圖控件不會返回任何有趣的內容。) –