2012-11-02 83 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'到树视图控件不会返回任何有趣的内容。) –