在C#COM客户端中捕获用户输入

时间:2009-09-16 15:45:59

标签: c# c++ com mfc

使用VS2003(.Net 1.1)我们有一个MFC MDI应用程序,它将C#窗口作为COM客户端生成。

我们需要捕获应用程序中的所有用户输入,我们当前正在使用CWinApp :: PreTranslateMessage()来捕获前往MFC窗口的命令,但这显然无法捕获前往C#窗口的消息。 / p>

在C#客户端中捕获所有用户输入的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

你控制C#窗口吗?如果是这样,C#表单有一个WndProc方法,您可以覆盖并过滤那里的消息。

如果这是一个标准的WinForms应用程序,你可以添加一个处理程序到Application.AddMessageFilter来在C#中创建一个消息钩子。 (请参阅我的帖子here。)我不确定这是否可行,因为表单位于MFC应用程序中。